Google タグマネージャ(以下GTM)を利用したKARTEタグ導入について解説します。
注意事項
- GTMの利用方法については、Google タグマネージャ ヘルプサイトをご覧ください。
- カートASPをご利用の場合、ご利用のサービスによって設定方法が異なります。
- GTMの利用が開始している状態を前提としたドキュメントとなります。
配信順について
GTMでは配信優先度の数値が大きい順にタグを配信する機能があります。
基本的に、KARTEの計測タグを一番大きな配信優先度とし、それ以外のタグ(ユーザータグやコンバージョンタグ)などは、相対的に小さな配信優先度にして、配信順のコントロールをお願いします。
直書きとの併用について
KARTEの計測タグの一部をGTMで、一部をページに直接記述するといったタグ直書きとの併用はおやめください。 タグの配信順序がコントロールできなくなるため、動作が不安定になるケースが確認されています。
GTMにおけるタグの設定方法
計測タグの設定
左メニューの「タグ」から新規タグを作成。
タグタイプ「カスタムHTMLタグ」を選択。
「HTML」入力欄に「計測タグ」を記述。
ご自身のKARTEプロジェクトの計測タグの取得方法についてはこちら「詳細設定」をクリックし、「タグ配信の優先度」に「10」を設定。
「トリガー」は「All Pages(ページビュー)」を選択。
ユーザータグの設定
ここでは、各サイト側にて出力されたデータをGTMの「Datalayer変数」を利用して、ユーザータグを作成し
KARTEへ送信する方法についてご説明します。
ユーザータグの仕様については、ユーザータグの設置をご覧ください。
ユーザータグを設置するページと送信するデータを決める。
GTMのDatalayer変数へユーザー情報をセットする。
var dataLayer = dataLayer || [];
dataLayer.push({
user_id : 'q1w2e3r4',
name : '軽手 太郎',
email : 'taro.karte@karte.io'
});
GTMにて2で送信した変数を参照する設定をする
メニューの「変数」から「ユーザー定義変数」の「追加」をクリック。
変数名を指定
変数タイプを「ページ変数」の「データレイヤーの変数」を選択。
データレイヤーの変数名に2で設定した各種keyを記述。
「保存」をクリック。
トリガーの作成
- メニューの「トリガー」から「新規」をクリック
- トリガーのタイプ「ページビュー」から「ページビュー」を選択
※ 変数の参照がページビューの段階では出来ない場合は、適宜変更してください。
- トリガーの発生場所「一部のページビュー」を選択。
- 「Page URL / 含む /
DataLayer変数が発生しているページのURL
」を設定 - 「保存」をクリック。
- メニューの「トリガー」から「新規」をクリック
タグの設定
- 「1 タグタイプを選択」より「カスタムHTMLタグ」を選択。
- 「2 タグを設定」の「HTML」入力欄に「ユーザータグ」を記述。
その際、2~3で設定した変数をGTMの参照方法に則って記述。
<script type="text/javascript">
try{
tracker.user({
user_id: "{{ユーザーID}}",
name: "{{氏名}}",
email: "{{メールアドレス}}"
});
}catch(e){
if('tracker' in window){
tracker.track('_error',{
message: e.message
});
}
}
</script>
- 送信する内容は適宜変更してください(日付型の場合はダブルクオテーションを入れない、など)。
- 3の「変数を参照する設定」にて変数名をそれぞれ「ユーザーID」「氏名」「メールアドレス」「誕生日」と設定した場合
- 「詳細設定」をクリックし、「タグ配信の優先度」に「0」を設定。
- 「配信するタイミング」に4で作成したトリガーを指定。
コンバージョンタグの設定
コンバージョンタグの設置には、KARTEへ送信するコンバージョンデータ(購買情報等)の出力設定が必要になります。
ここでは、各サイト側にて出力されたデータをGTMを利用しKARTEへ送信する方法についてご説明します。
コンバージョンタグの構成については、コンバージョンタグの設置をご覧ください。
送信するデータを決める。
KARTEへデータ送信する際は、確実にデータを参照出来るようにしてください。GTMへ送信するデータをサイト側で出力する。
サイト側のシステムにてGTMのdataLayerへ値を挿入する処理を記述します。
<script type="text/javascript">
var dataLayer = dataLayer || [];
var items = [{
item_id: "0001",
name: "KARTE Tシャツ 黒",
price: 5000,
quantity: 1,
category: "catA",
brand: "brandA"
}];
dataLayer.push({
transaction_id : '00001',
revenue : 10000,
items: items
});
</script>
※送信する内容は適宜変更してください。
- GTMにて2で送信した変数を参照する設定をする
ユーザータグとほぼ同じ設定になるため割愛します
上記のコード例でDatalayerを設定していた場合、以下のように定義したとします
transaction_id
revenue
items
トリガーの作成
ユーザータグとほぼ同じ設定になるため割愛しますタグの設定
1. 「1 タグタイプを選択」より「カスタムHTMLタグ」を選択。
2. 「2 タグを設定」の「HTML」入力欄に「ユーザータグ」を記述。
<script type="text/javascript">
try{
tracker.buy({
transaction_id: {{transaction_id}},
revenue: {{revenue}},
items: {{items}}
});
}catch(e){
if('tracker' in window){
tracker.track('_error',{
message: e.message
});
}
}
</script>
※送信する内容は適宜変更してください。
「詳細を設定」をクリックし、「タグ配信の優先度」に「0」を設定。
「配信するタイミング」に4で作成したトリガーを指定。
プレビューモードで設定を確認する
設定が完了したら「GTMのプレビューモード」を利用して、KARTEのタグが正しく配信されていることを確認すると良いでしょう。
以上でGTMを使ったタグ設置は完了です。
ヒント
- サイト側の変数が「ページビュー」や「DOM Ready」で参照出来ない場合は、変数が準備できた段階でGTMのカスタムイベント発生させ、そのカスタムイベントをトリガーにタグを配信してください
- システムの都合上データレイヤー変数を利用出来ない場合は、JavaScript変数などその他変数をご利用ください