以编程方式删除 Facebook 像素

Posted

技术标签:

【中文标题】以编程方式删除 Facebook 像素【英文标题】:Removing a Facebook pixel programmatically 【发布时间】:2018-07-31 16:20:15 【问题描述】:

有没有办法在使用fbq('init', 'XXXXXXXXXXXXX') 初始化 Facebook 像素后以编程方式删除它?

Google analytics.js 允许使用 ga('[trackerName.]remove') 删除单个跟踪器对象,但我在全局 fbq 对象上找不到任何具有类似功能的方法。

更新:虽然不理想,但一种解决方法是仅针对特定像素,如下所示:

  fbq('init', '<PIXEL_A>');
  fbq('init', '<PIXEL_B>');
  fbq('track', 'PageView'); //fire PageView for both initialized pixels

  // only fire the Purchase event for Pixel A
  fbq('trackSingle', '<PIXEL_A>', 'Purchase', 
        value: 4,
        currency: 'GBP',
  );

  // only fire the custom event Step4 for Pixel B
  fbq('trackSingleCustom', '<PIXEL_B>', 'Step4',
    //optional parameters
  );```

【问题讨论】:

如果这是为了保护您的用户,无论如何我都不会信任他们。只需在没有 Facebook 脚本的情况下重新加载页面。 不,这是在带有客户端路由的 SPA 中启用多个像素,其中某些像素仅在某些页面上处于活动状态。 Atm 当您初始化另一个像素时,所有默认跟踪事件都会发送到所有活动像素,没有明显的方法来禁用/删除单个像素。 你有没有找到解决这个问题的方法?干杯! 不,很遗憾没有。最终不得不在任何地方使用 trackSingle 方法并确保只有预期的像素才能获得事件。不理想:( 如何在不同的脚本标签中初始化每个像素,每个像素都有一个唯一的 ID,然后使用 DOM 操作删除适当的脚本标签(按 ID)?显然它也不理想,但更容易实现恕我直言 【参考方案1】:

这行得通吗?您实际上并没有禁用像素,而是选择由哪些像素跟踪哪些事件。 Selective event tracking with multiple pixels

【讨论】:

很遗憾没有,因为标准跟踪事件仍在发送到所有活动像素。

以上是关于以编程方式删除 Facebook 像素的主要内容,如果未能解决你的问题,请参考以下文章

Facebook 像素购买事件重复数据删除

从“设置”中删除 Facebook 帐户

Facebook 集成到 iPhone 应用程序中

以编程方式在iphone中将UIImage比率更改为fb封面

以编程方式在运行时删除或添加属性到CoreData

从Facebook广告管理系统中删除转化跟踪像素