我有一个单页网站,我试图从这里为同一个Facebook自定义像素调用多个事件 我在Chrome上使用Facebook Pixel Helper进行测试。
以下是该方案:
这是我的javascript文件的外观:
(function() {
var _fbq = window._fbq || (window._fbq = []);
if (!_fbq.loaded) {
var fbds = document.createElement('script');
fbds.async = true;
fbds.src = '//connect.facebook.net/en_US/fbds.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(fbds, s);
_fbq.loaded = true;
}
_fbq.push(['addPixelId', '1634281670122256']);
})();
window._fbq = window._fbq || [];
window._fbq.push(['track', 'PixelInitialized', {}]);
function trackFbEventDownloadBrochure() {
window._fbq.push(['track', 'ViewContent', {content_name: 'brochure-pdf'}]);
}
function trackFbEventDownloadTsaWay() {
window._fbq.push(['track', 'ViewContent', {content_name: 'tsa-way-pdf'}]);
}
它包含在我的html中,就在结束标记之前:
<script type="text/javascript" src="js/fb-custom-tracking.js"></script>
</head>
我可以看到通过Fb Pixel辅助工具正确初始化像素。
现在我正在发送一个&#39; PageView&#39;具有content_name =&#34的事件; download-brochure&#34;当用户点击链接时#34;下载宣传册&#34;。我正在使用&#34; onclick = trackFbEventDownloadBrochure();&#34;在链接上。
此像素也会成功加载,但会警告像素需要太长时间才能加载。我假设它是因为用户在点击链接之前花了一些时间我可以放心地忽略它。
接下来,我有另一个链接&#34;下载TSA Way PDF&#34;。在这个链接上,我有&#34; onclick = trackFbEventDownloadTsaWay();&#34;。但是,当用户点击此链接时(点击其他链接后),我在Fb Pixel Helper工具上看到错误。
Custom Audience Pixel activated 2 times.
Event ID: ViewContent
Custom Audience Pixel pixel activated multiple times on this web page, which can cause errors in your event tracking.Learn more
View Event Log
Pixel ID: 1634281670122256
URL Called: Show
Pixel Location: Show
Load Time: 82.86 ms
Time To Request: 5501.48 ms
content_name: brochure-pdf
如果我点击&#34;下载TSA Way PDF&#34;同样的事情会发生。首先链接然后&#34;下载宣传册&#34;。
看来我们不能从同一页面发送两次相同的事件,即使它使用不同的参数发送。
有人可以帮我吗?
提前致谢!
的Piyush