Analytics

Google Ads vs GA4 ROAS: why don't they match?

They measure different things. Google Ads credits its own ads, dates conversions to the click and can count every conversion per click; GA4 shares credit across channels, dates conversions to when they happened and counts its own way. Import lag, cross-device data and consent modelling widen the gap. Use each number for the decision it was built for.

What you'll see in 10 minutes

  1. GA4, Meta and Google Ads numbers for a brand side by side
  2. A Google Ads audit of the brand's connected account
  3. Likely causes when a number moved, graded by confidence

(login required) · No plan to pick. Billed in USD and INR. Nothing changes without your approval.

Why does the brand see two different ROAS numbers?

The brand's founder opens Google Ads and sees one ROAS. Then they open GA4, filter to Google Ads traffic, and see a lower one. The message arrives: "Which one is real, and why are you reporting the higher number?"

Get this wrong and the brand suspects the agency is picking flattering numbers, while the team may cut or scale campaigns on a figure never meant for that decision. Both platforms are usually working correctly; they answer different questions. Check these causes in order.

Which attribution model is each platform using?

Google Ads only sees Google Ads. When a conversion follows a Google ad click, Google Ads assigns credit among Google Ads touchpoints, using the attribution model set on each conversion action.

GA4 sees every channel. Its reporting attribution model shares credit across paid search, Meta, email, organic and others, so Google Ads often receives a part of a conversion rather than the whole. The GA4 setting is property-wide, applies to historical data when changed, and has its own key event lookback window, which defaults to 90 days for most key events. Check it in GA4's attribution settings.

Check: the attribution model on the Google Ads conversion action, the GA4 reporting attribution model, and the lookback windows on both sides.

Is each platform counting every conversion or only one?

In Google Ads, each conversion action is set to count every conversion after a click or only one. If a buyer places two orders after one click, "every" records two and "one" records one. Changing the setting only affects future conversions. See Google Ads conversion counting options.

GA4 has its own key event counting method, once per event or once per session. If the two are set differently, the counts will not match even when everything else does.

Check: the count setting on the purchase action in Google Ads, the counting method on the GA4 key event, and whether you are reading the Conversions or All conversions column.

Are the conversions dated to the click or to the purchase?

Google Ads reports conversions against the date of the ad click by default. A click on the 30th that converts on the 2nd belongs to the old month in Google Ads. GA4 reports the key event on the day it happened. Google Ads offers "by conversion time" columns to report on the purchase date instead, explained in Google's guide to conversions by time.

Check: whether the report uses standard columns or by-conversion-time columns, and whether the date range ends recently.

Is the brand importing GA4 key events into Google Ads?

If Google Ads uses imported GA4 key events rather than its own tag, there is a delay. Google says imported Analytics conversion data can take up to 24 hours to appear in Google Ads, and that Google Ads cookies expire 90 days after a click while the Analytics cookie lasts up to two years. Both are in Google's guide to creating conversions from Analytics events.

Check: the conversion source for the purchase action (Google Ads tag or GA4 import), and leave the latest couple of days out of comparisons.

A shopper may click on a phone and buy on a laptop. Google Ads can include some cross-device conversions; GA4 joins journeys only when it can identify the same user.

Consent widens the gap further. With consent mode, when a visitor declines cookies, Google tags send cookieless pings, and Google can model conversions it cannot observe directly, subject to data thresholds. See Google's overview of consent mode. The modelling in Google Ads and in GA4 is not the same, so modelled conversions on one side do not appear one-for-one on the other.

Check: whether consent mode is in place and in which mode, and how much of the brand's traffic comes from regions with consent banners.

Which number should you use for which decision?

Do not pick one winner. Match the number to the decision.

Decision Number to use Why
Bids, budgets and targets inside Google Ads Google Ads ROAS It is what Google's bidding sees and optimises towards
Comparing Google Ads with Meta, email or organic GA4 One model applied across every channel
Confirming real sales and revenue The brand's own order records Neither ad platform is the business ledger
Spotting a sudden change The trend on each platform A gap that suddenly widens points to a tracking or setup change

Swipe the table sideways to see every column.

A steady gap between Google Ads and GA4 is normal. A gap that jumps from one week to the next usually means a broken tag or changed setting, and is worth an audit of the Google Ads account.

What should you tell the brand?

Explain the gap once, then report both numbers the same way every month.

For a step-by-step walkthrough across GA4, Meta and Google Ads together, see our guide to reconciling GA4, Meta and Google Ads numbers. For what ROAS measures, see the ROAS entry in our glossary.

How does ai-dm help with this?

ai-dm shows each platform's number side by side: GA4, Meta and Google Ads, each with its own figure, in its GA4, Meta and Google Ads reconciliation view. It does not do attribution modelling and does not produce a single "true" ROAS. When the gap between platforms shifts, ai-dm lists likely causes graded by confidence, with an evidence trail to the source record, and the team decides what to tell the brand.

What should you do next?

Take one brand. Write down, for its purchase conversion, the attribution model, lookback window, counting setting and conversion source on both platforms. Then add a short note to the monthly report explaining the gap, and keep reporting both numbers.

Questions agencies ask

Why is Google Ads ROAS usually different from GA4 ROAS?

Google Ads credits conversions to its own ads and dates them to the click, while GA4 shares credit across all channels and dates conversions to when they happened. Counting settings, import lag and modelling add further gaps.

Which ROAS should an agency use to optimise Google Ads campaigns?

Use the Google Ads number for bidding and campaign decisions, because that is what Google's bidding sees. Use GA4 to compare channels against each other, and the brand's own order records as the final check on business results.

Does ai-dm decide which ROAS is correct?

No. ai-dm shows each platform's own number side by side and does not do attribution modelling. The team explains the gap and decides which number fits each decision.

Reconcile a brand's numbers

No plan to pick. Billed in USD and INR. A brand's data is deletable on request.

Win the why.™

Every number that moves has a reason. Dashboards show what happened; they rarely show why. Without the why, teams guess, act late and lose trust. ai-dm exists to Win the why for every brand, every day: to find the reason behind every change, prove it with evidence, recommend the next move and check that it worked. Then it starts again, because the why keeps changing. When you Win the why, you stop guessing and start growing. That is why we exist.

Gather. Analyse. Detect. Alert. Recommend. You act. Monitor. Learn and repeat. Always on.

Built on our own brand first.

Talk to the founder