Facebook转换事件回调
Facebook conversion event callback
我在文档中找不到转换跟踪中是否有回调功能(https://developers.facebook.com/docs/ads-for-websites/tag-api)
为了跟踪事件,您只需要调用:
window._fbq = window._fbq || [];
window._fbq.push(['track', 'FBCONVERSIONCODE', {'value':'0.00','currency':'USD'}]);
这与谷歌分析转换代码非常相似,只是它们允许您在ajax调用完成时调用一个函数:
ga('send', 'pageview', {
'page': '/my-new-page',
'hitCallback': function() {
alert('analytics.js done sending data');
}
});
有没有办法用Facebook API实现同样的功能?
截至今日,Facebook仍然不支持它。然而,由于立即重定向导致了这个问题,我使用了以下解决方案:
基本上,我在localStorage上设置了我需要跟踪的变量=>
window.localStorage.setItem('documentTitle', document.title);
然后我进行了重定向,在目标页面上,我使用以下内容来正确跟踪fb事件
if (typeof(fbq) !== 'undefined' && window.localStorage.getItem('documentTitle')) {
fbq('track', 'Lead', {content_name: window.localStorage.getItem('documentTitle')});
window.localStorage.removeItem('documentTitle');}
希望这能帮助到别人;)
PS:只有当重定向的页面与初始页面位于同一主机上时,这才会起作用,因为localStorage是唯一的:protocol://host:port
Facebook没有回调,但如果您面临的问题是重定向无法完成请求,我建议您将重定向封装在setTimeout
中
示例:
fbq('track', 'Purchase');
$('.loader').fadeIn();
setTimeout(function () {
window.location.replace("/bookings/"+booking_id);
}, 1500);
通常需要50-100ms才能完成请求,但可以安全地留出1500ms来完成请求。
不,Facebook不支持。
是的,JavaScript支持它。
如果fbq
调用由于某种原因失败,它将不会返回undefined
,所以只需验证是否顺利执行即可。
function callback() {
console.log('fn:callback');
}
if (
typeof fbq('track', 'AddToCart', {
content_name: 'Really Fast Running Shoes',
content_category: 'Apparel & Accessories > Shoes',
content_ids: ['1234'],
content_type: 'product',
value: 4.99,
currency: 'USD'
}
) === 'undefined') callback();
相关文章:
- Javascript点击事件回调不起作用
- Facebook转换事件回调
- 在es6中,将带有回调的事件侦听器设置为可迭代的
- 事件循环、回调队列和 Javascript 的单线程是如何连接的
- 如何通过bxSlider回调api处理事件
- 如何在javascript中添加带有回调函数的按钮点击事件作为window.conf
- 如何在事件处理程序的回调中防止Default
- 在Nodejs中堆叠异步回调事件的最佳方式
- 可以clearTimeout删除JavaScript中已触发超时事件的未处理回调
- 如何使用RequireJS进行跨模块回调/事件处理
- 回调事件不起作用-使用猫头鹰旋转木马
- 通过Window.open的Web意向回调事件只是没有发生
- 回调事件侦听器
- 如何使用角度休息服务设置超时回调事件
- ng重复最后的回调事件
- bpopup onClose回调事件不工作
- Camanjs过滤器完成回调(事件在Camanjs)
- 鼠标移动回调事件没有显示哪个鼠标按钮被按下
- Cordova inAppBrowser的回调事件
- SoundCloud SDK/neneneba API回调事件未启动