我正在尝试触发我的 Facebook 像素。
问题是:
我在客户端网站上安装了自己的图像像素,当我的像素在客户端网站上被触发时,它会向我的服务器发送请求,在数据库中插入一些内容后,我将请求重定向到 CFML 页面(ColdFusion 的 HTML)其中包含来自 Facebook 的像素代码,如下所示:
<script>
// Facebok Pixel Init Code
fbq('init', 'PIXEL_ID');
fbq('trackCustom', 'myCustomEvent', {});
</script>
<noscript>
<img src="THE_FB_URL/?id=PIXEL_ID&ev=myCustomEvent&noscript=1">
</noscript>
当我通过浏览器直接访问页面时,它成功触发了像素,我可以在 Facebook 像素报告中看到它。但是,当请求在插入数据库后重定向到页面时,像素不会触发。
我认为这是因为 JavaScript 和 HTML 从未添加到 DOM,所以它永远不会被执行...
你知道我怎样才能做到这一点吗?
我想如果我向 <img>
发送一个 HTTP GET 请求标记 URL 希望 Facebook 接受它..
更新
这就是发生的事情,我发送的请求触发了事件,但@Jules 是对的。我无法使用此方法找到哪个广告导致了转化,问题是将流量推送到我们客户网站的地方,我们无法在其中安装任何 JavaScript 代码。
我试图检查 Facebook 存储了哪些 cookie,所以当我发出 GET 请求时,我也发送了这些值,但发生了这种情况:
1 - 广告将用户发送到如下链接:
l.facebook.com/l.php?u=redirect_url&h=some_token_here
在此页面中,我可以检查是否有一些 cookie(我假设这些是 Facebook 需要找到哪个广告导致转化的值)
2 - 然后用户被重定向到我们的客户表单页面
我也试过检查这里的 cookie,但 cookie 似乎不存在..
我需要帮助的人!
最佳答案
各位,
我是这样实现的:
我没有使用 CFLOCATION
将请求重定向到 Facebook JS 代码段所在的 CFML
页面,而是直接使用 CFHTTP
来请求Facebook 跟踪 URL。像这样:
<cfif #source# eq 'facebook'>
<cfhttpparam type="url" name="id" value="PIXEL_ID">
<cfhttpparam type="url" name="ev" value="myCustomEvent">
<cfhttpparam type="url" name="noscript" value="1">
</cfif>
成功了! :)
关于JavaScript | ColdFusion - Facebook 像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46913263/