
2017年8月2日
Facebook Pixel Noscript在您的GTM中无用。这里 ’s How You Fix It.
这篇博客文章将简短一些。过去,我’ve described the 友谊 Google体彩七星彩开奖结果代码管理器和Facebook Pixel的介绍 多次。截至2017年8月,GTM默认仍不支持Facebook Pixel,因此您和我仍然需要使用自定义HTML标签。您是否曾经仔细查看过Pixel代码?
它由两部分组成:<script> and <noscript>。后者旨在体彩七星彩开奖结果在浏览器中禁用了JavaScript的访问者。然后’混乱开始的地方。一世’我们曾多次看到GTM用户认为,如果将整个Pixel代码粘贴到“自定义HTML”标签中,他们将体彩七星彩开奖结果所有访问者(启用或不启用JavaScript)。
不幸的是,这远非事实。 Facebook Pixel Noscript部分在自定义HTML标签中不起作用。在此博客文章中,我’将解释该问题及其解决方法。
Â
Â
什么是Noscript?
简而言之,noscript表示如果浏览器中禁用了JavaScript,则图像像素将直接通过iframe(由GTM创建的iframe)加载。<noscript>).
那’这正是Google体彩七星彩开奖结果代码管理器容器代码段由两部分组成的原因:
- <script> (建议之间放置<head> tags).
- 和 <noscript> (建议的放置位置是刚开业之后<body> tag).
Facebook Pixel还包含两个部分:
哪里’s the problem?
Noscript刚赢了’不能在自定义HTML标记中使用。为什么?
如果在浏览器中禁用了JavaScript,则赢得了Google体彩七星彩开奖结果代码管理器容器代码段(gtm.js)’被加载。结果,GTM赢得了’触发任何自定义HTML标签,Universal Analytics标签等。
继续起作用(禁用JavaScript)的唯一标记类型是“自定义图像”。
结论, 如果您将整个Facebook Pixel代码粘贴到“自定义HTML”标签中,则对于浏览器中禁用了JavaScript的用户而言,它将不起作用.
有什么可能的解决方案?
您在这里有三个选择:
- 忽略某些用户可能已禁用JavaScript并继续生活的事实。将完整的Pixel代码片段粘贴到“自定义HTML”,并继续忽略一小部分访问者。 根据框图,2016年第四季度来自所有设备的全球流量的0.2%页面浏览量已禁用javascript。该百分比在不同地区/大陆之间有所不同。
- 从“自定义HTML”标签中删除“ Facebook Pixel Noscript”部分。只是没有它而活。此解决方案与选项#1非常相似,但更加花哨。
- 要真正解决问题并开始进行更多体彩七星彩开奖结果。下一章将专门介绍此选项。
Â
Â
让’让Facebook Pixel Noscript正常工作
自定义图片标签
如果您确实想在禁用了JS的浏览器中触发Facebook Pixel,则需要通过自定义图像标记触发它。首先,让’的打开的Facebook Pixel JavaScript代码段:
<!-- 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','//connect.facebook.net/en_US/fbevents.js'); // Insert Your Facebook Pixel ID below. fbq('init', '11111222223333334444'); fbq('track', 'PageView'); </script> <!-- Insert Your Facebook Pixel ID below. --> <noscript><img height="1" width="1" style="display:none" src="//www.facebook.com/tr?id=11111222223333334444&ev=PageView&noscript=1" /></noscript> <!-- End Facebook Pixel Code -->
剪切noscript部分并将其粘贴到其他地方(例如记事本等)。
<noscript><img height="1" width="1" style="display:none" src="//www.facebook.com/tr?id=11111222223333334444&ev=PageView&noscript=1" /></noscript>
在Google体彩七星彩开奖结果代码管理器的自定义HTML代码中,<script> (including <script> and </script>) and save it.
现在,让’s返回noscript代码。我们做什么’感兴趣的是URL。这是禁用JavaScript时在iframe中加载的自定义图片像素的网址。请记住 ID in that URL is fake.
//www.facebook.com/tr?id=11111222223333334444&ev=PageView&noscript=1
在Google体彩七星彩开奖结果代码管理器中,您’将需要创建一个新的“自定义图像”标签。去 标签> New Tag > Custom Image。粘贴上述URL,不要’t更改任何其他设置,并保存标签而无需任何触发。只是现在。我们’待会儿再讲。
让’s快速查看什么是“自定义图像”标记及其设置。
正如我之前提到的,由于使用GTM容器,因此触发了自定义图片标签’s <noscript>部分。它是通过iframe加载的,并且不依赖JavaScript。查询参数(在图片网址中),例如使Facebook能够体彩七星彩开奖结果访客。
通常,浏览器会缓存此类图像URL。这意味着,如果访问者加载另一个页面,浏览器将尝试从其内部存储中加载图像URL,而不是尝试访问Facebook’的服务器第二次。
结果,将不会体彩七星彩开奖结果第二个页面视图。
为了避免浏览器缓存,Google体彩七星彩开奖结果代码管理器提供了一个缓存破坏程序。 gtmcb (Google体彩七星彩开奖结果代码管理器缓存克星)是一项功能,该功能在每次加载页面后返回一串数字,并将其作为查询参数添加到图片网址中。
这意味着,每当加载页面时,都会生成一个新的图像URL,将体彩七星彩开奖结果每个页面视图。让我说明一下。
没有缓存破坏者,就会发生以下情况:
- 第一页加载。图片网址为 //www.facebook.com/tr?id=11111222223333334444&ev=PageView&noscript=1. URL是唯一的,并从Facebook服务器加载,并体彩七星彩开奖结果页面视图。
- 加载第二页。图像URL为 //www.facebook.com/tr?id=11111222223333334444&ev=PageView&noscript=1. URL是相同的,因此它是从浏览器加载的’内部存储。没有体彩七星彩开奖结果第二页视图。
这是在启用“缓存克星”后发生的情况:
- 第一页加载。图片网址为 //www.facebook.com/tr?id=11111222223333334444&ev=PageView&noscript=1>mcb=1501700001。一个 URL是唯一的,并且是从Facebook服务器加载的,因此可以体彩七星彩开奖结果页面视图。
- 第二页加载。图片URL为 //www.facebook.com/tr?id=11111222223333334444&ev=PageView&noscript=1>mcb=1501744444。一个 URL是唯一的,并再次从Facebook服务器加载。体彩七星彩开奖结果第二页视图。
注意: 您不需要编辑或替换 gtmcb。保持原样,其余的将通过魔术发生。
触发
下一步是触发自定义图片代码的条件。显然,我们不需要在所有页面上触发它,因为Facebook Pixel<script>已经在这样做了。理想的开火时刻是 禁用JavaScript时。幸运的是’s为此的自定义JavaScript变量:
function() { return true; }
它不会返回 真的Â禁用JS时。让’在新的触发器中使用它:
将此触发器分配给“自定义图像标签”。
做完了!你’刚刚修复了Facebook Pixel Noscript。从现在开始’将会追踪更多的访客。
结论
Facebook Pixel代码由两部分组成:<script> and <noscript>。后者旨在体彩七星彩开奖结果在浏览器中禁用JavaScript的访问者。如果您将整个Facebook Pixel代码粘贴到Google体彩七星彩开奖结果代码管理器中的“自定义HTML”代码中,<noscript> part just won’t work.
如果您仍然关心其他访问者的一小部分,并希望对其进行体彩七星彩开奖结果,则可以’为此需要创建一个单独的标签。那’在“自定义图片”标签派上用场的位置。
在这篇博客中,我’ve解释了如何轻松解决此问题。
如果你’对此类用户/访问者不感兴趣,请随时忽略此问题。赢了’t do much damage.
Â
Â
很好的情况。这个想法从何而来? AdWords或其他转化工具是否也可能出现这种情况?标签?也可能是noscript GA遭窃?
嘿,我有一段时间这个想法,最近决定发布它。这种情况也适用于GA。不过,我不确定Adwords从未尝试过。
我将您对我未来实验的建议加入了书签,有一天可能会变成一篇博客文章。
您好,我有一个Wifi启动页面,其中不允许使用javascript。您认为我可以使用您在本文中提供的一些信息来安装Facebook Pixel并覆盖此限制吗?
先感谢您。
嗨,找出答案的最佳方法是尝试:)
你好朱利叶斯,
非常感谢本文。我一直想研究no script Facebook像素,但是对于本文,我已经准备就绪。
但是,在实际实施GDPR的情况下,我们依靠Javascript让访问者在首次访问网站时选择其同意程度,并将此同意程度存储在cookie中。如果有人禁用了JS,那么GTM能否从Cookie中检索同意级别并根据此变量中的值触发自定义图片标签?如果用户选择了最高同意级别,我们仅允许FB像素触发。
谢谢!
米克
如果禁用了JS,则很有可能您的Cookie同意机制根本无法使用。 Cookies是基于JS的,因此没有JS的人将无法读取Cookie。但是,我不确定noscript根据GDPR的行为。我认为当JS关闭时,它不会收集任何PII,但我不确定100%。
所以不要在这里把我的话当作理所当然:)
嗨,朱利叶斯!很棒的帖子。
关于使用noscript传递其他转化事件(如购买)以及所需参数(如价值,价值和货币)的任何说明吗?
那 would be really helpful!
谢谢
FB在下面的链接中有一些说明,您可以在其屏幕截图中查看示例代码段。但是,他们只是将它们全部加载到Custom HTML标签中,因此我想您需要像Julius建议的那样将noscript拖入Custom Image标签中。
//www.facebook.com/business/help/1021909254506499
这非常有用。实际上,它对您的像素数据有巨大的影响。但我有个问题。您将如何开始使用此工具体彩七星彩开奖结果购买事件等?您是否需要创建一个单独的自定义函数并使用序列在页面上触发它?还是您必须设置网址?
任何帮助都将是有用的。
谢谢。
Cookie不是基于JS的。
确保JS可以读取cookie,如果不是仅为http设置了该标志,但是cookie可以独立于JS正常运行。
你好
如果我们分别使用自定义图像标签和Java脚本标签,则页面浏览将发生两次。
这就是为什么您建议对自定义图像标记使用Java脚本禁用变量不等于true的原因?
问候,
安奇