无法在 Google 跟踪代码管理器中提取数据层变量



我想使用 Google 跟踪代码管理器手动实现 Facebook 高级匹配。我做了以下工作:

在GTM上,我做了以下工作:

  1. 创建了一个名为AdvancedMatchingVariable的变量,其类型为 Data 具有变量名称的图层变量advancedMatching
  2. 我更新了Facebook基本代码标签以包含新变量,如下所示:

<!-- Facebook Pixel Code -->
<script>
...
fbq('init', 'pixel id',
'{{AdvancedMatchingVariable}}'
);
</script>
<!-- End Facebook Pixel Code -->

在我的网站上,我添加了以下代码:

dataLayer.push({
'advancedMatching': {
'em': '$email',
'fn': '$fname',
'ln': '$lname'
}
});

但是,它没有奏效。我在Facebook像素基本代码中获取对象对象。如下:

<!-- Facebook Pixel Code -->
<script>
fbq('init', '*ID*', 
Object Object
);
</script>
<!-- End Facebook Pixel Code -->

那么请问我的代码有什么问题?我一直在寻找并试图修复它几个小时!

我认为您必须自己在FB像素中解析advancedMatching对象的值,例如

fbq('init', 'pixel id', {
em: advancedMatching.em,
fn: advancedMatching.fn,
ln: advancedMatching.ln
});

如果您在advancedMatching中有动态跟踪参数,您可以编写一个帮助程序函数来为您映射它。

您只需要修改像素代码即可删除引号,如下所示:

<!-- Facebook Pixel Code -->
<script>
...
fbq('init', 'pixel id',
{{AdvancedMatchingVariable}}
);
</script>
<!-- End Facebook Pixel Code -->

最新更新