如何修复:FB-Pixel 检测到事件代码,但像素尚未激活

问题描述 投票:0回答:3

我们有一个与 Facebook Pixel 集成的 Woocommerce 页面,在类别页面上,像素会触发以下代码:

内容类型:产品组 域名:www.xxxxxx.tld 内容类别:未设置 活动时间:15-16 用户角色:访客 内容名称:阿博 content_ids:隐藏 [“wc_post_id_4987”,“wc_post_id_4994”,“wc_post_id_4979”,“wc_post_id_4968”,“wc_post_id_4952”]

我们在 Wordpress 中创建了页面,在 A/B 测试后将其用作类别页面,使其比默认类别页面更好,但这些页面上不会触发 ViewCategory Facebook 事件,这是重定向的问题。

现在我们构建此代码并将其添加到非类别的页面中:

<script>!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');
// Insert Your Facebook Pixel ID below.
fbq('init', 'XXXXXXXXXXXX');

fbq('trackCustom', 'ViewCategory', {
  content_name: 'Kauknochen fu00fcr Hunde',
  content_category: 'Kauknochen',
  content_ids: ['4154', '4183', '4165', '4171', '4176'], // top 5-10 results
  content_type: 'product'
});

alert( 'Hellopen!' );</script>

打开站点时会显示警报,因此会执行脚本,但事件会显示在 FB Pixel Helper 中,并显示错误: “我们检测到事件代码,但像素尚未为此事件激活,因此没有信息发送到 Facebook。这可能是由于代码中的错误造成的,但如果像素触发动态事件(例如按钮),也可能会发生这种情况点击。”

将事件更改为其他事件也不会触发

我们期望的结果是这样的:

查看类别

发送自定义参数 内容类型:产品组 域名:www.xxxxx.tld 内容类别:未设置 活动时间:15-16 用户角色:访客 内容名称:阿博 content_ids:隐藏 [“wc_post_id_4987”,“wc_post_id_4994”,“wc_post_id_4979”,“wc_post_id_4968”,“wc_post_id_4952”] 插件:PixelYourSite event_day:星期三 event_month:九月 流量来源:www.xxxxx.tld 活动信息 调用的 URL:显示 加载时间:17.49 毫秒 像素代码:显示 像素位置:显示 框架:窗

wordpress facebook woocommerce facebook-pixel
3个回答
2
投票

我能够在使用 Service Worker 处理网络请求的页面中重现您的错误。禁用 Service Worker 仅用于测试后,Pixel Helper 更改了警告,说我没有目录,我没有:

此像素未与任何产品目录配对。请关联 使用目录管理器在 [...]

处使用此像素与目录

检查您是否有 Service Worker 并禁用它以进行测试。

需要注意的一个重要事项是 Pixel Helper 有很多错误和“谎言”。即使有您报告的警告,我也可以在我的 chrome DevTools 上看到网络请求: 打印

在打印中,您可以看到

ts:1568257996804
参数。这对应于我进行测试的时间:Thu Sep 12 2019 00:13:16 GMT-0300(巴西利亚标准时间)

在我的 Facebook Analytics 中,我可以看到该点击已被平台正确收集:print

总之,您的代码可能没问题并且可以工作。尝试使用 facebook 分析进行调试。它看起来比扩展更好。 :)

@Sayakiss,我没有足够的声誉来评论你的答案,所以我会写在这里。 “trackCustom”在官方文档中定义。它用于您定义的事件,例如“ViewCategory”。尽管此事件位于 Facebook 文档中,但它并不是一个标准事件,如“PageView”或“Lead”。所以必须用“trackCustom”发送。例如,您可以定义名为“sayakiss”的事件。所以你会这样做:

fbq("trackCustom", "sayakiss", {
  param1: 'value1',
  param2: 'value2'
});

尽管如此,如果您调试 fbevents.js 代码,您会发现“track”和“trackCustom”的唯一区别是“track”代码发出的控制台警告(如果该事件不是默认事件)。

@moburkhardt,返回到您的代码,一个好的做法是始终在页面加载时发送“PageView”事件。为此,请将

fbq("track", "PageView")
放在
fbq("init", "<pixel>")
之后。虽然这是一个很好的做法,但这不是必需的。


1
投票

trackCustom
未定义,如果您想自定义事件,您应该使用
fbq('track', ...)
而不是
fbq('trackCustom', ...)

整个代码是:

fbq('track', 'ViewCategory', {
  content_name: 'Kauknochen fu00fcr Hunde',
  content_category: 'Kauknochen',
  content_ids: ['4154', '4183', '4165', '4171', '4176'], // top 5-10 results
  content_type: 'product'
});

0
投票

对我来说,问题出在广告拦截器浏览器插件上,所以我只是关闭了该插件,问题就解决了。 :)

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.