Facebook

How To Configure Facebook Conversion API for Shopify

Learn everything you need to know about implementing the Facebook Conversion API with your Shopify store.

In this guide you will learn:

  • What the Conversion API is
  • What data parameters are required
  • How it works with your base Facebook pixel
  • Your options to get up and running with your Shopify store. 

But first – why is there such a big push by Facebook (and maybe your marketing agency partners) to get the FB Conversion API setup for your store?

  1. “Signal Loss” for Facebook. Browsers are becoming less reliable for consistent conversion tracking due to changes like Apple’s ITP that expires cookies after 7 days.
  2. AdBlockers are growing in usage with some estimates stating that up to 27% of users have ad blocking enabled.
  3. Conversion discrepancies between your Shopify orders and Facebook purchases.

It’s not uncommon for most FB accounts to be short ~ 10-20% of actual orders on your Shopify store due to issues like # 1 and 2 above.

Utilizing the Conversion API can help improve this while respecting user compliance standards. 

In this related guide I discuss the impact browsers, ITP, and privacy regulation changes have on Google Analytics, Facebook, and A/B testing.

Interested in getting started with server side tagging to use with conversion API? Follow our server side tagging guide here.

How Does Facebook Conversion API Work With Your Pixel

The Conversion API is not a replacement for your standard pixel tracking. 

Facebook has a “pixel” that you install on your website that collects various data about the user and their interaction on your website. 

Facebook relies on:

  • Data from this pixel to track the user and their activity, etc
  • Data from conversions to track ad performance, etc

These are not necessarily the same. 

Facebook wants you to run your FB pixel in parallel with their Conversion API so both sources of data are available in your FB business manager.

Here’s a visual:

fb-pixel-conversion-api

Why run these two in parallel? 

The answer goes back to the “why”:

Fix the 10-20%+ gap with between your Shopify orders and Facebook purchase events recorded.

Bottom line: the Conversion API does not replace your pixel. It needs to run in parallel with your pixel. 

“But, won’t my purchases be duplicated inside of Facebook if the pixel sends a purchase conversion and I send a purchase conversion via Conversion API?”

If you do not include the required parameters in your conversion API event that Facebook needs to deduplicate then yes you will send duplicate orders.

For an event to be deduplicated automagically by Facebook:

  1. In corresponding events, a Facebook Pixel’s eventID must match the conversion API’s event_id. An event ID example is “Order ID”.
  2. In corresponding events, a Facebook Pixel’s event must match the conversion API’s event_name. An event name example is “Purchase”.

As long as these two parameters are included in the pixel and server side conversion then Facebook handles the rest. You can learn more about how this works here.

Conversions Supported with CAPI

It’s easy to assume that the conversion API == purchases. 

However the conversion API can support all of your custom conversions. Like product view, add to cart, email signups, custom conversions, etc. 

With Facebook’s recent announcement that they will no longer utilize the 28 day conversion window and all accounts will use a 7 day window, it’s going to make campaign ROAS even more difficult for marketers. 

Especially if you rely on prospecting to new users that don’t convert within 7 days, but ultimately convert later.

We recommend the following conversion events at a minimum:

  • Email Signup
  • Product View
  • Add to Cart
  • Initiate Checkout
  • Purchases

This ensures you have accurate data across all of your conversion metrics that can be used in a top of funnel analysis for campaigns like:

  • Cost per product view
  • Cost per add to cart
  • Etc

And then these can be compared to the average revenue value for these events to help with ROI evaluation.

Parameters Required by Facebook for Conversion API Events

In addition to sending your standard parameters like revenue, currency code, product data, etc, Facebook also requires the following data sent with conversion API server events:

  • At least one customer parameter (like email, browser & IP address, etc)

They also recommend sending:

  • fbp and fbc parameters which are the values set from their cookie
  • External_id which is most similar to a customer ID 

They don’t state exactly what they do with this data other than vague statements that they are used to help match the activity back to the advertising campaign.

Makes sense.

Options To Implement Shopify With Facebook Conversion API

You have options which is the most important thing!

Here are the main ones:

  1. Zapier
  2. Native Shopify integration (new!)
  3. Elevar + server side Google Tag Manager container

Option 1: Zapier

If you already use Zapier then you are familiar with how it works. You simply connect your Shopify store with the Facebook Conversion and choose your trigger.

zapier-shopify-fb-conversionsThe relevant triggers available are primarily:

  • New order
  • New customer

This is a quick and simple integration but lacks the ability to track conversions across your entire store (like add to carts, etc). 

To date this has really been the only option to get up and running quickly on the conversion API.

Bottom line: This is a good option if the native Shopify (option 2) implementation doesn’t work for you due to the use of Subscription payment options, etc, or if Option 3 is too much of a stretch.

Option 2: Shopify

This is a highly anticipated new feature just released and is exciting for Shopify store owners. 

There are three new options to choose from in Facebook pixel settings:

shopify-native-fb-capi

The Maximum option includes the conversion API.

Since this is new we are still unpacking how it:

  • Handles purchases from ReCharge, CartHook, etc.
  • Works with conversion events across the store (besides purchases)
  • Works with Ad Blockers enabled
  • Does it reset the cookie expiration in Safari from 7 days to something longer

Based on their release statement, it appears that the conversions sent via Conversion API only include purchase conversions (point in # 3 below):

shopify fb setting differences

The pro’s are obvious: it’s a simple one-click integration. Set it and forget it like the standard pixel has worked for years. 

Things to consider:

  • Product ID management / data you need to customize with the pixel or conversion events. If this is something you required before this update then it’s likely this integration won’t work for you (unless your requirements change)
  • Privacy management: it’s not clear how this works with consent management. For example if a user opts-out of tracking on your site, this appears to still send data to FB.
  • 3rd party checkouts like ReCharge, Carthook, etc that all have their own checkout processes. Are these orders also sent to FB via Shopify servers? If they are, what event_id and event_names are used? If you recall from above FB requires these to be the same. So if you are using the native ReCharge <> Facebook pixel then this could duplicate purchase conversions because ReCharge is not sending event_id (as of now at least).

Option 3: Server Side Container via Google Tag Manager 

This is the option that we, Elevar, provide. 

The reasons for us are simple: 

  • The need for merchants to move to an environment where all of their tracking is managed “server side”, not just Facebook. Google Analytics, AdWords, Snapchat, Affiliates etc are all going to need this same type of server side tracking configured to prevent the same issues impacting Facebook.
  • Centralized place for all tracking to have privacy compliance in place (vs adhoc across different tracking mechanisms)
  • The need to send all conversion touch-points from users – not just purchases – to help improve attribution analysis 
  • The ability to setup automated error and data monitoring for all tracking

For the vast majority of merchants on Shopify, their native integration will likely be the best and fastest way to implement Facebook Conversion API.

But for merchants that require more control how their Facebook integration is setup, you will likely need to utilize Google Tag Manager server side tagging for this.

Here is a visual on how this server side tagging process works:

ss-tagging-process-for-shopify

In this example, the SS container is your server that lives on a 1st party domain (e.g. collect.getelevar.com), and enables you full control over all of your tracking.

The other benefit to a SS container is the ability to send data from multiple places to use in your tracking:

multi-data-streams-shopify

And most importantly the ability for you to manage privacy consent in one data pipeline that feeds to all of your marketing tags.

privacy-data-pipeline

Most channels are releasing updates to allow you to send conversion data even if the user has opted out (or never opted in).

Here is Google Ads/Marketing platform overview on this process for maintaining conversion ROI while respecting user privacy.

Translated: if the user opts out then you can still send conversion data to Google that does not infringe on user privacy. It’s a win/win. User is protected. You get your conversion for ROI analysis.

What To Do Next

The great thing about moving forward with implementing the Facebook Conversion API with your Shopify store is that you have options.

Here is what we recommend:

  1. Talk with your marketing agency/team to determine what your requirements are for Facebook tracking. Do you have to consider ReCharge, Carthook, etc?
  2. If you are using a combination of Shopify and/or GTM and/or hard-coded pixels and/or built-in integrations for ReCharge then map out the purchase data currently sent with these tags. Specifically you need to know the EventID used (e.g are you sending Shopify order ID with all of these that need to align with your server side conversion) to ensure you don’t start sending duplicate orders?
  3. Look at other channels – do you have order discrepancies with these that are impacting your business? Example: affiliates missing orders, etc.

Interested in Option 3 for your business? Book a call with us today and we can discuss your specific needs and how we are managing with other customers.

If you want to learn more about Server Side Tagging, FB Conversion API, and the “why”, watch the replay of this recent webinar:

Get Exclusive Elevar Insights directly to your inbox.

Get free analytics tips and resources delivered directly to your inbox.

About Elevar

We're a Shopify Plus partner that specializes in onsite tagging and event tracking analytics.

Learn More

Brad Redding

Brad, co-founder of Elevar, has lived in eCommerce for over 12 years. He's helped design, build, and optimize over 100 websites in his career. From new retail startups to well-known brands like Le Creuset, Signature Hardware, Rebecca Minkoff, Char-Broil and more, he specializes in data analytics and conversion optimization to help achieve business goals.

  1. Great article from you guys as always!

    Browser-side tracking becoming less and less reliable here in Europe, with GDPR, adblockers etc etc.

    So we wanted to set this up using your option 2 above, the new Shopify builtin server-side stuff.

    However the Shopify setup needed scares me. They basically force you to hand over authentication information for Facebook Account, Business Page, Ads Account, Commerce Account, Catalog, Pixel, you name it. And then goes ahead making a product feed and who knows what else.

    We have all this set up years ago already and working just fine. I fear Shopify might step on some of our working stuff.

    All I really wanted was the server-side conversion API tracking.

    Perhaps just moving this all from Shopify to GTM is the best option for now.

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Articles