RevenueFlows AI
Traffic & Ads 6.0+ Event Match Quality score Meta recommends aiming for

Meta Conversions API for Shopify: Setup and Match Quality

Meta says 195 purchases. Shopify says 300. Here's how to turn on the Conversions API inside Shopify's Facebook & Instagram channel, and how to push your Event Match Quality past the 6.0 Meta recommends.

Part of the guide Ecommerce Traffic Strategy: Meta, Google Shopping, Affiliates, PR →
A navy control room where a glowing orange server line carries purchase receipts from a Shopify store to an ad dashboard, beside a faint, broken browser signal.

Open two tabs. Shopify orders in one, Meta Ads Manager in the other, same date range.

If the numbers don't match, you're not alone. Here's the short answer for anyone searching Meta Conversions API Shopify setup: go to Sales channels, Facebook & Instagram, Settings, Data sharing settings, turn on customer data sharing and pick Maximum. That sends your purchases from Shopify's servers straight to Meta's servers, next to the browser pixel. Then open Events Manager and check your Event Match Quality score. Meta recommends aiming for 6.0 or higher.

That's the setup. The match score is where most stores quietly lose.

Because here's the thing. Sending an event and getting credit for it are two different jobs. A purchase Meta can't tie to a real person is a receipt with no name on it. It shows up. It teaches the algorithm nothing.

Why does Meta report fewer purchases than Shopify?

Shopify counts every order. Every single one.

Meta counts something smaller: purchases it received, that it could match to a Meta account, that it could connect to someone who clicked or saw your ad inside your attribution setting. Three filters. Each one shaves orders off.

The first filter is the browser. Shopify's own data sharing page says it plainly: on the Standard level, "a browser-based ad blocker can prevent the Meta pixel from sharing data." The order still happened. The pixel just never got to say so.

The second filter is matching. Meta's Conversions API best practices say only matched events can be used for ads attribution and for deciding who sees your ads next. Unmatched events still count for basic measurement. They just can't teach the system who your buyer is.

The third filter is timing. A buyer who clicks today and buys after your attribution setting runs out is a Shopify order and a Meta ghost.

Shopify counts the order. Meta counts the order it can prove. Your job is to close the distance between those two.

How do you set up the Meta Conversions API on Shopify?

You don't need a developer. Shopify's Facebook & Instagram channel ships with the server connection built in. Here's the six-step version.

  1. Add the Facebook & Instagram sales channel.
  2. Connect your business portfolio, Page and pixel.
  3. Open Settings, then Data sharing settings.
  4. Turn on customer data sharing.
  5. Choose Maximum under Choose level.
  6. Confirm server events in Events Manager.

A few things trip people up on steps 1 and 2. Shopify's setup guide says your business portfolio has to own the Facebook Page during onboarding, and your Facebook account needs full control of both. If your myshopify.com domain is already tied to another business portfolio, setup fails until you remove it there. I've watched founders lose a whole afternoon to an old agency's portfolio that still claimed their domain.

Now the levels. Shopify gives you three.

Level What it sends Blocked by ad blockers? Customer details shared for matching
Standard Meta pixel only Yes Browsing behavior the pixel collects
Enhanced Pixel plus Conversions API Server events can't be Name, location, email, phone, browsing behavior
Maximum Pixel plus Conversions API, kept current with Meta's latest ad tech Server events can't be Same as Enhanced

Pick Maximum. Shopify describes it as the level "updated with Facebook's latest advertising technology," and you get the same server connection as Enhanced either way.

One honest caveat. Shopify notes that the options you see depend on when you installed the channel, and that data sharing is a choice your customers deserve to know about. Update your privacy policy to say what you share. I'm not your lawyer. Still, that's how you keep the trust you paid for.

What is Event Match Quality, and what score should you aim for?

Event Match Quality is Meta's grade on the customer details attached to your server events.

Meta's Dataset Quality API docs define it as a score out of 10 that shows how well the customer information from your server can match events to a Meta account. It looks at which details you send, how good they are, and what share of events actually matched.

On target, Meta's setup verification page says it typically recommends aiming for 6.0 or higher, and that a higher score can help lower your cost per action. You find the score on the Overview page for your pixel in Events Manager, broken out by event.

A purchase with an email, a phone number and a click ID is a buyer. A purchase with only a browser string is a rumor.

Here's what feeds the score. Meta's customer information parameters list the keys.

Meta's best practices name email, IP address, name and phone as examples of high quality details, and ask for external_id and event_id on every event. On a Shopify Purchase event, checkout already collects most of that. Your weak spots are usually the earlier events, like View Content and Add to Cart, where nobody has typed an email yet.

How do you raise Event Match Quality on Shopify?

Start with the event that pays the bills. Purchase first. Then Initiate Checkout. Then everything else.

Get the email earlier. The fastest match quality lift on most stores I audit has nothing to do with tracking code. It's a pop-up or a quiz that captures an email before checkout. A known shopper carries their details into every event after that.

Protect the click ID. The fbc value comes from the fbclid in your ad link. If a redirect, a link shortener or a landing page app strips that parameter, Meta loses its best clue. Click one of your own ads, land on the page, and check that fbclid is still in the address bar.

Keep the pixel running. Meta's best practice is a redundant setup: the same events through both the pixel and the Conversions API. The Shopify channel handles this for you. Don't rip the pixel out because you heard "server side is better."

Watch deduplication. Meta's deduplication guide says the pixel's eventID must match the server's event_id and the event names must match too, and duplicates only get merged if they arrive within 48 hours of the first one. If you added a second tracking app on top of the native channel, check the Event Deduplication tab. Two apps firing two different IDs means Meta counts some purchases twice, and your numbers look better than your bank account.

Custom builds get help too. If a developer sends events from your own server, Meta's open source Parameter Builder Library handles the fbc, fbp and IP address details and hashes email and phone the way Meta expects. On the native Shopify channel, you can skip it.

What does better match quality do for your ads?

Run the math on a store like this (a hypothetical, built to show the mechanism, not a benchmark).

A pet supplement brand sends 12,000 visitors from Meta in a month and spends $9,000 to get them. Conversion rate is 2.5%. Average order value is $80. That means revenue per visitor is $2.00, so those 12,000 visitors produce 300 orders and $24,000 in Shopify.

With the pixel only, say Meta counts 195 of those purchases. That's $15,600 in its reports, or $1.30 per visitor in Meta's eyes.

Here's the math that changes decisions. On Shopify's numbers, $24,000 on $9,000 spent is a return on ad spend of about 2.7. On Meta's pixel-only numbers, $15,600 on $9,000 is about 1.7. If your break-even return sits at 2.0, one founder scales and the other founder kills a winner.

Now watch what happens on the AI side. Meta's ad system picks who sees your next ad by studying who bought from the last one. Our breakdown of the Meta Andromeda update covers how much of that choosing is now automated. And Advantage+ sales campaigns hand even more of it over. Every unmatched purchase is a buyer the machine never studies. Feed it 255 real buyers instead of 195 and it has more people like your people to go find.

Use AI on your side too. Paste a week of Shopify orders and a week of Meta purchases into an AI assistant and ask it to flag the days where the gap jumps. A sudden jump usually means something broke that day.

Why won't the numbers ever match perfectly?

They won't. Stop chasing 100%.

Some buyers never touched an ad. Some bought after your attribution setting ran out. Some opted out of data sharing, which is their right. A healthy setup still shows a gap. What you want is a steady one.

So pick one number to watch. Divide the purchases Meta reports by your Shopify orders for the same week. That's your capture rate. I'd rather have a steady capture rate I can adjust for in my head than a perfect dashboard I can't trust. If it's steady, judge campaigns on Shopify revenue and move on. If it drops overnight, fix the tracking before you touch a budget. Our guide to first party tracking on Shopify goes deeper on why the order record has to be your anchor.

The goal is a gap you can predict, not a gap of zero.

Is tracking the real bottleneck?

Not usually. And I say that at the end of a whole post about tracking.

Good match quality helps Meta find more buyers like your buyers. It doesn't make those buyers buy. That's the page's job.

Look at the math on our homepage. A product converting at 1% with a $50 average order value earns $0.50 per visitor. Get it to 3% at $80 and it earns $2.40 per visitor. That's 4.8x more revenue from the same traffic. No tracking setting on earth does that.

So fix the plumbing first, because you can't steer with a broken gauge. Then put your energy where the money multiplies. When you're ready to spend more, scaling Facebook ads without losing margin is the next read, and the full ecommerce traffic strategy shows where Meta fits next to Google Shopping, affiliates and PR.

What to do next

Open Events Manager today, click your pixel's Overview page, and find the Event Match Quality score on your Purchase event. If it's under 6.0, start with the email capture fix. If you're still on Standard data sharing, switch to Maximum before you spend another dollar.


Book Your Profit Audit

Once Meta can see your real buyers, the next leak is the page they land on. On a profit audit we'll show you what each visitor is worth on your store right now, and how to rebuild a high-converting product sales page in less than 15 minutes.

Book Your Profit Audit →

Or go here to check it out → revenueflows.ai

P.S. A purchase Meta can't match is a buyer it can't learn from. Send the receipt with a name on it.

Frequently asked questions

How do I set up the Meta Conversions API on Shopify?

Install the Facebook & Instagram sales channel, connect your business portfolio, Page and pixel, then go to Settings, Data sharing settings, turn on customer data sharing and choose Enhanced or Maximum. Both of those levels send events through the Conversions API alongside the Meta pixel, so there's no code to write.

What is a good Event Match Quality score?

Meta scores Event Match Quality from 1 to 10 and says it typically recommends aiming for 6.0 or higher. Treat 6.0 as the floor for your Purchase event, then work on adding email, phone, name and click ID coverage to push it higher.

Why does Meta show fewer purchases than Shopify?

Shopify counts every order. Meta only counts purchases it received and could tie to a person who saw or clicked your ad inside your attribution setting. Blocked pixels, weak match keys and timing all shrink Meta's number. A server connection and better match quality close part of that gap, never all of it.

Do I still need the Meta pixel if I use the Conversions API?

Yes. Meta's own best practice is to send the same events through both the pixel and the Conversions API, with the same event name and event ID, so Meta can keep one and drop the duplicate. The pixel brings browser context. The server brings the events the browser lost.

What's the difference between Enhanced and Maximum data sharing on Shopify?

Both use the Conversions API plus the Meta pixel and both share customer details like name, email, phone and location for matching. Shopify describes Maximum as also being updated with Facebook's latest advertising technology, which is why it's the level most stores should pick.

The Revenue Per Visitor Dispatch

One revenue-per-visitor playbook. Every Tuesday.

Join 7,000 plus Shopify and Amazon founders getting the one tactic we tested this week: what worked, what flopped, and exact dollar impact.