検証に問題があるため、開発者がウェブサイトに Google タグ マネージャー (GTM) DataLayers を正しく設定していることを確認しようとしています。
状況は次のとおりです。window.dataLayer.push メソッドを使用して、Web サイトの製品ページに DataLayers をセットアップするよう開発者に依頼しました。彼らはこれをしたと言った。
ウェブサイトで収集されたデータレイヤー名と一致するように、GTM アカウントにすべての適切な変数を設定しました。次に、GTM のプレビュー デバッグ モードに入り、変数がどの製品ページにも入力されていることを確認しました。ただし、これを確認するたびに、変数は「未定義」として表示されました。うーん。
私の開発者は、最終的にはすべて問題ないように見え、製品変数が取得されていることを示す Google Tag Assistant Chrome 拡張機能のスクリーンショットを提供したと言いましたが、同じことがわかりました。
GoogleTagAssistantスクリーンショット製品ページ
この製品ページのソース コードを確認したところ、次のことがわかりました。
<script type="text/javascript">
(function e(){var e=document.createElement("script");e.type="text/javascript",e.async=true,e.src="//staticw2.yotpo.com/vznvXB90INUtUFVnU1036xQfL3T6LgDlAYStvsoA/widget.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})();
</script>
<script>
var toPushToDatalayer = ({"event":"productDetail","ecommerce":{"detail":{"products":[{"name":"Business Basics for Law Students","id":"10040","price":"80.9500","category":null,"magento_id":"36"}]}}}); dataLayer.push(toPushToDatalayer);
</script>
<script type="text/javascript">
//<![CDATA[
var Translator = new Translate([]);
//]]>
</script>
<meta name="msvalidate.01" content="DC61177F62A1EFB53CB064D74B1BB401" />
<meta name="google-site-verification" content="75YqkgTbUbVcW7fqgA9EmUo6lrULtbTDW8urj8TJMo0" />
私は開発者ではないのでwindow.dataLayer.push、ページのソース コードのどこにもこの用語が見当たらないということは、このメソッドが Web サイトに DataLayers を実装するために使用されていないことを意味するのではないかと心配していました。特に、変数はタグ アシスタント ウィンドウに表示されますが、下のスクリーンショットのように、[変数] の下の [GTM プレビュー デバッグ] ウィンドウでは [未定義] として表示されます (ただし、[データ レイヤー] タブには表示されます)。同じページの場合:
だから、私の質問は次のとおりだと思います: 製品ページにデータレイヤー変数が入力されている場合 (TagAssistant のスクリーンショットと GTM プレビュー デバッグのスクリーンショット (上半分) の [データ レイヤー] タブごと)、undefinedGTM プレビュー デバッグの [変数] タブの下に変数が表示されるのはなぜですか?モード (GTM プレビュー デバッグ スクリーンショット (下半分) のように)?
すべてのベースをカバーするために、問題がここにある場合に備えて、これらの製品ページ変数に対して Google タグ マネージャーで変数を設定する方法の例をいくつか示します。
長い投稿で申し訳ありませんが、関連するすべての情報を提供したかったのです。助けてくれてありがとう!