我想使用 Google 跟踪代码管理器手动实现 Facebook 高级匹配。我做了以下工作:
在GTM上,我做了以下工作:
- 创建了一个名为
AdvancedMatchingVariable
的变量,其类型为 Data 具有变量名称的图层变量advancedMatching
- 我更新了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 -->