Google アナリティクス ウェブ + アプリ イベント設定: エラー「gtag が定義されていません」質問する

Google アナリティクス ウェブ + アプリ イベント設定: エラー「gtag が定義されていません」質問する

ウェブサイトのGoogle Analytics App+Webのeコマースイベント設定を設定しようとしています。ドキュメントを参照してください。ここ

eコマース構成には多くのカスタム コードがあるため、一般的な GA App+Web Web イベント テンプレートを使用できません。そのため、この場合は代わりにカスタム HTML タグを使用します。

最初のテストとして、次の単純なイベントを発生させてみました。

<script>

  gtag('event', 'blabla', {
  'test_param1': 'test_value_1'
});

</script>

ただし、イベントは GA に正しく送信されず、代わりにコンソールに次のエラーが返されます。

キャッチされない参照エラー: gtag が定義されていません

再現するには、次のページを参照してください。https://www.hema.nl/mooi-gezond/make-up/make-up-accessoires/toilettassen-1/toilettas-11830901.html

追加情報:

  • GA アプリ + Web ベースの初期化は、GA アプリ + Web 構成テンプレート タグを介して GTM 経由で (正常に) 実行されます。
  • また、GA App+Web ウェブイベント テンプレート タグを使用して、GTM 経由で他のいくつかの (単純な非 e コマース) GA App+Web イベントも構成し、これらのイベントは GA に正常に送信されました。

何が問題なのか、なぜコンソール エラーが表示されるのか、なぜイベントが GA に送信されないのか、誰か知っていますか?

ベストアンサー1

短い答え

GTM GA アプリ + ウェブ タグに加えて、gtag() を定義するために次のコードを追加する必要があります。

<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
</script>

長い答え

公式文書によると(詳細はこちら) これはサイトに含める必要があるコードです:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=MEASUREMENT_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'MEASUREMENT_ID');
</script>

このタグが付いた Web サイトを調べたところ、GTM が最初の行を挿入していることがわかりました。これは、分析を機能させるのに十分です。ただし、他の行は追加されていません。その一部は、gtagアナリティクス データ レイヤーに情報をプッシュするための「シンタックス シュガー」としてグローバル関数を効果的に定義しています。

個人的には、これは本当に奇妙だと思います。なぜなら、GTM を使用することは、Web サイトに Google Analytics を追加する最も標準的な方法であり、同じ会社が提供しているからです。

おすすめ記事