如何在网站中为Facebook像素创建选择退出选项?

时间:2017-12-12 15:57:42

标签: facebook facebook-pixel

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

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

以下是google(source)提供的退出选项代码:

<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提供的代码,用于跟踪我网站上特定事件的信息。这是我现在使用的代码(source):

<!-- 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 -->

2 个答案:

答案 0 :(得分:3)

我创建了一个选择退出系统,该系统选择不使用GA和FB跟踪,并结合了已有的许多代码源。我已在此处发布了详细信息:https://stackoverflow.com/a/51217955/3817964

我不仅要从GA和FB中删除开发人员跟踪,而且还希望公司中的某些人员不被GA和FB计入。因此,我想为那些人们提供一种相对简单的方法,让他们在没有插件的情况下排除自己的分析范围,或者排除域ip(因为拥有笔记本电脑的人们徘徊)。

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

我最初是在一个名为Dahlia, which makes beautiful items for Greek Orthodox Weddings and Baptisms的网站上进行设置的。

答案 1 :(得分:2)

这应该有效。如果你打电话给&#34; customOptout()&#34;在Facebook代码运行之前,选择退出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 -->