6

**我在寻找什么: ** 我在寻找的是,如何限制我网站上的 facebook 像素以跟踪我的网站用户信息并将其发送到 Facebook。

我已经知道: Facebook 像素跟踪用户的数据,如谷歌标签。但是谷歌提供了一个脚本允许用户选择退出这个选项,这意味着用户的信息将被跟踪但不会发送给谷歌。

这是 google 提供的选择退出选项的代码(来源):

<script>
// Set to the same value as the web property used on the site
var gaProperty = 'UA-XXXX-Y';

// Disable tracking if the opt-out cookie exists.
var disableStr = 'ga-disable-' + gaProperty;
if (document.cookie.indexOf(disableStr + '=true') > -1) {
window[disableStr] = true;
}

// Opt-out function
function gaOptout() {
document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
window[disableStr] = true;
}
</script>

现在我想为我的 facebook 像素有一个类似的选项,这样用户就可以禁用来自 facebook 的数据跟踪。我实际使用的是 facebook 提供的代码,它跟踪有关我网站上特定事件的信息。这是我现在使用的代码(来源):

<!-- Facebook Pixel Code -->
<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', 'FB_PIXEL_ID');
fbq('track', 'PageView');
</script>
<!-- Insert Your Facebook Pixel ID below. --> 
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=FB_PIXEL_ID&amp;ev=PageView&amp;noscript=1"
/></noscript>
<!-- End Facebook Pixel Code -->
4

2 回答 2

3

我创建了一个退出系统,可以退出 GA 和 FB 跟踪,并结合了已经存在的许多代码源。我在这里发布了详细信息:https ://stackoverflow.com/a/51217955/3817964

我不仅想从 GA 和 FB 中删除开发人员跟踪,而且我还想让公司内的一些人不计入 GA 和 FB。因此,我想要一种相对简单的方法,让这些人在没有插件的情况下将自己排除在分析之外,或者排除域 ip(就像使用笔记本电脑的人一样)。

创建了一个网页,用户可以访问并单击链接以选择退出 GA 和 FB 跟踪。它为网站放置一个 cookie。然后我检查那个 cookie 以确定我们是否应该向 GA 和 FB 发送数据。

于 2018-07-06T21:49:47.183 回答
2

这应该有效。如果您在 facebook 代码运行之前调用“customOptout()”,则会设置退出 cookie,并且不会初始化 facebook 像素。

<!-- Modified Facebook Pixel Code -->
<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');

var disableStr = 'custom-disable';
if (document.cookie.indexOf(disableStr + '=true') > -1) {
  // don't fire facebook beacon
} else {
  // Insert Your Facebook Pixel ID below. 
  fbq('init', 'FB_PIXEL_ID');
  fbq('track', 'PageView');
}


function customOptout() {
  document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
}

</script>
<!-- Insert Your Facebook Pixel ID below. --> 
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=FB_PIXEL_ID&amp;ev=PageView&amp;noscript=1"
/></noscript>
<!-- End Modified Facebook Pixel Code -->
于 2017-12-20T20:35:45.747 回答