dataprointhemaking dataprointhemaking - 8 months ago 42
Javascript Question

Firing the Facebook Conversion Pixel

I'm still pretty new to Javascript, but I was wondering what would be the best way to fire the Facebook conversion pixel (below) without actually loading a "confirmation"/"Thank You" page?

<script type="text/javascript">
var fb_param = {};
fb_param.pixel_id = 'XXXXXXXXXXX';
fb_param.value = '0.00';
fb_param.currency = 'USD';
var fpw = document.createElement('script');
fpw.async = true;
fpw.src = '//';
var ref = document.getElementsByTagName('script')[0];
ref.parentNode.insertBefore(fpw, ref);
<noscript><img height="1" width="1" alt="" style="display:none"
src=";value=0&amp;currency=USD" /></noscript>

Facebook says that we should plug this into our "Thank You pages" that visitors see after they convert (fill out a form, make a purchase, etc). However, some of our forms are popups or forms on sidebars next to content that we don't want readers to be directed away from by a confirmation page.

With Google Analytics, I can create an "invisible" pageview by firing _gaq.push(['_trackPageview']); code that can tell GA that it should count that invisible pageview as a goal completion.

Is there something similar to that that's general enough to tell my site to fire the FB pixel?

Answer Source

EDIT: I've updated my code as what I had mentioned previously did not work. Thanks to @Flambino to pointing out.

This is my revised answer using a pixel rather than a script to pass the conversion pixel. I reference the How to track a Google Adwords conversion onclick? SO post:

<script type="text/javascript"> 
function facebookConversionPixel(fb_pixel, fb_value){
    var image = new Image(1,1); 
    image.src = "//" + fb_pixel + "&amp;value=" + fb_value + "&amp;currency=USD";

<a href="#" onclick="facebookConversionPixel(123456,0.00);">FBCONV</a>