5

尝试在 Facebook 选项卡中实现 Facebook 转化跟踪。您可以在此处查看页面http://www.facebook.com/StChristophersFellowship/app_366591783429546问题是提交表单后不会运行单独的页面。我可以让一段 javascript 运行,但只有 onclick 提交按钮,我认为它也被注入到 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>"
4

2 回答 2

17

我尝试使用 Nicolás 解决方案,但从未验证转换。

但是,我发现一篇文章(存档版本)描述了一种立即起作用的技术,使用来自<noscript><img src="..." /></noscript>.

在您的页面上放置一个元素,例如:

<div id="fb_pixel"></div>

然后为您的转化声明这些 CSS 规则,更改在您自己的跟踪代码中找到background-image的URL。<noscript>

#fb_pixel { display:none; }
.fb_conversion
{
    background-image: url('https://www.facebook.com/offsite_event.php?id=33333333333&value=0&currency=USD');
}

当您希望进行跟踪时(例如,在提交 AJAX 表单时),您可以将fb_conversion类添加到<div>使用 JavaScript。例如,使用 jQuery:

$("#fb_pixel").addClass("fb_conversion");

这将使浏览器加载图像,从而跟踪您的转换。

于 2013-10-11T14:46:37.857 回答
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);
    })();
}

于 2013-09-26T20:56:49.293 回答