如何在一个页面上放置多个独特的Facebook跟踪像素(事件)?

时间:2016-10-31 02:58:20

标签: javascript html facebook google-tag-manager

我们有两个不同的Facebook帐户(我们自己和我们的客户)都有转换跟踪要求,但两个帐户的要求不同。

据我所知,如果发送的事件是通用的,我可以设置多个像素ID:

fbq('init', 'xxxxxxxxxxxxx1');
fbq('addPixelId', 'xxxxxxxxxxxxx2');
fbq('track', 'PageView');

但是,我想将不同的事件发送到不同的帐户。使用fbq push方法,似乎没有参数来指定帐户ID。

例如,我们希望将“添加到购物车”按钮跟踪为“添加到购物车”事件,但我们的客户希望将其作为潜在客户进行跟踪:

<script>
fbq('track', 'AddToCart');
</script>

<script>
fbq('track', 'Lead');
</script>

执行上述示例时,两个事件都会发送到两个帐户。我想要的是以下内容,其中帐户是明确的:

<script>
fbq('track', 'AddToCart', {'id':'xxxxxxxxxxxxx1'});
</script>

<script>
fbq('track', 'Lead', {'id':'xxxxxxxxxxxxx2'});
</script>

在像素本身中有一个ID查询参数,但我还没有找到如何在推送中设置它。有没有办法在推动新Facebook事件的过程中设置像素ID?

**更新**

我们尝试在每个'track'之前运行'init'来覆盖之前的跟踪器,但是这仍然会将所有事件发送到网站上的所有facebook标签。

2 个答案:

答案 0 :(得分:1)

使用init是正确的想法,但从现在以错误的方式。您应该只需fbq('init', 'xxxxxxxxxxxxx1'); fbq('init', 'xxxxxxxxxxxxx2'); fbq('init', 'xxxxxxxxxxxxx3'); fbq('track', 'PageView'); 添加所有pixelIds,而不是尝试替换前一个像素。

addPixelId

Facebook正试图弃用var pixelA = Object.assign({}, fbq), pixelB = Object.assign({}, fbq), pixelC = Object.assign({}, fbq); pixelA('init', 'xxxxxxxxxxxxx1'); pixelB('init', 'xxxxxxxxxxxxx2'); pixelC('init', 'xxxxxxxxxxxxx3'); pixelA('track', 'PageView'); 。我找到了解决方案here

如果要在它们之间进行区分,请尝试克隆fbq对象并使用它们instedt。但我不确定这是否真的有效,因为内部。

{{1}}

答案 1 :(得分:0)

Facebook现在支持trackSingle event