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

时间:2019-09-11 13:28:43

标签: wordpress facebook woocommerce facebook-pixel

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

content_type:product_group 域:www.xxxxxx.tld content_category:未设置 event_hour:15-16 user_roles:访客 content_name:Abo 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事件,这是重新定位的问题。 / p>

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

<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帮助器中显示,并显示以下错误: “我们检测到事件代码,但该事件尚未激活像素,因此没有任何信息发送到Facebook。这可能是由于代码中的错误所致,但是如果像素在诸如按钮之类的动态事件上触发,也可能会发生点击。”

将事件更改为其他事件不会触发任何一个

我们希望结果是这样的:

ViewCategory

已发送的自定义参数 content_type:product_group 域:www.xxxxx.tld content_category:未设置 event_hour:15-16 user_roles:访客 content_name:Abo 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:9月 traffic_source:www.xxxxx.tld 活动信息 调用网址:显示 加载时间:17.49毫秒 像素代码:显示 像素位置:显示 框架:窗户

3 个答案:

答案 0 :(得分:0)

data-append-to="#siteContainer"未定义,如果要自定义事件,则应使用<div id="head"> <div id="headAddBkgColor"></div> </div> <div id="slantElm"></div> 而不是protected void ExecuteCode_Click(object sender, EventArgs e) { // Clean the Result TextBox ResultBox.Text = string.Empty; // Initialize PowerShell engine var shell = PowerShell.Create(); // Add the script to the PowerShell object string pscontent = File.ReadAllText(@"C:\..\..\..\..\..\Scripts\automation_test.ps1"); shell.Commands.AddScript(pscontent); shell.Commands.AddParameter("O365Decom", Input.Text); // Execute the script var results = shell.Invoke(); // display results, with BaseObject converted to string // Note : use |out-string for console-like output if (results.Count > 0) { // We use a string builder ton create our result text var builder = new StringBuilder(); foreach (var psObject in results) { // Convert the Base Object to a string and append it to the string builder. // Add \r\n for line breaks builder.Append(psObject.BaseObject.ToString() + "\r\n"); } // Encode the string in HTML (prevent security issue with 'dangerous' caracters like < > ResultBox.Text = Server.HtmlEncode(builder.ToString()); } //shell.Dispose(); }

整个代码为:

trackCustom

答案 1 :(得分:0)

我能够在使用Service Worker处理网络申请的页面上重现您的错误。在禁用Service Worker进行测试之后,Pixel Helper更改了警告,提示我没有目录,但我没有:

  

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

处的目录管理器将该像素与目录合并

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

重要的一点是,Pixel Helper有很多错误和“谎言”。即使您报告了警告,我也可以在chrome DevTools上看到网络请求: print

在印刷品中,您可以看到ts:1568257996804参数。这对应于我进行测试的时间: 2019年9月12日星期四00:13:16 GMT-0300(巴西利亚标准时间)

在我的Facebook Analytics(分析)中,我可以看到此匹配是由平台正确收集的:print

总而言之,您的代码可能正常运行。尝试使用Facebook分析进行调试。它看起来比扩展更好。 :)

@Sayakiss,我的声誉不足以对您的回答发表评论,所以我在这里写下。 在official documentation中定义了“ trackCustom”。它用于您定义的事件,例如“ ViewCategory”。尽管此事件已在Facebook文档中发布,但它不是标准事件,例如“ PageView”或“ Lead”。因此,必须与“ trackCustom”一起发送。例如,您可以定义一个名为“ sayakiss”的事件。因此,您这样做:

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

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

@moburkhardt,返回您的代码,一种好的做法是始终在页面加载时发送“ PageView”事件。为此,请将fbq("track", "PageView")放在fbq("init", "<pixel>")之后。尽管这是一个很好的做法,但这不是必需的。

答案 2 :(得分:0)

很多人误解了它,因为假设“它正在 facebook 像素助手扩展中被跟踪,意味着它首先检测到 facebook 像素代码”。但这是错误的。

发生此错误是因为该事件在像素启动之前就已触发。

修复很简单:在任何其他 Facebook 像素事件之前移动 init。 检查我是如何修复它的:https://medium.com/lezenda-tech/fb-pixel-fix-we-detected-event-code-but-the-pixel-has-not-activated-for-this-event-happen-aaffe3cac834