Meta Ads Manager and GA4

Meta Ads conversions vs GA4 conversions: why they never match

Your Meta Ads Manager count and your GA4 count are answers to different questions. Ads Manager credits a conversion when an event it received falls inside your attribution setting, and it fills gaps with modeled estimates. GA4 counts the key events its own tag recorded and attributes them with Google's model and lookback window. This page explains why the two totals diverge, with both vendors' own documentation (Meta and Google, all checked 12 November 2026), and when the difference deserves a fix.

  • Meta credits conversions by your ad set attribution: within a click, view or engagement window you choose, and view-through credit exists only in Meta
  • GA4 counts the events its tag recorded, marks important ones as key events, attributes them with its own model over a 30 or 90 day lookback, and counts each event every time by default
  • When the Meta Pixel and Conversions API send the same event without matching event IDs, Meta can count it twice; conversions that reach Meta only from your server never appear in GA4
Hitsteps live analytics dashboard
Overview

The short answer

Meta counts the conversions its events fall into under your attribution setting, plus modeled estimates where data is missing. GA4 counts the key events its tag recorded, once per event by default, attributed with Google's model and lookback window. Same setup, different counting: the same purchase can be credited to Meta within a week and to another channel in GA4, or counted in one tool and missed by the other. That is why the totals never match, even when every event fires correctly.

  • Meta credits a conversion to an ad within the window you set: 1 or 7 days after a link click, and within 1 day after an ad view. View-through credit does not exist in GA4.
  • GA4 has its own attribution settings: a 30-day lookback for first-visit key events, 90 days for other key events, its own attribution model, and once-per-event counting as the recommended default for new key events.
  • Two systems, one purchase: the same conversion appears in both tools, each crediting it through its own rules on its own timetable.
  • Meta models missing data and GA4 models some key events too, so part of both totals is estimated, and the two independent estimates never match.
Tool 1

What Meta Ads Manager counts

Meta counts events that arrived from your Meta Pixel in the browser, from the Conversions API on your server, platform, app or CRM, or from both. Its attribution setting then decides which conversions are credited to your ads. In Meta's own words, click-through counts events that occurred within 1 day or 7 days after a link click on your ad; view-through counts events that occurred within 1 day after an impression of your ad; engage-through counts events that occurred within 1 day after a non-link click action. The most common combination runs a 7-day click window with a 1-day view window.

  • Events come first, attribution second. A purchase must reach Meta as an event before it can be counted, and the ad set attribution setting then decides whether that ad gets credit inside the window you chose.
  • View-through conversions exist only in Meta. A person who saw your ad, never clicked, then bought within a day: Ads Manager can report that purchase as a conversion, while GA4 never sees an impression.
  • Deduplication needs a matching event ID. When the Pixel and the Conversions API both send the same purchase, Meta treats them as one only if the Pixel eventID matches the server event_id and the event names match, within a 48-hour window. Without the match, the same purchase can be counted twice in Ads Manager.
  • Modeled conversions fill privacy gaps. Meta estimates conversions where conversion data is missing or partial, mostly for privacy-limited users, from groups of similar users, and reports them alongside the directly observed ones. You cannot open a modeled conversion and inspect the visit.

Meta answers one question well: how often did the events I sent, attributed inside my chosen windows, end in a conversion or an estimate of one. That is why its total starts from your ad account settings, not from your site's own records.

Tool 2

What GA4 counts

GA4 counts events its tag recorded on your site. An event you mark as important becomes a key event, and a conversion is a Google Ads conversion created from a key event. By default a key event is counted every time it fires in a session, once per event, unless you set it to once per session.

  • Important events first. Marking an event as a key event makes it appear in GA4 reporting, and creating a conversion from it makes it consistent with Google Ads. GA4 counts it every time it fires in a session by default, and a conversion in GA4 is event-scoped, so it can use data-driven attribution rather than last-click.
  • Google attribution with its own windows. The key event lookback window defaults to 30 days for first-visit acquisition key events and 90 days for all other key events. An 8-day-old purchase still earns GA4 attribution credit where a 7-day click window in Meta no longer counts it.
  • Only what the tag observed. Visitors who block JavaScript, decline analytics consent, or hit a tag error send no event, so GA4 never sees the purchase even when Meta counted a conversion from your server or from a model.
  • GA4 models some key events too. Google estimates key events it cannot observe directly, for example with consent mode for unconsented users or between devices, and its attributed data can keep updating for up to 12 days after the conversion was recorded.

GA4 answers a different question: what did my site's tag record, and how does Google credit those events across all channels. That is why its total starts from your tag and your property settings, never from your ad account.

The gap

Why the two numbers never match

The reasons below follow Meta's and Google's own reference pages from the sections above. Each cause is a definition or a timing difference, and several can stack in one account:

  • Different windows and different models. Meta credits within your chosen attribution windows (a 7-day click window with a 1-day view window in most accounts); GA4 attributes with its own model over 30 or 90 days. The same purchase is counted in both, or in one and not the other, depending on when it happened.
  • View-through credit only in Meta. Buyers who saw the ad and never clicked: Meta can count them within a day of the impression; GA4 reports only what its tag saw. This is one definitional reason why Meta can run above GA4, on top of the deduplication and modeled conversion causes in this list.
  • Deduplication failures, or events that exist on one side only. A Pixel event without a matching Conversions API event_id can be counted twice in Meta. A conversion that arrived only through the Conversions API, for a user whose browser blocked the Pixel, appears in Meta and never in GA4.
  • Modeled and estimated conversions on both sides. Meta and GA4 both estimate some conversions from privacy, consent and cross-device gaps. The models are independent, the estimates differ, and neither is a visit you can open in the other tool.
  • Counting method. GA4 counts a key event every time it fires in a session by default; Meta's count depends on its deduplication and attribution windows. A single session with two completed purchases can look very different in each tool.
  • Tag coverage and blockers. Ad blockers, consent declines and technical errors stop the GA4 tag or the Meta Pixel independently, so one tool can record a conversion the other missed entirely.
  • Processing and timing. GA4 batches daily in the property time zone, can take 24 to 48 hours to settle, and can keep updating attributed data for up to 12 days. Meta refines modeled results as more data arrives. A fresh comparison always looks worse than a settled one.

None of these is a bug in either tool: each counts its own defined thing. The gap deserves a look when one side runs roughly twice the other, when a platform shows almost no conversions while orders keep coming, or when a total jumps by a lot in a day.

Next steps

How to check whether something is actually wrong

  • Compare the same definition. Pair Meta's purchase conversion with the same purchase key event in GA4, for identical dates on both sides, at least a week back so processing has settled. View-through credit has no GA4 twin: compare click-path counts, or use Meta's compare attribution settings tool to see your totals without the view window.
  • Check deduplication first when Meta is higher. In Meta Events Manager, confirm that the Pixel eventID matches the Conversions API event_id for the same event_name, and read the deduplication results. When they never match, the same purchase is counted twice in Ads Manager.
  • Check which events reach which tool. Does the Meta Pixel fire on the checkout confirmation page? Is the same event also sent from your server? Does GA4 receive the purchase event its tag fires there? Blockers and consent declines affect each side on its own.
  • Check the GA4 key event definition. Which event is marked as a key event or conversion, and is the counting method once per event or once per session? A changed definition changes the total without anything breaking.
  • Watch the direction and the ratio, not the day. A stable gap is normal and definitional. Investigate when Meta runs roughly twice GA4, when one tool shows almost nothing, or when a total jumps sharply within a day.

If Meta regularly shows about double GA4, the first thing to look at is Pixel and Conversions API deduplication, then the share of view-through conversions in your attribution setting. If GA4 shows far fewer purchases than your store while Meta reports plenty, check that both tags load on the confirmation page and that the purchase event fires there once per order.

One reliable count

Add a count you control

If you want a second, independent view of the same visits, add a tracking code you own. Hitsteps uses a single tag on the site that starts a real-time visitor list with pages, countries and referrers, UTM and ad attribution, actions, goals and revenue, all in one dashboard. It records the visits its tag sees as they happen, and it runs alongside Meta and GA4 for as long as you want all three.

That gives you a count that comes from your own site, next to what Meta and Google report, with the same attribution caveat. Like any tag, it only sees visits where the tag loads and JavaScript runs, so treat it as a second view, not a perfect total. Where Ads Manager and GA4 disagree, you can open the individual visits and see which orders actually arrived from your tracked pages.

Questions

Frequently asked questions

Why does Meta Ads Manager show more conversions than GA4?

The usual first cause is attribution. Meta counts conversions that fall inside your attribution setting, and the default ad set combination credits a conversion for 7 days after a click and 1 day after a view, so people who saw your ad and bought without clicking can be counted. GA4 counts the events its own tag recorded, once per event by default, and attributes them with its own model over a 30 or 90 day lookback. View-through credit simply does not exist in GA4. A deduplication problem is the second suspect: when the Pixel eventID does not match the Conversions API event_id, Meta can count the same purchase twice.

Why is GA4 higher than Meta Ads Manager?

Check what fires where. If the Meta Pixel is blocked or fails on the confirmation page while the GA4 tag fires, GA4 records the purchase and Meta does not. A longer GA4 lookback also credits older purchases that fell outside Meta's 7-day click window, and purchases that GA4 observed but Meta never received an event for behave the same way. If your server does not send the Conversions API event, or sends it with an event_id that does not match the Pixel, Meta can miss the purchase while GA4 counts it.

Is a view-through conversion one I should count?

It is a conversion count Meta reports, not a click, and not an order you can open in GA4. Meta's attribution setting can credit events that occurred within 1 day after an impression of your ad, with no click at all, and GA4 does not count impressions. If you want a number closer to GA4, compare only click-through conversions, or use the compare attribution settings tool in Ads Manager to see your totals without the view-through window.

Do modeled conversions explain the difference?

Partly. Meta estimates conversions where data is missing or partial, mostly from privacy-limited environments since Apple's app tracking changes, and reports them alongside the directly observed ones. GA4 models some key events as well, for example with consent mode, and its attributed data can keep updating for up to 12 days. The two models are independent, so part of each total is an estimate, and the estimates never match.

How should I compare Meta conversions with GA4?

Compare the same purchase definition over the same settled dates: Meta's click-path conversions without view-through, against the same key event in GA4 that fired on the confirmation page, going back at least a week so processing has settled on both sides. Check deduplication first when Meta runs higher, confirm the GA4 key event definition and counting method, and treat a stable gap as normal. Investigate when one side roughly doubles the other, or shows almost no conversions while orders keep coming.

Sources

Where these facts come from

Definitions and reasons above follow Meta's and Google's own documentation, checked 12 November 2026:

See your own traffic and conversions next to what Meta and Google claim.

Create your account, add one tracking code and watch visits arrive in real time, with sources, actions, goals and revenue, independently of Meta Ads Manager and GA4.

Get started