如何解决Facebook像素ID重复的错误?

37

按照这里链接的指示,添加了Facebook像素。现在遇到一个错误:

fbevents.js:9 Facebook Pixel Error: Duplicate Pixel ID: some-pixel-id

不知道是什么原因导致了这个错误。即使我在控制台中运行他们例子的代码并删除了html中的像素代码,我仍然得到相同的结果。

有人知道这意味着什么以及如何解决这个错误吗?


1
我也遇到了同样的问题。我的解决方法是添加Google标签管理器和Facebook像素。两者同时存在导致了这个错误。我移除了Facebook像素(单独的那一个),只留下添加到Google标签管理器的那一个。 - Shawn Rebelo
您可以下载“Facebook像素助手”来帮助调试:https://marketlytics.com/analytics-faq/facebook-pixel-helper-errors-and-fixes/ - Jee Mok
8个回答

38

我实际上在这个页面找到了解决方案。

这是因为每次发送事件时,代码都会使用相同的像素ID进行初始化。实际上,初始化应该只发生一次。

这个修复方法有效。您可以通过在Chrome浏览器中使用Facebook像素助手扩展程序来验证。

if(typeof fbq === 'undefined') {
    !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
    n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
    n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
    t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
    document,'script','https://connect.facebook.net/en_US/fbevents.js');

    fbq('init', '123123123213121');
    fbq('track', 'PageView');
    fbq('track', '{{fBPixelType}}');
  }
  else {
    fbq('track', '{{fBPixelType}}');
  }

23

这个错误通常意味着fbq('init', <pixel_id>)被多次调用,且使用的是相同的像素 id。


1
有趣的是。就像我之前所说的,我尝试在不包含该代码的页面上从控制台运行代码(页面上根本没有Facebook像素)。得到了相同的结果。我没有复制任何东西。 Facebook像素助手显示像素加载正常,但错误仍然会警告。而且,我可以百分之百确定页面上没有fbq('init', <pixel_id>)的重复。但还是感谢你的努力。 - Eugene Monakov
2
也遇到了这个问题,但没有太多线索。 - Selvin Ortiz

4

另一个在谷歌论坛上找到的答案是:

"你需要检查你的Facebook像素代码是否只在每个页面上初始化一次(而不是每个事件)。转到FB像素代码所在的标签,并打开高级设置。标记触发选项 -> 每页一次(而不是每个事件!)"


2

我曾经遇到过同样的问题,将GTM上Facebook像素初始化标签更改为“每页一次”即可解决。

我知道已经有人回答了这个问题,但是由于提供了多种解决方案,并且“被选中”的答案对我来说比这个答案更复杂,所以我想在这里发表评论,让其他遇到相同问题的人感到自信,尝试这种更简单的方法。


2
你在调用 init 前应检查是否未定义 fbq
if (typeof fbq === 'undefined') {
    fbq('init', 'your-pixel-ID');
}

请注意:不要用这个if语句包装整个脚本!

1
如果您尝试初始化像素ID超过一次,就会出现此错误,因此您需要检查站点上加载的所有JavaScript代码,并找到多个调用init像素ID的位置。关键区域要检查的是右键单击站点,然后单击“查看页面源代码”。然后检查所有引用的JavaScript文件和任何GTM容器。我听说开发人员在站点的中以及在GTM容器中都包含Facebook像素代码,这会导致此错误。如果您无法找到两个init调用之一,查找站点上特定JavaScript代码的最简单方法之一是使用Chrome开发人员工具。按F12打开工具,按Ctrl + Shift + F打开搜索面板,然后输入fbq或您正在查找的任何内容。它将浏览所加载的站点源并查找该代码。

这真的很有帮助。还有另一个插件(CTX Feed)被配置为再次插入像素。问题解决了。 - FoxMan

0

在破解任何代码之前,值得检查一下新的trackSingle调用:

fbq('trackSingle', 'pixel-id1', 'PageView');
fbq('trackSingle', 'pixel-id2', 'Purchase');

它允许在一个脚本中使用多个具有不同作用域(“PageView”,“Purchase”)的fbq函数,如果两个像素的作用域相同(例如“PageView”),那么您可以只是这样调用:

fbq('init', 'pixel-id1');
fbq('init', 'pixel-id2');
fbq('track', 'PageView');

-1

我在我的Shopify商店遇到了同样的问题,但是经过研究,我发现Trackify fb像素应用程序是我的选择。我删除了过去创建的所有先前像素和事件(进行了实验),并安装了该应用程序,它有助于创建多个事件和像素。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接