尝试在Facebook选项卡中实现Facebook转换跟踪。您可以在此处查看页面http://www.facebook.com/StChristophersFellowship/app_366591783429546问题是表单提交后不会运行单独的页面。我可以让javascript的一部分运行吗?但只需点击提交按钮,我想它也可以被注入HTML文档的头部。我通过链接或点击找到了运行Javascript的答案——如果我从一个单独的JS文档中调用跟踪/转换代码,这个方法会起作用吗?
任何帮助都将不胜感激-谢谢!
"我同意上面的评论,你不能调用文件,但你可以加载这样的JS文件,我不确定它是否回答了你的问题,但它可能会有所帮助……哦,在我的例子中,我使用了链接而不是按钮……
<a href='linkhref.html' id='mylink'>click me</a>
<script type="text/javascript">
var myLink = document.getElementById('mylink');
myLink.onclick = function(){
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "Public/Scripts/filename.js.";
document.getElementsByTagName("head")[0].appendChild(script);
return false;
}
</script>"
我尝试使用Nicolás解决方案,但转换从未得到验证
然而,我发现一篇文章(存档版本(描述了一种使用<noscript><img src="..." /></noscript>
中的URL立即生效的技术。
在你的页面上放置一个元素,如:
<div id="fb_pixel"></div>
然后为您的转换声明这些CSS规则,更改在您自己的跟踪代码中找到的<noscript>
URL的background-image
。
#fb_pixel { display:none; }
.fb_conversion
{
background-image: url('https://www.facebook.com/offsite_event.php?id=33333333333&value=0¤cy=USD');
}
当您希望进行跟踪时(例如,在AJAX表单提交时(,您可以使用JavaScript将fb_conversion
类添加到<div>
中。例如,使用jQuery:
$("#fb_pixel").addClass("fb_conversion");
这将使浏览器加载图像,从而跟踪您的转换。
我遇到了一个类似的问题,我通过将AJAX调用放在跟踪回调上解决了这个问题。如下:
$(function () {
$('#btnSend').click(facebookTrackingSendClick);
});
function facebookTrackingSendClick(e) {
e.preventDefault();
var clickedElement = this;
var fb_param = {};
fb_param.pixel_id = '123';
fb_param.value = '0.00';
fb_param.currency = 'BRL';
(function () {
var fpw = document.createElement('script');
fpw.async = true;
fpw.src = '//connect.facebook.net/en_US/fp.js';
fpw.onload = function () {
// Callback here.
};
var ref = document.getElementsByTagName('script')[0];
ref.parentNode.insertBefore(fpw, ref);
})();
}