如何在点击时或没有单独的"谢谢"页面时实施 Facebook 转化跟踪



尝试在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&currency=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);
    })();
}

最新更新