For agencies that grow D2C brands
How do you reconcile GA4, Meta and Google Ads numbers?
To reconcile GA4, Meta and Google Ads, line up the same dates, the same conversion event and each platform's attribution setting, then explain the gap. Meta counts views and a 7-day click window, Google Ads dates conversions to the click, and GA4 shares credit across channels. A steady gap is normal; a sudden one is a tracking problem.
2.13× Meta ROAS on ₹28,064 spend, as Meta reports it · Moolwan · shown next to GA4, never mergedai-dm · Paid ads · 30 days to 26 Sep 2026 · real data
What you'll see in 10 minutes
- Your first brand's report, built from its domain alone.
- Its Meta, Google Ads and GA4 accounts connected, one secure sign-in each.
- Each platform's own number side by side for the same dates, with how it was counted and the record behind it.
Why do GA4, Meta and Google Ads never show the same number?
Thursday review. Meta says 142 purchases last week, Google Ads says 61 and GA4 says 118, while the brand's store recorded 131 orders. The founder adds Meta and Google Ads together, gets 203, and asks which number the agency made up.
Every unexplained gap costs trust. Time spent defending a number is time not spent on the next move, and a brand that suspects the agency picks the flattering figure stops believing any of them. The gap has causes you can name. These are the main ones.
| Difference | Meta | Google Ads | GA4 |
|---|---|---|---|
| What it counts | Purchases after a click on, or a view of, the brand's ads | Conversions after an ad click | Purchase key events on the site, from every channel |
| Default window | 7 days after a click, 1 day after a view | 30 days after a click, set per conversion action | Shares credit using its own attribution model |
| Day it's counted on | Set in the report's attribution settings | The day of the ad click, in the main conversions column | The day of the purchase |
| Why it reads higher or lower | Higher: counts views and sales other channels also helped | Lower this week, higher later, as late conversions arrive | Lower: consent banners, ad blockers and in-app browsers hide some visits |
Google Ads credits conversions to the day of the click in its main conversions column, and offers a separate column by conversion time (Google Ads Help, understand your conversion tracking data).
How do you reconcile the three numbers, step by step?
Make them comparable, then explain what's left. Most of the gap disappears once the dates, the event and the windows match. Work through these six steps and the brand gets an explanation it can check, not a number it has to take on trust.
Match the dates and time zones
Use the same date range in all three, and check each account's time zone. An ad account on a US time zone and a GA4 property on Indian time will never line up day by day.
Match the event
Compare the same action everywhere: purchases with purchases, not add-to-carts or leads counted as conversions. Check which actions are primary in Google Ads and which events are key events in GA4.
Write down each attribution setting
Note Meta's attribution setting, the Google Ads conversion window and GA4's attribution model before you compare. Different windows give different counts from the same sales.
Split clicks from views
In Meta, break results down by click and by view. Purchases credited after a view are real to Meta but invisible to GA4.
Anchor on the brand's own orders
Use the store's order count for the same dates as the reference. GA4 usually sits below it, and Meta and Google Ads added together usually sit above it, because both can claim the same sale.
Track the gap, not the number
Record each platform's count as a share of orders, week by week. A steady gap is how the platforms count; a gap that suddenly widens is a tracking problem to fix.
When a gap widens suddenly, treat it as a change to explain and find why the brand's numbers moved. When the brand asks where a figure came from, trace every number to its source record.
Is the gap between a brand's numbers normal this week?
Check it before the review. Enter the brand's own order count and each platform's figure for this period and the one before. The worksheet shows each platform as a share of orders, flags a gap that moved more than you allow and writes the explanation for the brand.
Explain the gap between a brand's numbers
Use the same dates and the same event, such as purchases, in every row.
- Store ordersthe brand's own count referencethe brand's own count
- Meta Adspurchases steady gap108% of orders · was 101% · +8 pts
- Google Adsconversions steady gap47% of orders · was 46% · +0 pts
- GA4purchase key events gap widened · check tracking73% of orders · was 90% · −16 pts
note for the brandThis week the store recorded 131 orders. Meta reports 142 purchases (108% of orders), Google Ads 61 conversions (47%) and GA4 96 purchases (73%). Meta and Google Ads together claim 155% of orders because both can count the same sale, so we never add them up. The Meta and Google Ads gaps are in line with last week. GA4's share fell from 90% to 73% of orders, so we're checking GA4 tracking before we report site numbers.
Free, no login. The starting figures are an illustrative example.
(login required) · ai-dm tracks these gaps every day, for every brand you manage.
How does ai-dm reconcile GA4, Meta and Google Ads for every brand?
Side by side, with the record behind each number. Once a brand's Meta, Google Ads and GA4 accounts are connected, ai-dm shows each platform's own figure for the same dates, with its attribution setting and the raw record it came from. ai-dm reads no order or revenue data from Shopify, so it uses GA4 as the common reference, tracks each ad platform's ratio to it every day and flags a ratio that leaves its normal range.
2 gaps steady · 2 differences explained · 1 setting to fix · every number linked to its record
In this illustrative example, Dewleaf Skincare's Meta Ads reports 142 purchases, 1.20 times GA4's 118 and within its normal range, with 38 credited after a view. Google Ads reports 61 conversions dated to the click, also within range, with 9 more arriving from earlier clicks. The one thing to fix is a Meta ad account set to a different time zone from GA4.
The explanation goes to the brand with the numbers. Each figure keeps its source and counting method all the way into the report, so a brand can check it for itself, and you can send white-label reports that show it under your agency's name. Nothing changes in a brand's accounts without your team's approval, and you can check how brand data is protected.
On our own brand. Moolwan's Meta ROAS of 2.13× on ₹28,064 of spend in the 30 days to 26 September 2026 (ai-dm · Paid ads) is Meta's own figure, shown as Meta counts it. ai-dm puts it next to what GA4 records for the same dates and never adjusts one to match the other. You can inspect Moolwan's real numbers, with the source and date of each.
Related pages
Questions agencies ask about reconciling platform numbers
Why do GA4 and Meta report different numbers for the same brand?
Because they count differently. Meta's default setting credits a purchase up to 7 days after a click or 1 day after a view, while GA4 counts purchases on the site and shares credit across channels with its own model. Consent banners, ad blockers and in-app browsers also stop some visits reaching GA4. Both numbers can be right at once.
Why does Google Ads show different conversions from GA4?
Google Ads dates each conversion to the day of the ad click in its main conversions column, while GA4 records the purchase on the day it happened. They also use different attribution windows and models, and GA4 can miss visits that consent settings block. Compare the same dates, the same event and a full week rather than single days.
Which number should we report to the brand?
Report each platform's figure with how it was counted, next to the brand's own order count, and explain the gap. Don't add Meta and Google Ads together, because both can claim the same sale. For trends, use the same source every week so the line means something.
How big a gap between platforms is normal?
There's no universal figure. It depends on the brand's attribution windows, consent rates and channel mix. What matters is that each gap stays steady from week to week. The worksheet on this page flags any platform whose share of orders moves by more than a threshold you set.
Can ai-dm merge GA4, Meta and Google Ads into one number?
No, and it won't. ai-dm shows each platform's own figure with its source and counting method side by side, tracks the gap between them over time and flags a gap that suddenly widens. Merging them would hide exactly the differences your team needs to explain.
Does ai-dm read the brand's Shopify orders?
No. ai-dm reads no order, revenue or customer data from Shopify. It uses GA4 as the common reference and tracks each ad platform's ratio to it, and your team can compare those figures with the brand's own order count.
What does reconciliation in ai-dm cost?
There's no plan to pick. Sign up, pay as you go, and connect a brand's Meta, Google Ads and GA4 accounts with one secure sign-in each. Billed in USD and INR. Per-brand plans or pay as you go. A brand's data is deletable on request.
No plan to pick. Billed in USD and INR. A brand's data is deletable on request.
