传递到Facebook Purchase Event时,GTM Datalayer变量未定义

时间:2017-10-18 10:11:59

标签: javascript facebook google-tag-manager google-datalayer facebook-pixel

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

他们引用数据dataLayer但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的任何想法?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

你确定facebook像素会在与dataLayer变量相同的触发器中触发吗?

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