1

我正在尝试触发我的 Facebook 像素。

这就是问题:

我在客户端网站中安装了自己的图像像素,当我的像素在客户端网站中被触发时,它会向我的服务器发送一个请求,在数据库中插入一些内容后,我将请求重定向到具有来自 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>标签 URL 发送 HTTP GET 请求,希望 Facebook 接受它。

更新

所以这就是发生的事情,我发送的请求触发了事件,但@Jules 是对的。我找不到使用这种方法导致转化的广告,问题是在将流量推送到我们客户网站的地方,我们无法安装任何 JavaScript 代码。

我试图检查 Facebook 存储了哪些 cookie,所以当我发出 GET 请求时,我也会发送这些值,但是会发生这种情况:

1 - 广告将用户发送到如下链接:

l.facebook.com/l.php?u=redirect_url&h=some_token_here

在这个页面中,我可以检查是否有一些 cookie(我假设这些是 Facebook 需要找到哪些广告导致转化的值)

2 - 然后用户被重定向到我们的客户表单页面

我也尝试在这里检查 cookie,但 cookie 似乎不存在..

我需要帮助的人!

4

4 回答 4

1

所以各位,

我让它这样工作:

我没有使用CFLOCATION将请求重定向到CFMLFacebook JS 片段所在的页面,而是直接用于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>

有效!:)

于 2017-10-25T15:07:53.070 回答
1

根据您的评论,以下可能有效。您将利用noscript图像标签。我认为你想用 CFML 返回的是一个 CFLocation 到正确的 FB 像素 URL——而不是 cfhttp 加载它。这样,客户端仍然会加载 FB 像素,并且您仍然可以跟踪它在两者之间的加载。

浏览器加载

<img src="//your-server.net/trackPixel.cfm?some_vars=some_vals">

CFML 确实...

<!--- DO YOUR STORAGE AND OTHER LOGIC --->
<cfquery>...</cfquery>

<!--- THEN REDIRECT --->
<cflocation url="the_official_fb_image_url.gif" addToken="no">

所以当用户的浏览器将你的cfm加载为图片时,回复是加载不同的图片。

于 2017-11-12T02:06:17.793 回答
1

您不应该编写 HTML/Javascript 代码。

第一个转换像素是通过img标签调用的,因此您无法使用 HTML/Javascript 进行响应。

您所要做的就是将重定向 (301) 返回到您的最终图像像素。在这种情况下:

Redirect 301 THE_FB_URL/?id=PIXEL_ID&ev=myCustomEvent&noscript=1
于 2017-11-13T15:17:42.220 回答
0

如果您使用CFlocation然后不,脚本将不会触发。而是使用 javascript 重定位。给浏览器足够的时间来加载页面并触发脚本。像这样:

<script>
    fbq('init', 'PIXEL_ID');
    fbq('trackCustom', 'myCustomEvent', {});
    setTimeout(
        function(){
            window.location.href='';
            // or simply: history.go(-1);
        },
        3000
    );
</script>
<noscript>
    <img src="THE_FB_URL/?id=PIXEL_ID&ev=myCustomEvent&noscript=1">
</noscript>
于 2017-10-25T13:27:43.437 回答