Facebook's conversion script needs to be performed or run on the computers of the people who converted, i.e. client-side

Here's how it works in the case of Facebook.

  1. Someone clicks your ad
  2. Facebook drops a cookie on that person's computer
  3. That person browses different pages on your site/vendor site.
  4. When he purchases the offer, he lands on a page with Facebook's pixel
  5. Facebook checks the cookie dropped during step two above to connect the dots between the conversion and the clicked ad

But when you use a server-to-server postback, the affiliate network's server which calls the postback does not have that cookie in place because it's not that server that clicked the ad.

So, even if the script is executed, Facebook can't connect the dots and cannot find the corresponding user who clicked an ad.


The solution to trigger Facebook conversion pixel

Since it is NOT possible to trigger Facebook conversion scripts via a server-to-server postback, there are a few solutions available.


Place the FB conversion code on your thank you page directly. 

If using an affiliate network where the offer lets you place HTML/JS, just place the code directly, independent of your tracker (or the image pixel if they only allow that).


Fire conversions back to the traffic source using an iFrame

  • In your FunnelFlux dashboard, navigate to Sources > Traffic Source menu, then edit your Facebook Traffic Source item. If you don't have one, you can create and use the FunnelFlux pre-made template for Facebook Ads found in the upper right corner of the page.
  • Below that option, you will find "Fire Conversions Back to the Traffic Source", then select Javascript as the postback type then paste your Facebook conversion pixel below.
  • Keep in mind that when using the Javascript postback code you must place the generated iFrame code on your thank you page or exit page. This allows FunnelFlux to inject client-side code, in this case, a Facebook JS code.
  • Also, note that if you are using multiple pixels/accounts and need to fire a different code for different funnels, you can place this code in the Advanced Settings > Tracking Overrides section of the funnel.

If you don't have permission to add the Facebook conversion pixel to the thank you or exit page, i.e. when offer conversion happens, you can try the following:


Use a Javascript node

You can also trigger Facebook tracking by placing your Facebook conversion code in a Javascript node in your funnel diagram next to your conversion action link.

This will allow you to fire JS prior to users reaching the offer page.

This allows you to at the very least track clickthrough's or add-to-cart events, though these are not as valuable as the end conversion.

In situations where you have upsells, this would indeed allow you to track the first offer conversion as desired.

Ultimately, if you cannot place javascript on the offer conversion point, i.e. on the page that loads when a conversion happens, there is no way to pass this data to Facebook.

This is one of the key limitations of client-side tracking and limitations imposed on marketers by advertisers.

However, most advertisers/product owners are realising the value of Facebook tracking for marketers and are starting to "open up" and let people place Facebook tracking codes, as they are seen as trustworthy. Some even just ask for your pixel ID value so they can send events to it directly.

There is light at the end of the tunnel!

Did this answer your question?