Why Don't My Meta Ads and GA4 Numbers Match? (And Which One Is Right)

Meta Ads and GA4 rarely match because they answer different questions: Meta counts conversions from people who clicked, engaged with or saw your ad within its attribution window, while GA4 credits the conversion to the traffic source of the visit under its own attribution model. On top of that, the two tools date conversions differently, see different people (consent, ad blockers, Safari cookie limits) and depend on your UTM tags to recognise Meta traffic at all. Neither number is "wrong", but each is only comparable with itself. Adstudio puts your Meta Ads campaigns and your GA4 traffic and key events in one workspace, so you can read both for the same dates without switching tools.

TL;DR

  • Meta's default attribution setting counts conversions within 7 days of a click or 1 day of a view. GA4 never sees a view, so view-through conversions only exist in Meta.
  • Since March 2026, Meta's click-through column counts link clicks only, which Meta says should align better with tools like Google Analytics. Compare GA4 against Meta's click-through numbers, not the default total.
  • Meta can date a conversion on the day of the ad impression; GA4 dates it on the day it happens. Short date ranges disagree for that reason alone.
  • Missing or inconsistent UTM parameters make Meta traffic land in "(not set)", referral or direct in GA4.
  • Compare trends and ratios over several weeks, not single days, and decide in advance which tool is your source of truth for which decision.

Which number is right, Meta Ads Manager or GA4?

Both are right about what they measure, and both are incomplete.

Meta Ads Manager measures what happened after someone interacted with or saw your ad. Through the Pixel and the Conversions API it can connect a purchase to an ad even when the person never came back through a tagged link, so it tends to report more conversions than GA4 gives Meta credit for.

GA4 measures what happened on your site and assigns credit based on the visit that led there. It cannot see an ad impression on Instagram, so a person who saw your ad, then searched your brand on Google and bought, is credited to organic or paid search, not to Meta.

A practical split that works for most teams:

  • Use Meta's numbers to compare Meta campaigns, ad sets and creatives against each other, and to judge optimization, because that is the data Meta's delivery system learns from.
  • Use GA4 to compare channels against each other on the same rules, and to see what visitors do on the site after the click.
  • Use your backend (shop or CRM orders) as the tie-breaker for total revenue.

How do Meta's attribution windows cause the gap?

Meta's Ads Insights API reference defines the default attribution setting as 7-day click and 1-day view. In plain terms: a purchase is credited to your ad if it happens within 7 days of a click on the ad, or within 1 day of someone simply seeing it.

That view-through day is the single biggest source of disagreement. GA4 has no way to know a person saw an ad without clicking, so every view-through conversion in Ads Manager has no counterpart in GA4.

GA4 has windows of its own, and they work differently. Per Google's GA4 attribution settings help page, the lookback window for most key events defaults to 90 days (30 or 60 are the alternatives), and the reporting model is either data-driven or paid-and-organic last click. Rules-based models such as first click and linear have not been available since November 2023.

So for the same purchase, Meta asks "did this person interact with or see our ad recently?" and GA4 asks "which visit, out of everything in the last 90 days, gets the credit?" They will not land on the same count.

What changed in Meta attribution in 2026?

On March 3, 2026, Meta announced a change to click-through attribution for website and in-store conversions:

  • Click-through now means link clicks only. Likes, shares, saves and other non-link clicks no longer count as clicks.
  • Engaged-view became "engage-through" attribution, and conversions after those non-link interactions moved into it.
  • The engaged view threshold for video dropped from 10 seconds to 5 seconds.
  • Billing did not change, per the same announcement.

Meta says the reason for the link-only definition is to align better with third-party tools like Google Analytics. That gives you a clean rule for comparisons: put GA4 next to Meta's click-through conversions, not next to the blended total. In Ads Manager, use the Compare attribution settings option to show click-through, engage-through and view-through results separately.

It also means that if your Meta conversions dropped in spring 2026 while GA4 stayed flat, part of that drop is reclassification, not lost sales. Compare periods that sit entirely after the rollout reached your account.

Why does Meta show conversions on different days than GA4?

Because the two tools can put the same purchase on different dates.

Meta's API lets a report date conversions by impression time or by conversion time. The Insights reference gives the example of a person who saw an ad on January 1 and converted on January 2: by impression time the conversion shows on January 1, by conversion time on January 2. GA4 records the event on the day it happens.

On a 30-day range this mostly evens out. On "yesterday" or "last 3 days" it does not, and the most recent days in Meta keep growing as late conversions arrive. If you check daily, expect yesterday's Meta number to rise during the following week.

Why does GA4 show Meta traffic as referral, direct or "(not set)"?

GA4 identifies a campaign by the parameters on the landing URL. Google's guide to campaign URLs explains that utm_source, utm_medium and utm_campaign are what make a campaign appear in the Traffic acquisition report, that values are case-sensitive, and that missing UTM parameters result in "(not set)" values.

The common failures on Meta:

  1. No UTMs on some ads. Traffic from those ads arrives as facebook.com / referral, l.instagram.com / referral or direct, and drops out of your paid social numbers.
  2. Inconsistent values. facebook, Facebook and fb are three different sources in GA4. Pick one convention and set it at ad level with Meta's URL parameters field, using dynamic values such as {{campaign.name}} so the campaign name matches Ads Manager.
  3. Redirects that drop parameters. A redirect from http to https, from a short link, or through a consent page can strip the query string. Click your own ad and check the URL that finally loads.
  4. Clicks inside the Facebook and Instagram in-app browser followed by a purchase later in another browser. GA4 sees two different visitors and cannot connect the purchase to the ad click.

Meta also appends its own click ID, fbclid, to the landing URL. Per Meta's developer docs, that value feeds the fbc parameter used to match events back to the click. GA4 does not use fbclid for attribution, so it does not replace UTMs.

How do consent, ad blockers and Safari change the numbers?

Each tool loses a different slice of people.

  • Consent. With consent mode, a visitor who declines cookies sends GA4 cookieless pings instead, and Google fills the gaps with behavioural and conversion modelling. Without consent mode, those visitors are simply missing from GA4.
  • Ad blockers and privacy extensions block GA4 and the Meta Pixel to different degrees, so the browser-side counts drift apart.
  • Safari. WebKit's Intelligent Tracking Prevention caps cookies set by script to seven days. A Safari user who clicks your ad and buys nine days later can look like a new, direct visitor to GA4.

Does the Conversions API fix the mismatch?

It closes part of the gap on the Meta side, not the GA4 side.

The Conversions API sends events from your server, and Meta processes them like Pixel events for measurement, reporting and optimization. That recovers conversions the browser Pixel missed, so Meta's count usually gets more complete, and therefore often higher than GA4's. To avoid counting a purchase twice, send the same event ID from the Pixel and the server so Meta can deduplicate them.

GA4 has its own server-side option, the Measurement Protocol, but GA4 attribution still depends on the session, so the two tools will keep answering different questions. The goal is not identical numbers; it is a gap that stays stable, so a change in it means something.

How do I compare Meta Ads and GA4 the right way?

A comparison that holds up follows six steps:

  1. Fix the date range to several weeks, and leave out the most recent 7 days where you can: with a 7-day click window, Meta is still adding conversions to them.
  2. Match the event. Compare Meta "Purchases" with the GA4 purchase key event, not with "Key events" in total.
  3. Use click-through only on the Meta side, through Compare attribution settings.
  4. Filter GA4 to Meta traffic by Session source / medium (for example facebook / paid) or by Session campaign, using the UTM convention you set.
  5. Compare ratios, not totals. Track Meta-reported purchases divided by GA4 purchases from Meta over time. When that ratio jumps, look for a tagging change, a new redirect or a consent banner change before you blame the campaign.
  6. Write down which tool decides what. For example: Meta numbers for creative and audience decisions inside Meta, GA4 for budget split across channels, backend orders for revenue.

How Adstudio helps you read Meta Ads and GA4 together

Adstudio connects Meta Ads, Google Ads, TikTok Ads and Google Analytics 4 to one workspace, so the comparison above happens in one place instead of four browser tabs.

  • GA4 reports by Source / Medium, Session campaign, Default channel group and key event, for the same date range you are reading your ads in, so you can see whether Meta clicks are arriving as paid social or landing in referral and "(not set)". More on the GA4 side on the AI for Google Analytics page.
  • Meta results per campaign, ad set and ad, counted for what each ad set actually optimizes for: a lead campaign shows leads, a sales campaign shows purchases.
  • An assistant that states its measurement terms. Ask the AI assistant for Meta Ads "Analyze my top Meta campaign for the last 30 days" and the analysis says which attribution setting and report time the conversion numbers were read under, and marks the most recent days, still inside the attribution window, as not yet final. That is exactly the context you need before putting a Meta number next to GA4.
  • Google, Meta and TikTok side by side. If GA4 credits a sale to paid search that Meta also claims, you see both campaigns next to each other. Our guide on seeing Google, Meta and TikTok spend in one report covers that setup, and the post on why Google Ads shows conversions but zero ROAS covers the value side of the same tracking checks.

You can connect Meta Ads and GA4 on the free plan; paid plans are on the pricing page.

FAQ

Why does Meta show more purchases than Google Analytics? Meta counts conversions after a link click, an engagement or a view within its attribution window, and recovers some through the Conversions API. GA4 only credits Meta when the converting visit came from a tagged Meta click under its own attribution model. View-through conversions in particular never appear in GA4.

Why does GA4 show fewer conversions from Facebook than Ads Manager? Usually a mix of view-through credit in Meta, missing or inconsistent UTM parameters, conversions credited to another channel under GA4's model, and visitors GA4 cannot see because of consent choices, ad blockers or Safari's cookie limits.

What attribution setting should I use to compare Meta with GA4? Use Meta's click-through results, shown separately through Compare attribution settings in Ads Manager. Since March 2026 Meta's click-through counts link clicks only, which Meta describes as aligning better with tools like Google Analytics.

What is fbclid and does GA4 use it? fbclid is the click ID Meta adds to your landing page URL when someone clicks an ad. Meta uses it to match conversions back to the click through the fbc parameter. GA4 uses UTM parameters, not fbclid, to attribute Meta traffic.

How much difference between Meta and GA4 is normal? There is no official benchmark, and it depends on your share of view-through conversions, your tagging and your audience's browsers. What matters is that the gap stays stable over time. A sudden change in the ratio points to a tracking change before it points to performance.

Can I see Meta Ads and GA4 data in one dashboard? Yes. Adstudio connects Meta Ads and Google Analytics 4 to the same workspace, with GA4 traffic and key events by source, medium and campaign next to your Meta campaign results for the same dates.

Platform behaviour described as of October 2026, per the linked Meta, Google Analytics and WebKit documentation.