dat*_*ing 16 javascript analytics facebook google-analytics
我仍然是Javascript的新手,但我想知道在没有实际加载"确认"/"谢谢"页面的情况下触发Facebook转换像素(下方)的最佳方法是什么?
<script type="text/javascript">
var fb_param = {};
fb_param.pixel_id = 'XXXXXXXXXXX';
fb_param.value = '0.00';
fb_param.currency = 'USD';
(function(){
var fpw = document.createElement('script');
fpw.async = true;
fpw.src = '//connect.facebook.net/en_US/fp.js';
var ref = document.getElementsByTagName('script')[0];
ref.parentNode.insertBefore(fpw, ref);
})();
</script>
<noscript><img height="1" width="1" alt="" style="display:none"
src="https://www.facebook.com/offsite_event.php?id=XXXXXXXXXX&value=0&currency=USD" /></noscript>
Run Code Online (Sandbox Code Playgroud)
Facebook表示,我们应该将其插入我们的"感谢页面",访问者在转换后看到这些页面(填写表格,进行购买等).但是,我们的一些表单是在内容旁边的边栏上的弹出窗口或表单,我们不希望读者被确认页面引导.
使用Google Analytics,我可以通过触发_gaq.push(['_ trackPageview'])来创建"隐身"的综合浏览量; 代码可以告诉GA它应该将不可见的网页浏览计为目标完成.
是否有类似的东西,足以告诉我的网站解雇FB像素?
Ble*_*exy 14
编辑:我已经更新了我的代码,因为我之前提到的不起作用.感谢@Flambino指出.
这是我使用像素而不是脚本传递转换像素的修订答案.我参考了如何跟踪谷歌Adwords转换点击?SO帖子:
<head>
<script type="text/javascript">
function facebookConversionPixel(fb_pixel, fb_value){
var image = new Image(1,1);
image.src = "//www.facebook.com/offsite_event.php?id=" + fb_pixel + "&value=" + fb_value + "&currency=USD";
}
</script>
</head>
<body>
<a href="#" onclick="facebookConversionPixel(123456,0.00);">FBCONV</a>
</body>
Run Code Online (Sandbox Code Playgroud)
从FB文档"如何跟踪页内事件":
安装基本代码段后,您可以通过在HTML DOM元素上注册不同的事件处理程序,对转换像素进行_fbq.push('track')调用来跟踪页内操作,例如按钮上的点击.例如:
function trackConversionEvent(val, cny) {
var cd = {};
cd.value = val;
cd.currency = cny;
_fbq.push(['track', '<pixel_id>', cd]);
}
<button onClick="trackConversionEvent('10.00','USD');" />
Run Code Online (Sandbox Code Playgroud)
只需将整个原始代码移动到您选择的事件中即可.然后只需更改1部分代码即可.你需要做的就是使fb_param全局而不是本地.
请参阅下面的评论
$('.button').click(function() {
window.fb_param = {}; // must be global by adding `window.`
fb_param.pixel_id = '123456789';
fb_param.value = '0.00';
fb_param.currency = 'USD';
(function(){
var fpw = document.createElement('script'); fpw.async = true; fpw.src = '//connect.facebook.net/en_US/fp.js';
var ref = document.getElementsByTagName('script')[0];
ref.parentNode.insertBefore(fpw, ref);
})();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23291 次 |
| 最近记录: |