Skip to content

Conversion Tracking  ·  Reconciliation

How do I know whether Meta or Performance Max drove a sale?

You can't tell from either platform's own report, because both will claim the same sale. Use one neutral record as the source of truth, such as your Shopify orders or your booking system, and compare it against what each platform claims. Then test: hold one channel back in one region or for a set period and measure what the total does. Phone calls and bookings need their own tracking or they never show up at all.

Every store owner running both platforms hits this the first time they add the two dashboards together. Both will usually claim the same order, and both are telling the truth by their own rules.

Why both platforms claim the same order

A shopper clicks your Instagram ad on Monday, searches your brand on Thursday, clicks a Performance Max Shopping ad and buys. Meta counts the sale because the Monday click falls inside its default 7-day click window. Google counts it because of Thursday’s click. The store recorded one order.

Each platform measures with its own window and its own rules, and each is built to show its own value. Add the two dashboards together and you’ll always count some sales twice. It’s two scorekeepers watching the same game.

Performance Max adds a second wrinkle: it bids on your own brand searches unless you stop it, so it gets credit for people who were already coming to you. That’s covered in why Performance Max gets credit for Shopping conversions.

Pick one neutral source of truth

For a store, that’s the order record in your store platform. For a service business, it’s the booking system or the CRM where a lead becomes a signed client. The platforms are useful for steering inside each channel. The neutral record is what you judge them against.

Then compare totals over the same period. If the platforms together claim more sales than the store made, some of those claims overlap or are being counted twice. The question becomes what each channel adds on top of the other.

What the gap looked like on two stores I run

I pulled recent data for two online stores whose ad accounts I manage and put the platform claims next to each store’s own order record. To keep the stores unidentifiable I’m publishing ratios, not order counts.

Store 1Store 2
WindowAugust 17 to October 14, 2026July 1 to September 30, 2026
Google Ads purchases claimed per order0.83 (online orders)0.51 (all orders)
Meta purchases claimed per order0.07Meta not running
Combined platform claims per order0.890.51

Neither store’s platforms claim more than the store sold. That’s the first thing to check, and both pass. Claims below the order count are normal: some buyers come back without clicking an ad, some come through email or search, some buy in ways the tags never see.

Store 1 still had a duplicate hiding inside a healthy number. For several weeks in September a second purchase action, from the Google tag, was set to count toward bidding alongside the main one from the store’s sales-channel app. About one in eight of the purchases Google claimed in this window came from that second action, so some sales were counted twice and bidding learned from the inflated figure. It has since been set to stop counting. The total still looked believable, which is why this kind of duplicate survives for weeks.

I nearly published the wrong ratio myself. My first pull compared a full quarter of ad claims against the store’s order export, and showed Google claiming one and a half purchases per order. The order API only returns the last 60 days unless the app has full order history access, so half the quarter’s orders were missing. Same window on both sides, every time, or the comparison means nothing.

Neither number tells you what the ads caused. They tell you whether the scoreboard is sane enough to start testing from.

Test what each channel really adds

The honest answer comes from switching something off and watching the total.

  • Hold out a region. Pause Meta in one state or city for a few weeks and compare total sales there against similar areas where it kept running.
  • Hold out a period. Pause one channel for a set window, long enough for the data to settle, and watch whether total orders move.
  • Watch new vs returning buyers. A channel that mostly reaches people who already know you is worth less than its report says.

None of this needs expensive software to start. It needs clean tracking and the patience to change one thing at a time.

Phone calls and bookings: the sales nobody counts

For a service business, the biggest attribution gap usually isn’t Meta versus Google. It’s that most of the real conversions happen on the phone or in a booking system the ad platforms never see.

The fix has two parts. First, give each ad source its own tracked number so a call is tied to the ad that caused it, and record the calls so you can score which ones were real leads. Second, send qualified leads and booked jobs back to Google as offline conversions, so the bidding learns from the ones that turned into revenue instead of every ring. The setup is in how to track phone calls as Google Ads conversions and importing closed deals into Google Ads.

The full measurement setup I build is documented as The Tracking Stack, and the free audit at /audit-request shows where your current numbers are double counting.

Want your tracking checked?

Same check,
run on your tracking.

Thirty minutes on the phone. Before the call I compare what your ad platforms report against your real orders or leads, and check which tags fire on which events. You walk out knowing which numbers to trust and what to fix first.