首页 > 解决方案 > 在 localhost 和开发服务器上停止 Facebook Pixel 跟踪

问题描述

我正在使用 Facebook Pixel 在我的网站上进行跟踪。

<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');
    fbq('init', 'xxxxxxxxxxxxx');
    fbq('track', 'PageView');
  </script>
  <noscript><img height="1" width="1" style="display:none"
    src="https://www.facebook.com/tr?id=320956065128864&ev=PageView&noscript=1"
  /></noscript>

任何停止或过滤(如 GA 过滤器)的解决方案不包括域或 IP?谢谢。

标签: trackingfacebook-pixel

解决方案


添加 FB 像素的代码片段首先检查是否已添加 FB 像素,方法是检查变量fbq

if(f.fbq)return;

因此,从初始注入中跳过 FB 像素脚本的最简单方法是fbq在 FB 片段之前定义变量。

<script>
    const list = ['localhost'];
    if (list.includes(window.location.hostname)) {
        window.fbq = function() {};
    }
    // ...original Facebook Pixel code here
</script>

将任何域添加到list数组以阻止 FB 像素执行。


推荐阅读