GTM 数据层变量在传递到 Facebook 购买事件时未定义

GTM Datalayer variables undefined when passed into Facebook Purchase Event

我为 Facebook 的购买事件创建了一个自定义 HTML 标签,其中包含 3 个自定义变量。

他们在数据层引用数据,但 Facebook Pixel Helper 将所有 3 个值显示为未定义:

<script>
fbq('track', 'Purchase', {
  content_name: '{{transactionId}}',
  value: '{{transactionTotal}}',
  currency: '{{transactionCurrency}}'
});
</script>

<noscript>
<img height="1" width="1" border="0" alt="" style="display:none" 
src="https://www.facebook.com/tr?id=0000000000000&ev=Purchase&cd[content_name]={{transactionId}}&cd[value]={{transactionTotal}}&cd[currency]={{transactionCurrency}}" />
</noscript>

dataLayer values working

Facebook-Pixel-helper

知道为什么数据没有正确传递到 Pixel 中吗?

您确定 facebook 像素在与您的 dataLayer 变量相同的触发器或更高版本中触发吗?

如果在 facebook 像素触发后初始化这些变量,或者如果在激活 facebook 标签之前将这些变量覆盖为未定义,则可能无法传输数据。

我发现触发器在页面视图上触发,而 dataLayer 变量当时未定义,将触发器切换为在 DOM 上触发,修复了它。