【问题标题】:Why I can't receive data from dataLayer?为什么我无法从 dataLayer 接收数据?
【发布时间】:2019-06-05 07:12:32
【问题描述】:

为什么我的 dataLayer 没有收到数据? 在我的 GTM 中,我为“购买”创建了一个事件触发器。 也许我的 dataLayer 代码的结构有些问题? 我现在不知道。 我会给予任何帮助。在此先感谢

这是我的前端代码:

<Head>
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'event': 'purchase',
'transactionId': 'transaction.id',
'transactionTotal': transaction.total,
'transactionTax': transaction.tax,
'transactionShipping': transaction.shipping,
'transactionProducts': [
  {
   'sku': 'product.id',
   'name': 'product.name',
   'category': 'product.category',
   'price': product.price,
   'quantity': product.quantity
 }
 ]
});
</script>
</Head>

【问题讨论】:

  • A) 该代码应该在&lt;script&gt;&lt;/script&gt; 标记中 - 真的不是,还是您忘记在此处粘贴?如果不是,这是首先要解决的问题。和 B) 那些变量 transaction 和 product 来自哪里?操作顺序很重要 - 确保在您粘贴的代码运行之前设置这些变量。
  • 哦,是的,对不起,我忘记了,修复它。
  • 这些变量来自我的数据库,如果我查看“谢谢”页面的源代码,我可以看到它们被正确传递,但对 dataLayer 没有任何影响。

标签: google-tag-manager google-datalayer


【解决方案1】:

数据未填充到 dataLayer 代码中还是 gtm 未按预期触发?

如果它的 gtm 确保 dataLayer 位于 gtm 容器代码之上,否则它无法访问它。

【讨论】:

    【解决方案2】:

    从您提供的代码中,不清楚您有什么样的操作顺序。

    理想情况下,顺序应该是这样的

    1. dataLayer 声明
    2. GTM 包含脚本
    3. dataLayer.push()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多