我有一个单页网站,我试图从这里为同一个 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 辅助工具正确初始化了像素。
现在,当用户单击“下载手册”链接时,我正在发送带有 content_name="download-brochure" 的“PageView”事件。我正在使用“onclick=trackFbEventDownloadBrochure();” 在链接上。
该像素也可以成功加载,但会显示该像素加载时间过长的警告。我假设它是因为用户在单击链接之前花了一些时间,我可以放心地忽略它。
接下来,我有另一个链接“下载 TSA Way PDF”。在这个链接上,我有“onclick=trackFbEventDownloadTsaWay();”。但是,当用户单击此链接时(单击另一个链接后),我在 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
如果我先点击“下载 TSA Way PDF”链接,然后点击“下载手册”,也会发生同样的情况。
看来我们不能从同一页面发送相同的事件两次,即使它使用不同的参数发送。
有人可以帮我吗?
提前致谢 !
皮尤什