Shopify has native integration with Facebook Pixel (FB Pixel). It works great and also covers Facebook Conversion API once you set everything up correctly.

Yet, the recent updates in iOS and all major browsers blocking or significantly limiting third-party cookies by 2022 are likely to spoil the party when it comes to tracking data through the pixel.

That's where Facebook Conversion API comes in to help you track, attribute, and improve your Facebook marketing performance.

We have prepared this in-depth guide to help Shopify merchants transfer our knowledge & experience in over 600 setups to help them navigate through a first-rate setup.

Chapter 1

Setup Methods & Tutorial

FB Pixel Setup Chapter 1 illustration

At this step, we are going to set up Shopify Facebook Pixel and Conversion API, then apply & double-check the basic settings. Follow along to make sure and tick off your setup checklist even if yours is already done.

The best method for most Shopify stores is to use native integration. So, before taking action, make sure that you have:

  • The official Facebook Channel App installed on your Shopify store. You can click here and install it easily.
  • Facebook Business Manager - and the admin rights there. The same thing applies for Shopify, too.

From the options below:

  • We recommend Option 1 for all stores.
  • Option 2 is recommended if you have a problem with the native integration or if you want to use multiple Facebook pixels.
  • Option 3 is the best possible connection for the Facebook Conversion API. However, it is only recommended for Shopify Plus stores at the moment due to checkout.liquid limitation.

Option 1: Shopify’s Native FB Sales Channel

Using the native integration is quite an easy way to benefit from Pixel. Follow the instructions below:

Shopify - Setup Facebook
Step 1:

Go to Shopify Admin > Online Store > Preferences > Setup Facebook

Make sure you have the FB Sales Channel App installed - if yes- this "Set up Facebook" should lead you there.

Facebook Data Sharing Settings - Facebook Pixels
Step 2:

Authorize your FB Business Manager account and choose the Pixel. An important reminder: You can't continue here if you don't have a FB Business Manager account or if you don't have admin privileges.

Choose MAXIMUM so that all the possible data can be shared in Facebook Pixel
Step 3:

Make sure you choose MAXIMUM so that all the possible data can be shared. Then, confirm, and you are all set.

Right at this juncture, your Facebook Pixel and Conversion API (CAPI) set up on Shopify end is almost done. Now we need to make an important setting on Facebook Events Manager.

Facebook Pixel setup with shopify
Step 4:

Navigate to FB Pixel Settings > Automated Advanced Matching. Re-adjust the settings that are already in use. Make sure you set all the fields (from Email to External ID) ON.

Option 2: Analyzify Core Version (GTM - Only Browser)

If you have a problem with the native integration, Analyzify standard version can be a great choice for you. However, it doesn't support the conversion API as it only works through the browser - not the server-side. Check out Option 3 for the better.

View Analyzify Features
View Analyzify on Shopify App Store

Option 3: Analyzify Server-Side Tracking (Server + Browser)

Going for the Analyzify Server-Side Tracking method can be another option that would provide you with a set of more accurate and thorough information as it uses a different source and path to produce your data. Consequently, it has a number of advantages over the others.

For example, it reduces the impact of ad blockers. It’s a fact that many ad blockers block client-side cookies and scripts which makes it difficult to track data. They might be able to block GoogleAnalytics.com and similar requests from your Shopify store but they won't block requests from your own subdomain

It also improves the page speed and reduces the page load time. Instead of installing five different scripts on your site, you simply upload one script and send it to your server, where it will be processed and shared with third parties. That way, your server-side setup does the heavy lifting and you are not adding too much load on your visitors’ browsers.

Furthermore, it is Safari & iOS Friendly. Due to Apple's latest updates, using cookies and tracking in Safari and iOS apps has become more difficult than ever. You can extend the lifetime of cookies by relying on server-side tagging. It will also not be affected by iOS blocking third-party cookies.

Learn more about Analyzify server side tagging

Option 4: Other apps

You can put some other apps to good use, as well. There are a bunch of apps on the Shopify app store such as Omega, Trackify, MultiPixel, etc. that could make it work for you.

View All Shopify Facebook Apps
Chapter 2

Facebook Conversion API - Shopify

FB Pixel Setup Chapter 2 illustration

Facebook Conversion API works on the server-side and provides more data to your Facebook Pixel. It is actually created to overcome the tracking challenges - especially the ones that come with iOS 14 updates.

We have already mentioned that the native integration covers Facebook Conversion API (aka Facebook CAPI). So if you have set it up properly, FB CAPI should already be working for you. Also, Analyzify’s server-side tagging add-on includes the Facebook Conversion API tags.

The main difference between the FB Conversion API and the Facebook Pixel is that the former works at the server level while the latter works at the browser level. To be more specific, with the FB Conversion API, requests are sent directly to Facebook Servers from Shopify Server or from your own server, depending on the FB CAPI Setup Shopify method you use.

For instance, when a purchase occurs, all user information (first name, last name, zip code, email, etc.) is sent to Facebook at the server level along with the purchase event. Facebook CAPI tries to find that specific user within the list of users that click the ad.

As it’s possible to find all the setup options above, you can get everything done easily so that you can improve how your ads perform and have a deeper understanding of them.

Check out the following sources for more information on Facebook Conversion API:

Chapter 3

The common problems with FB Pixels in Shopify

FB Pixel Setup Chapter 3 illustration

1 Shopify Facebook pixel not working (2022)

This is one of the most popular issues about integration. This sort of problem may arise if something goes wrong in the setup process. It’d be wise for you to make sure that you’ve completed the setup & validation part accurately as seen above.

If it still doesn’t work, you can get the Analyzify app and secure some help from the Analyzify team.

2 Event match rate too low

Event match rate too low

If the event match rate is too low, it affects the performance of your ads. To make it possible for the event rate to go up, first, check out all the settings shown in Option 1.

It’s especially significant to re-adjust the Advanced Matching section as seen below:

You need to ensure that you set

To add to that, you need to ensure that you set the data-sharing part to MAXIMUM so that all the available data could be shared:

3 Missing product ID or SKU.

That is the most common problem we have faced. The sales data flows into Facebook, but it is missing product ID or SKU. And it does not allow for accurate analysis. It refers to the wrong setup of your Facebook product feed and Facebook Pixel. It usually happens when you use different apps for the product feed and pixel. Using the native integration would fix this.

4 Sending different product IDs with different events (mixing SKU and IDs).

In some cases, you see the same events with product IDs or SKUs in Facebook Pixel reports. For instance, the SKU appears as a product ID in the sales report in FB Pixel, and the next line shows the product ID for the same product.

5 Missing other parameters from events (product name, product ID, value, currency).

Unfortunately, not all of your events provide all the information you need. You can see many events in reports with no product name, ID, value, or currency. It does not help if you do a deep analysis of your marketing costs.

6 “Add to cart” event not working or firing multiple times.

Micro conversions are as important as macro conversions (sales). Some groups of people will not purchase your product but will progress through the conversion funnel, so you would like to track these events accurately, as well. The problem usually happens if you are using a 3rd party solution for AddToCart on your website. It could be with your theme files.

7 Product Detail View not working for “quick view” or firings repeat on same occasions.

Some Shopify stores have “quick view” options for products that are convenient for users but not easy to track as a product impression.

8 Products do not match with a product catalog.

You might also see issues with product names matching your catalogs.

9 Events firing multiple times.

Like the “Add to cart” event, there are many other events that are being fired multiple times and send wrong signals through FB Pixel.

10 Purchase not sending values.

Last but not least, no doubt the purchase is the most important event and “purchase value” is crucial. You want to be sure that you have accurate data so that you can know your ROI.

Chapter 4

FAQ on Shopify FB Pixel

FB Pixel Setup Chapter FAQ illustration

We don’t recommend using the native integration and GTM at the same time. You should pause Analyzify Facebook Pixel tags on GTM if you are using the native integration.

Check out our Playbook: Facebook Pixel & Shopify to learn more about the subject.

With Facebook Conversion API, all of the data a Shopify store generates can be sent to Facebook via a pixel, so that the marketing team or the Shopify store owner can calculate ROI and have an idea about which ads / ad copies / products / platforms / images perform better.

However, Facebook Pixel works at the browser level, so requests and data are processed through the visitor’s browser. Thus, it is vulnerable to ad blockers, iOS limitations, and browser cookie policies.

On the other hand, Facebook Conversion API works at the server level, so requests are sent directly to Facebook Servers from a Shopify Server or from your own server, depending on the Facebook CAPI Setup method you used in Shopify.

Analyzify's standard version uses the classic (web) Google Tag Manager which doesn't include the Conversion API.

We strongly recommend using the official Facebook App for your product feed, Facebook Pixel, and Facebook Conversion API setup. The native integration works quite well when the setup is done properly.

For Shopify Plus stores, we additionally recommend Analyzify’s Facebook Conversion API connection (included on our server-side add-on), as we are able to send more data compared to the native integration.

For regular Shopify stores, the native connection is the best solution at the moment.

Normally, Shopify's native Facebook Pixel integration should be working fine. More often than not, the reason for Facebook Pixel to not work is about your setup, so here is the roadmap we suggest:

This usually happens due to one of these reasons:

  • You are using multipe solutions (a few apps) for Facebook Pixel and they interfere with each other.

  • Facebook Pixel is activated from the native app and is also triggered through Google Tag Manager.

  • You have extra Facebook Pixel codes on your theme files (the codes might sometimes stay even when you delete the apps).

To avoid double-counting, just make sure to only use one solution. We recommend the native Facebook integration, and a clean up on your theme files. Delete all the Facebook Pixel codes you see because the native app already has those. You should also pause the related tags on Google Tag Manager.

If you are seeing any messages on Facebook Pixel that says the pixel is being fired on a shopifypreview.com link (e.g. abcd-123.shopifypreview.com), then you should know that these links are Shopify's theme preview links. If your pixel was fired there, it means somebody (probably from your team) previewed a theme, and Facebook Pixel simply detected it as a new domain.

So no, there is no point on allowing this domain, because it cannot be a real user.