KARTEのタグをGTMで配信する場合の方法については、「GTMを利用した導入方法」をご覧ください。

データがうまく取得できていない場合は、「GTMのプレビュー機能」を使って、正しくデータレイヤーの変数がプッシュされていることを確認してください。

特に、以下を確認してください。
(JavaScriptの基本的な知識が必要になるため、エンジニアに確認を依頼してください)

1. サイトのスクリプト中で、データレイヤー変数がpushされていること

GTMのデータレイヤーに、タグで使用する変数が正しくpushされているかを確認します。

  • user_idという名前のデータレイヤー変数に"0001"という値を格納する例
dataLayer.push({user_id: "0001"});

2. GTM側で、変数の設定が行われていること

1.でpushしたのと同じ名前のデータレイヤー変数が、GTM側の変数として登録されていることを確認してください。

  • データレイヤー変数user_idを、GTMの変数ユーザーIDとして登録する例

3. GTMから配信されるタグの中で、GTM側の変数が参照されていること

2.で設定したGTM側の変数が、GTMから配信されるタグの中で、{{GTM変数名}}の形で参照されていることを確認してください。

  • GTMの変数ユーザーIDを、KARTEのユーザータグでuser_idとして送信する例
<script type="text/javascript">
try{
    tracker.user({
        user_id: "{{ユーザーID}}"
    });
}catch(e){
     if('tracker' in window){
         tracker.track('_error',{
            message: e.message
        });
    }
}
</script>

4. データレイヤー変数のpushよりも後にGTMから配信されるタグが発火していること

GTMから配信されたタグが発火したときに、GTMの変数({{変数名}})が参照されます。

この時点で対応するデータレイヤー変数がpushされていないと、正しい値をタグ側で取得することができません。

「データレイヤー変数のpush」の後に「タグ発火」が行われるよう、順番を確認してください。

例えば、データレイヤー側でカスタムイベントを定義し、それをトリガーとして利用することで、順序を制御することができます。

詳しくは、GTMの公式ドキュメントを参照してください。

5. ブラウザのコンソールにエラーが出ていないこと

サイト上でエラーが発生している場合、正しくデータレイヤー変数のpushが行われなかったり、タグの発火がおこなわれなかったりすることがあります。

詳しくはこちらにあるように、Google Chrome上の「Console」タブから関連するエラーが発生していないか確認してください。