Meta vs GA4 conversions: why the numbers never match, and which one to trust
Meta and GA4 rarely agree on conversions, and the gap is usually normal rather than broken. What each one counts, why they disagree, and the number to trust.
Meta and GA4 disagree because they count different things. Meta can credit a sale to an ad when the sale happens within seven days of a link click. It can also credit one within one day of someone seeing the ad without clicking it (Meta Business Help Centre). GA4 works from visits to your website, so it has no record of a Meta ad that was seen and never clicked.
So when a person scrolls past your ad on Tuesday and buys on a laptop on Wednesday, Meta can report a sale that GA4 files under direct. Both dashboards are reporting what they saw. The gap will not close, and the number to run the business on is neither of them: it is the orders and enquiries in your own shop or CRM.
The short version
- Meta’s standard attribution can count a conversion within 1 or 7 days of a link click, within 1 day of an ad impression, and within 1 day of other engagement with the ad.
- GA4 cannot see a Meta impression. It credits the channels that brought a visit to your site, with a default lookback of 30 days for first visits and 90 days for other key events.
- A steady gap between the two is normal. In the paid social accounts we manage, Meta usually reports a fifth to a half more than GA4, which is our own range and not a platform figure.
- A gap that changes shape is the warning sign: GA4 showing almost nothing, or a steady gap tripling in a week with no change in spend.
- Use Meta to compare ads with each other, GA4 to compare channels with each other, and your shop or CRM for the number you report.
What does each platform actually count?
Attribution is the decision about which ad or channel gets the credit for a sale or a lead. Each platform makes that decision by its own rules, from its own data.
Meta starts from people. It knows an account was shown your ad on Instagram, and it can connect a later sale to that account. GA4 starts from visits to your website. It sees a laptop session with no ad click attached and files it under direct or organic. The same sale ends up with two different explanations.
| What is counted | Meta Ads Manager | GA4 |
|---|---|---|
| A sale after a click on the ad | Yes, within 1 or 7 days of a link click | Yes, if the visit carries its campaign tags |
| A sale after an ad was seen but not clicked | Yes, within 1 day of the impression | No. GA4 has no record of the impression |
| A sale after other engagement with the ad | Yes, within 1 day, including a video played for 5 seconds | No |
| How far back credit can reach | 7 days at most for a click | 30 days by default for first visits, 90 days for other key events |
| What the data is built from | People who saw or clicked ads on Meta | Visits to your website |
The Meta column is from Meta’s page on attribution settings. That page also notes that some accounts are still on earlier versions of the click and engagement settings while the change rolls out (Meta Business Help Centre). The GA4 lookback windows are from Google’s attribution settings page, which also lets you shorten them (Google Analytics Help).
Why does Meta report more conversions than GA4?
Four differences do most of the work.
View-through conversions. Meta counts a sale within a day of an impression nobody clicked. GA4 cannot see the impression, so it never credits Meta for those sales.
Engagement that is not a link click. Meta’s engage-through setting counts conversions within a day of actions such as a five-second video play (Meta Business Help Centre). None of those actions is a visit to your site, so GA4 has nothing to attach the sale to.
Devices. Meta can connect an ad seen on a phone to a sale made on a laptop when the same account is logged in on both. GA4 often treats those as two unrelated visitors unless the person is signed in to your site on both.
The clock. Meta’s longest click window is seven days. GA4 looks back 30 days for first visits and 90 days for other key events by default (Google Analytics Help). Totals built on different clocks will differ even when everything else matches.
GA4’s choice of model matters less than people expect. It offers data-driven attribution, paid and organic last click, and Google paid channels last click (Google Analytics Help). Each of them can only share credit among the touches GA4 recorded. Paid social often does its work earlier, by putting you on the shortlist, and a touch that never became a tagged visit gets no credit under any of the three.

Photo: SHVETS production on Pexels.
Does a gap mean my tracking is broken?
Not by itself. A steady gap is the ordinary result of the differences above. In the paid social accounts we manage, Meta reporting a fifth to a half more than GA4 is common. That range is our own observation across those accounts. Neither platform publishes an expected figure.
The shape of the gap is what to watch.
| What you see | What it usually means | What to check first |
|---|---|---|
| A steady gap, month after month | Normal: view-through, devices and windows | Nothing. Note the ratio and keep watching it |
| GA4 shows almost none of the sales Meta reports | A tag has stopped firing, or ad links have no campaign tags | The thank-you page tag and the UTM parameters on the ads |
| Meta shows almost none | The pixel or Conversions API has stopped sending events | Events Manager, for the last event received |
| A steady gap triples in a week with no change in spend | Something changed on the site or in the settings | Recent site releases, consent banner changes, attribution settings |
Signal loss on iPhones is real and partial. AppsFlyer, a mobile measurement company, reported in April 2025 that 50 percent of users globally now consent to tracking when Apple’s prompt appears, an increase of 10 percent since the prompt was introduced (AppsFlyer). That figure comes from apps using AppsFlyer, so it describes its own customers. It still shows that a large share of the signal remains.
Which number should I trust?
Neither dashboard. Trust the outcomes you can count yourself: booked calls, signed jobs, invoices raised, orders in the shop admin. Those numbers do not depend on an attribution window.
Then give each dashboard the job it is suited to. Meta is the better tool for judging one ad against another, because it is the only system that saw the impression. GA4 is the better tool for judging channels against each other, because it is the only one of the two that saw the whole website.
Asking either one to settle the other’s argument is how owners end up pausing a campaign that was carrying the month.

Photo: Yan Krukau on Pexels.
How do I check whether Meta ads are really working?
Five checks, in this order.
- Pull the real numbers first. Leads in the CRM or inbox, jobs booked, revenue billed for the month.
- Pull total ad spend for the same month from Meta.
- Ask the plain question. Did the business get more of what it wanted for that money?
- Ask new customers how they found you. People misremember, and a pattern across thirty answers still tells you something.
- Run a holdout. Switch Meta off for two weeks and watch total lead or order volume.
The holdout is the check owners tend to skip, and it is the one that answers the question directly. Two quiet weeks are cheap against a year of arguing with a dashboard. The same method settles the equivalent argument in email, where the sending platform and analytics disagree for the same reasons, and what email marketing actually returns walks through that arithmetic.
Three settings that change the gap
The attribution setting in Meta. Choosing seven-day click with no view-through brings the dashboards closer. It also removes view-through conversions from what Meta reports, which makes awareness campaigns look weaker than they are. If you change it, keep it changed, so month-on-month comparisons still mean something.
The Conversions API. Meta describes it as a direct and more reliable connection between your server, shop platform or CRM and Meta (Meta Business Help Centre). It can recover events the browser pixel loses. It does not remove view-throughs or the difference in windows, so expect a gap to remain.
UTM tags on every ad link. GA4 labelling Meta traffic as direct usually means the ad link carries no campaign tags, or an in-app browser dropped the referrer when it handed off to Safari or Chrome. Google’s guidance is to always use utm_source, utm_medium and utm_campaign on campaign links (Google Analytics Help). The conversion tracking guide covers the setup.
The bottom line
Meta and GA4 answer two different questions on two different clocks, so the two numbers cannot be made to match, and a promise to reconcile them is a promise the platforms do not support. Pick your source of truth, hold the settings still, aim for a gap you can explain, and judge the ads on whether the business moved.
Questions people ask about this
How do I check whether my Meta pixel and GA4 tag are both firing?
Load a page on your own site with the browser’s developer tools open and watch the network requests, or use the Meta Pixel Helper extension and GA4’s DebugView. Do it on a phone as well as a laptop, because many tags break only on mobile. Check the thank-you page or the order confirmation specifically. That is where conversion events fire and where a redesign most often removes them.
Should I use Meta’s numbers or GA4’s when deciding to scale a campaign?
Neither on its own. Use Meta to decide which ad or ad set deserves more budget, because it is the only system that saw the impression. Then use the real outcome count, such as orders or booked calls, to decide whether the campaign as a whole deserves more money. If Meta says scale and the bank account says nothing changed, the bank account wins.
What size of gap should make me worry?
The post gives the range seen in the accounts we manage, a fifth to a half. Worry when the gap is far outside that, in either direction, or when a steady gap changes shape suddenly without a change in spend. GA4 showing almost nothing is a broken tag. Meta showing almost nothing is usually a pixel or Conversions API problem. A gap that is large but stable month after month is normal and can be worked with.
Can I make Meta and GA4 use the same attribution window?
Only partly. You can set Meta to seven-day click and remove view-through, and you can adjust GA4’s lookback windows in its attribution settings. Even then cross-device matching differs and GA4 cannot see impressions. The two will move closer, not together. Change the settings once, write down the date, and stop touching them, so month-on-month comparisons still mean something.
Why does GA4 show my Meta traffic as direct?
Usually because the ad link carries no UTM parameters, or because the in-app browser dropped the referrer on its way to Safari or Chrome. Add utm_source, utm_medium and utm_campaign to every ad URL through the URL parameters field in Ads Manager, so every ad inherits them. Then check the GA4 traffic acquisition report a week later. Most of the direct traffic should have moved to paid social.
Do I need the Conversions API for a small account?
If a meaningful share of your visitors decline cookies or use Safari, yes, because the browser pixel is losing events you are allowed to keep. Most shop platforms offer it as a native integration you can switch on. It recovers some of the gap and improves the data Meta bids on. It will not make the two dashboards agree, and nobody should tell you it will.
How do I run a holdout test properly?
Pick two quiet weeks, not your busiest fortnight. Pause every Meta campaign, change nothing else, and record total leads or orders from the shop or CRM each day. Compare against the two weeks before and the same weeks last year. If total volume barely moved, Meta was claiming conversions you would have got anyway. If it fell clearly, the ads were working whatever GA4 said.
What is a view-through conversion, in plain terms?
Someone sees your ad, does not click it, and buys within Meta’s one-day view window anyway. Meta counts that as a conversion the ad caused. GA4 never saw the ad, so it credits whatever the person did next, often a direct visit or a search. View-throughs are real for some campaigns and inflated for others. Reporting on seven-day click only tells you how much of your number depends on them.
Which conversion should I set as the goal in each platform?
The same real outcome in both, defined the same way. If the goal is an order, both should count orders, not add-to-carts in one and orders in the other. Mismatched definitions cause more of the argument than attribution does. In Meta, make that event the only primary conversion for the campaign. In GA4, mark the same event as a key event and check the counting method matches.
Does the discrepancy get worse with iOS users?
Yes, on the Meta side. Apple’s prompt means a share of iPhone users cannot be matched to their ad interaction, so Meta models some of those conversions statistically rather than seeing them. The post cites AppsFlyer’s April 2025 figure that half of users now consent. If your audience is heavily iPhone, expect more modelled conversions and a wider gap, and lean harder on the outcome count from your own systems.
How do I explain the gap to a business partner or a boss?
Say that Meta counts people it showed the ad to and GA4 counts website sessions, on different clocks, so they cannot match. Then show one number they trust: orders or leads this month against ad spend this month. Present the gap as a stable ratio you monitor rather than a problem to fix. Most arguments end when the conversation moves from dashboards to money.
Free review
Want this looked at on your own site?
Send the address. A person reads it and writes back with the two or three things that would move your enquiry number first. Free, and yours to keep whether you hire us or not.