Skip to main content
Coming Soon to Shopify

How to Set Up Meta CAPI for Shopify: Step-by-Step Guide

By ReclaimROAS Team

If you are running Meta ads for your Shopify store, there is a good chance your conversion data is incomplete. Browser-based tracking alone is no longer reliable, and Meta knows it. That is why they created the Conversions API, commonly called CAPI. Setting up Meta CAPI for Shopify is one of the most impactful things you can do for your ad performance right now.

But the setup process can feel confusing. There are multiple methods, conflicting tutorials, and a lot of technical jargon floating around. This guide breaks it all down into plain English and walks you through three different ways to get CAPI running on your store.

TL;DR

Meta CAPI sends your Shopify conversion data directly from server to server, bypassing ad blockers and browser restrictions. You can set it up three ways: Shopify's built-in integration (free but limited), Google Tag Manager server-side (powerful but complex), or a tracking app like ReclaimROAS (simple and automatic). Whichever method you choose, always verify it is working in Meta Events Manager and aim for an Event Match Quality score of 7.0 or higher.

What Is Meta CAPI in Plain English?

The Meta Pixel (formerly the Facebook Pixel) works in your customer’s browser. When someone visits your store, a small script fires and sends event data — page views, add-to-carts, purchases — back to Meta.

The problem is that browsers are increasingly hostile to this kind of tracking. Ad blockers strip the pixel script entirely. Safari deletes cookies within days. iOS asks users to opt out of tracking, and most do. The result: your pixel misses a large portion of real conversions.

Meta CAPI takes a completely different approach. Instead of relying on the customer’s browser, your server communicates directly with Meta’s server. When a purchase happens in Shopify, the data goes from your backend straight to Meta — no browser involved.

Think of it this way: the pixel is like sending a letter through a postbox that might be blocked or vandalised. CAPI is like making a direct phone call. The message gets through regardless of what is happening on the customer’s device.

Why You Need CAPI Alongside the Meta Pixel

Here is an important distinction: CAPI is not a replacement for the Meta Pixel. It is a supplement. Meta explicitly recommends running both together.

The pixel still captures valuable browser-side signals like page views, scroll depth, and micro-interactions that happen before a conversion. CAPI ensures the high-value events — purchases, add-to-carts, initiating checkout — get reported reliably even when the pixel cannot fire.

When you run both, Meta receives two signals for the same event and uses a process called deduplication to merge them into a single data point. This gives Meta’s algorithms the most complete picture of your customer journey, which directly improves ad targeting, bidding, and attribution.

If your Meta Pixel is already missing purchases, CAPI is how you fill those gaps. Let’s look at the three ways to set it up.

Method 1: Shopify’s Built-In Integration

This is the simplest starting point and it is completely free. Shopify has a native integration with Meta through the Facebook & Instagram sales channel.

How to set it up:

  1. In your Shopify admin, go to Settings > Apps and sales channels.
  2. Open the Facebook & Instagram sales channel. If you have not installed it yet, add it from the Shopify App Store.
  3. Click Settings within the sales channel.
  4. Under Data sharing settings, set the toggle to Maximum.

That is it. When data sharing is set to Maximum, Shopify automatically sends server-side events to Meta via CAPI alongside the browser pixel events.

Pros:

  • Completely free — no additional apps or services needed.
  • Built directly into Shopify, so there is nothing extra to install.
  • Maintained by Shopify, so it stays up to date with platform changes.

Cons:

  • Limited customisation. You cannot control which customer data parameters are sent.
  • Basic event matching. The integration sends a minimal set of user identifiers, which can result in a lower Event Match Quality score.
  • No visibility. There is no dashboard showing you what is being sent, what is being matched, or what is being missed.
  • Shopify controls the timing and format of events, which may not align perfectly with Meta’s best practices.

For small stores with modest ad spend, this method is a reasonable starting point. But if you are spending more than a few hundred dollars a month on Meta ads, the limitations become costly. Poor event matching means Meta’s algorithms receive lower-quality data, which translates to higher CPAs and less efficient ad spend.

Method 2: Google Tag Manager Server-Side

For merchants who want full control over their tracking data, server-side Google Tag Manager (sGTM) is the most flexible option. It acts as an intermediary server that receives events from your store and routes them to Meta (and other platforms) in exactly the format you specify.

How to set it up:

  1. Create a server-side GTM container. In Google Tag Manager, create a new container and select “Server” as the container type.
  2. Provision a tagging server. You will need a cloud server to run the container. Google offers automatic provisioning through Google Cloud, or you can use a service like Stape.io. Expect to pay $10-50 per month in hosting costs depending on your traffic volume.
  3. Set up a web GTM container on your Shopify store (or use an existing one) to forward events to your server container.
  4. Add the Meta Conversions API tag in your server-side container. You will need your Meta Pixel ID and a CAPI access token, which you generate in Meta Events Manager under Settings.
  5. Configure event parameters. Map each Shopify event (Purchase, AddToCart, InitiateCheckout) to the corresponding Meta standard event. Include user data parameters like hashed email, phone number, and client IP for better matching.
  6. Set up event deduplication. Ensure your browser pixel and server-side CAPI tag use the same event_id for each event so Meta can deduplicate correctly.
  7. Test using Meta’s Test Events tool in Events Manager to confirm events are arriving.

Pros:

  • Complete control over every data point sent to Meta.
  • Can route events to multiple platforms (Meta, Google, TikTok) from a single server.
  • You own the infrastructure and the data flow.

Cons:

  • Requires significant technical knowledge. If terms like “tagging server” and “event parameters” feel foreign, this method will be a struggle.
  • Hosting costs add up — $10-50 per month for the server alone.
  • Ongoing maintenance is required. When Meta updates their API, or Shopify changes their checkout flow, you need to update your configuration.
  • Debugging issues requires comfort with server logs and network requests.

Server-side GTM is a powerful tool for technical teams and agencies. But for most Shopify merchants who just want their ads to track properly, it is overkill.

Want to skip the technical setup?

ReclaimROAS configures Meta CAPI automatically for your Shopify store. No GTM, no code, no hosting costs.

Install ReclaimROAS Free →

Method 3: Use a Tracking App (The Simplest Way)

If you want the reliability of CAPI without the complexity of GTM, a dedicated tracking app is the sweet spot. Apps like ReclaimROAS handle the server-side integration for you, so you get the benefits without needing to touch any code.

How to set it up with ReclaimROAS:

  1. Install ReclaimROAS from the Shopify App Store.
  2. Connect your Meta ad account and pixel within the app.
  3. CAPI events start flowing automatically. The app detects purchases, add-to-carts, and other standard events from Shopify and sends them to Meta via the Conversions API.

That is genuinely the entire process. There is no server to provision, no tags to configure, and no code to write.

Pros:

  • No technical knowledge required. If you can install a Shopify app, you can set up CAPI.
  • No hosting costs or separate infrastructure to manage.
  • Built-in dashboard showing exactly which events are being sent and matched.
  • Automatic deduplication handled for you.
  • The app stays updated when Meta or Shopify make changes, so your tracking does not break.

Cons:

  • Monthly cost for paid tiers, though ReclaimROAS offers a free tier to get started.
  • You are relying on a third party rather than owning the infrastructure yourself.

For the vast majority of Shopify merchants, this is the right approach. You get reliable server-side tracking without turning yourself into a data engineer.

How to Verify CAPI Is Working

Regardless of which method you chose, you need to confirm that server-side events are actually arriving at Meta. Here is how to check.

Step 1: Open Meta Events Manager

Go to Meta Events Manager and select your pixel. On the Overview tab, you will see a graph of recent events.

Step 2: Look for “Server” Events

Click on any event type (like “Purchase”) and look at the Connection Method breakdown. You should see events labelled as both Browser and Server. If you only see Browser events, your CAPI setup is not working.

Step 3: Use the Test Events Tool

In Events Manager, click the Test Events tab. This shows events arriving in real time. Place a test order on your store and watch for the Purchase event to appear with a “Server” connection method.

Step 4: Check Your Event Match Quality Score

This is arguably the most important metric. Navigate to your pixel’s Overview tab and look at the Event Match Quality column next to each event type. This score runs from 0 to 10 and measures how well Meta can match your server events to real users.

Aim for a score of 7.0 or higher. Below that, Meta cannot reliably match your events to ad interactions, which undermines the entire purpose of CAPI. If your score is low, it usually means you are not sending enough user parameters (email, phone, IP address, user agent).

For a broader look at auditing your entire tracking stack, our complete guide to Shopify conversion tracking walks through the full process.

Common CAPI Pitfalls to Avoid

Even with CAPI properly set up, there are a few traps that catch merchants off guard.

Double-Counting from Missing Deduplication

This is the most common mistake. If your pixel fires a Purchase event and your CAPI also sends a Purchase event for the same transaction, Meta needs a way to know they are the same event. That is what the event_id parameter does.

Both the browser event and the server event must include an identical event_id. Without it, Meta counts the purchase twice, inflating your reported conversions and throwing off your ROAS calculations. You will think your ads are performing better than they are, which leads to bad budget decisions.

If you are using Shopify’s built-in integration or a tracking app like ReclaimROAS, deduplication is handled automatically. If you set up CAPI through GTM, you need to configure this yourself.

Low Event Match Quality

A low match quality score means Meta cannot reliably connect your server events to user profiles. The most common causes are:

  • Not sending hashed email addresses. This is the single most impactful parameter for matching.
  • Missing phone numbers. Including the customer’s phone number (hashed) significantly improves match rates.
  • Not including the fbp and fbc cookies. These first-party cookies help Meta link server events to browser sessions.

The fix is straightforward: send more customer data parameters with each event. A good tracking app does this automatically. With GTM, you need to map these fields manually.

Access Token Expiration

If you set up CAPI manually (through GTM or direct API calls), you generated an access token in Meta Events Manager. These tokens can expire or be revoked, and when they do, your CAPI events silently stop sending.

There is no alert from Meta when this happens. Your pixel continues to work, so Events Manager still shows some data, but your server events disappear. You might not notice for weeks.

Check your token periodically, or use a method (like a tracking app) that manages authentication automatically.

CAPI and Google: Completing the Picture

If you are running Google Ads alongside Meta, the same principle applies. Google has their own server-side solution called Enhanced Conversions, and it provides similar benefits — better attribution, more complete data, and improved bidding performance.

Setting up Google Enhanced Conversions for Shopify follows a similar pattern to CAPI: you can do it manually, through GTM, or with a tracking app. If you have already tackled Meta CAPI, adding Google Enhanced Conversions is the logical next step to ensure your entire ad strategy is working with accurate data.

Which Method Should You Choose?

Here is a quick decision framework:

  • Just getting started or testing the waters? Use Shopify’s built-in integration. It is free and better than nothing.
  • Have a developer or agency on hand and want full control? Server-side GTM gives you maximum flexibility, but budget for the ongoing maintenance.
  • Want reliable CAPI without the hassle? A tracking app like ReclaimROAS handles everything automatically and gives you visibility into what is being sent.

The best CAPI setup is the one that actually works and stays working. A perfectly configured GTM container that breaks after a Shopify update is worse than a simple app that keeps running quietly in the background.

Whatever you choose, verify it regularly. Check Events Manager monthly, keep an eye on your Event Match Quality score, and make sure server events are flowing. Your ad performance depends on it.

Skip the complexity.

ReclaimROAS sets up Meta CAPI for your Shopify store automatically — no code, no GTM, no maintenance. Install free today.

Install ReclaimROAS Free →

Stop losing conversions

ReclaimROAS recovers the sales your ad platforms are missing. Install free from the Shopify App Store.

Coming Soon to Shopify