尝试在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>"
答案 0 :(得分:17)
我尝试使用Nicolás解决方案,但转换从未经过验证。
但是,我发现an article使用<noscript><img src="..." /></noscript>
中的网址描述了一种即时发挥作用的技术。
在页面上放置一个元素,如:
<div id="fb_pixel"></div>
然后为您的转化声明这些CSS规则,更改您自己的跟踪代码中找到的background-image
网址的<noscript>
。
#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");
这将使浏览器加载图片,从而跟踪您的转化。
答案 1 :(得分:2)
我有一个类似的问题,我解决了它将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);
})();
}