【问题标题】:Making Sure DataLayer set up correctly确保正确设置 DataLayer
【发布时间】:2018-11-02 16:47:30
【问题描述】:

我正在努力确保我们的开发人员在我们的网站上正确设置了 Google 跟踪代码管理器 (GTM) 数据层,因为我在验证时遇到了问题。

情况如下: 我要求我们的开发人员使用 window.dataLayer.push 方法在我们网站的产品页面上设置 DataLayers。他们说他们这样做了。

我在我们的 GTM 帐户中设置了所有正确的变量,以匹配网站上收集的数据层名称。然后我进入 GTM 的预览调试模式以确保变量填充在任何产品页面上。但是,每次我检查这个时,变量都显示为“未定义”。嗯。

我的开发人员说他们最终看起来一切正常,并提供了一个 Google Tag Assistant Chrome 扩展程序的屏幕截图,表明产品变量正在被拾取,我看到了同样的事情:

GoogleTagAssistantScreenshotProductPage

我检查了这个产品页面的源代码,发现:

<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 可能意味着此方法未用于在网站上实现 DataLayers。特别是因为尽管变量出现在 Tag Assistant 窗口中,但它们在 GTM 预览调试窗口中的“变量”下仍然显示为“未定义”(尽管它们确实出现在“数据层”选项卡下),如下面的屏幕截图所示对于同一页面:

GTMPreviewDebugScreenshot

所以,我想我的问题是:如果我的数据层变量填充在我的产品页面上(根据 TagAssistant 屏幕截图和 GTM 预览调试屏幕截图中的数据层选项卡(上半部分),为什么我的变量在下面显示为 undefined GTM 预览调试模式中的变量选项卡(如 GTM 预览调试屏幕截图(下半部分))?

只是为了涵盖我的所有基础,这里有几个示例说明我如何在 Google 跟踪代码管理器中为这些产品页面变量设置变量,以防问题出在此处:

GTMVariableSetUp

抱歉,帖子太长了,我想提供所有相关信息。提前感谢您的帮助!

【问题讨论】:

  • 感谢您清理帖子!抱歉,我没有太多在这些论坛上发帖的经验。

标签: google-tag-manager data-layers


【解决方案1】:

我认为您的问题在于您的 GTM 设置。要访问说“名称”,您实际上需要这样做...

ecommerce.detail.products[0].name

但上面只会给你第一个产品名称,因为可能有很多产品。

另外仅供参考,您无需为 GTM 中的开箱即用增强型电子商务创建数据层变量。

【讨论】:

  • 谢谢,是的,你完全正确(除了我发现它需要是 ecommerce.detail.products.[0].name 而不是 ecommerce.detail.products[0].name),但非常感谢!
猜你喜欢
  • 1970-01-01
  • 2013-03-20
  • 1970-01-01
  • 1970-01-01
  • 2012-02-28
  • 2013-01-31
  • 1970-01-01
  • 2021-11-22
  • 1970-01-01
相关资源
最近更新 更多