タグマネージャmatomo APIの使い方
概要
matomoのタグマネージャーのAPIの使い方を記載します。
一般的なWeb APIの使い方と同じですが、引数が多くややこしいので忘備録です。
matomoとは
matomoはアクセスログ解析のオープンソースです。matomoの機能の一つにタグマネージャがあります。
タグマネージャはGoogleタグマネージャが有名ですが、今回はソースコードが公開されているmatomoを使いました。
(多分Google Tag Manager APIの記事の方が需要高いだろうけど・・・笑)
タグマネージャとは
ここで言うタグとはコンバージョンタグのことで、HTMLに埋め込んでページビューなどの計測をすることができます。
タグマネージャは、コンバージョンタグを管理するためのツールです。
インターネット広告やSEO関連など、Webマーケティング業界で主に使われています。
タグとは|5分でわかるタグの基本
今さら聞けない、タグマネジメント入門基礎の基礎 - Content Hub(コンテンツハブ) | ナイル株式会社
matomo API
公式ドキュメントからAPIメソッド一覧を確認できます。
タグマネージャのメソッド一覧はこちらです。
検証環境
メソッドの説明
API共通で指定が必要な引数(パラメータ)は以下の通りです。詳しくは公式ドキュメントをご確認ください。
- idSite
- period
- date
- segment
- format
- filter_limit
- token_auth
今回はトリガー作成とタグ作成のみ取り上げます。
実際の管理画面を見ながらだと何の値か理解しやすいです。
管理画面で入力必須のものはAPIでも入力必須です。
管理画面から作成したトリガーやタグをgetContainerTriggers/Tagsメソッドをたたいて実際の値を確認するのも良いと思います。
TagManager.addContainerTrigger
トリガーを作成するメソッドです。
引数は以下のようになります。
- idSite : WebsiteのID
- idContainer : コンテナのID
- idContainerVersion : コンテナバージョンのID
- type : トリガーのタイプ
- name : トリガーの名前
- parameters : 各トリガー固有のパラメータ
- conditions : トリガーの発火条件
TagManager.addContainerTag
タグを作成するメソッドです。
引数は以下のようになります。
- idSite : WebsiteのID
- idContainer : コンテナのID
- idContainerVersion : コンテナバージョンのID
- type : タグのタイプ
- name : タグの名前
- parameters : タグ固有のパラメータ
- fireTriggerIds : 発火するトリガー
- blockTriggerIds : 除外条件のトリガー
- fireLimit : タグ発火の頻度条件
- fireDelay : タグ発火の遅延条件
- priority : タグの優先順位
- startDate : タグの開始日時
- endDate : タグの終了日時
PHPからの使用例
PHPからの呼び出し例は公式に記載がありますが、今回はfile_get_contents関数ではなくcurlを使ってAPIを呼び出します。
参考:APIなどにfile_get_contents()を使うのはオススメしない理由と代替案 - Qiita
トリガー作成とタグ作成のサンプルを以下に書きます。
xxxxの部分は自分のものに置き換えてください。
トリガー作成
<?php
$website_id = xxxx;
$container_id = 'xxxx';
$token_auth = 'xxxx';
$base_url = 'http://xxxx/?module=API';
$url = $base_url
. '&method=TagManager.addContainerTrigger'
. '&format=json'
. '&idSite=' . $website_id
. '&idContainer=' . $container_id
. '&idContainerVersion=1' //Draft Version
. '&type=PageView'
. '&name=api-test3'
. '¶meters='
. '&conditions='
. '&token_auth=' . $token_auth;
$curl = curl_init();
$options = array(
CURLOPT_URL => $url,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
);
curl_setopt_array($curl, $options);
$response = curl_exec($curl);
$result = json_decode($response, true);
if ($response === FALSE) {
die(curl_error($curl));
}
curl_close($curl);
タグ作成
<?php
$website_id = xxxx;
$container_id = 'xxxx';
$token_auth = 'xxxx';
$base_url = 'http://xxxx/?module=API';
$url = $base_url
. '&method=TagManager.addContainerTag'
. '&format=json'
. '&idSite=' . $website_id
. '&idContainer=' . $container_id
. '&idContainerVersion=' . $draft_container_version_id
. '&type=CustomHtml'
. '&name=api-test3'
. '¶meters[customHtml]=<div></div>'
. '¶meters[htmlPosition]=bodyEnd'
. '&fireTriggerIds[0]=1' // $trigger['value']
. 'block_trigger_ids='
. 'fire_limit=unlimited'
. 'priority=' . 999
. 'fire_delay=' . 0
. 'start_date=' . null
. 'end_date=' . null
. '&token_auth=' . $token_auth;
$curl = curl_init();
$options = array(
CURLOPT_URL => $url,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
);
curl_setopt_array($curl, $options);
$response = curl_exec($curl);
$result = json_decode($response, true);
if ($response === FALSE) {
die(curl_error($curl));
}
curl_close($curl);
URLが違うだけなので、何度も呼び出す場合はcurl部分をメソッドに切り出すと良いと思います。
ブラウザからの使用例
Web APIなのでもちろんブラウザからも確認できます。
実装する際にはブラウザからレスポンスを確認しつつ開発するのが良いと思います。
URLでGETリクエストします。
xxxxの部分は自分のものに置き換えてください。
トリガー作成
http://xxxx/?module=API&method=TagManager.addContainerTrigger&format=json&idSite=xxxx&idContainer=xxxx&idContainerVersion=1&type=PageView&name=api-test¶meters=&conditions=&token_auth=xxxx
タグ作成
http://xxxx/?module=API&method=TagManager.addContainerTag&format=json&idSite=xxxx&idContainer=xxxx&idContainerVersion=1&type=CustomHtml&name=api-test¶meters[customHtml]=<div></div>¶meters[htmlPosition]=bodyEnd&fireTriggerIds[0]=1&block_trigger_ids=&fire_limit=unlimited&priority=999&fire_delay=0&start_date=&end_date=&token_auth=xxxx
以上です!
Author And Source
この問題について(タグマネージャmatomo APIの使い方), 我々は、より多くの情報をここで見つけました https://qiita.com/mgmgmogumi/items/c1dba398b1414284e0fe著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .