Skip to content

Is GA4 accurate enough to decide my ad budget?

Usually not on its own. GA4 counts purchases well enough to rank channels, once its numbers roughly match Shopify's. It cannot tell you what each channel caused, which is what a budget bets on. Use it to rank, then test before you move big money.

By , Founder & CEOUpdated 6 min read

Usually not on its own. GA4 is accurate enough to count purchases and show which channels touched them, if its numbers roughly match your shop's. It cannot tell you what each channel caused, and a budget is a bet on cause. Use GA4 to rank and question channels, then test before you move big money.

The usual answers come in two flavours: GA4 is fine, or GA4 is broken. Both miss that GA4 does three jobs, and its grip loosens with each one.

  • Counting. Did a purchase happen? GA4 can get close, and you can check it against Shopify.
  • Crediting. Which channel gets the sale? GA4 follows rules, and the rules have blind spots.
  • Causing. Would the sale have happened without the ad? No GA4 report measures that.

A budget decision leans hardest on the third job.

What one store's data shows

One store's anonymised GA4 export, 1 January 2024 to 21 August 2026. It holds shares of revenue only: no ad spend, no order counts.

What the export showsShare of revenueSource cell
Direct, in last click, first click and touched views57.7%Channels sheet, Direct row
AI Assistant, in all three views0.0%Channels sheet, AI Assistant row
Journeys with 1 touch (0.5 days to buy)79.5%Journeys sheet, 1 touch row

Start with what GA4 could not place. Direct holds 57.7% of this store's revenue in last click, first click and touched views alike (Channels sheet). In GA4's books, more than half of this revenue came in with no source it could name. A budget split built on those books divides the smaller part and is silent on the larger one.

Then the zero. The AI Assistant row holds 0.0% in all three views (Channels sheet). Either no buyer came that way, or those visits landed under another label. The row looks the same in both cases, so a zero is a question about labels before it is a verdict on a channel.

Then the speed. Journeys with one touch hold 79.5% of revenue and took 0.5 days to buy (Journeys sheet). For those sales, GA4 saw a single touch, so no attribution model could have spread the credit. Any error in this store's 79.5% sits in what GA4 saw, not in how it divided it.

What the export cannot show is cause. It holds no spend and no test, so it describes who got the credit, not what the money did.

Where does GA4 go wrong?

Counting first. Shopify's help says Google can only count visitors with JavaScript and cookies turned on, and that browser extensions can block it from tracking purchases. So GA4 can see fewer purchases than you sold, and it cannot say which ads the missing buyers saw. Where visitors decline cookies, GA4's blended reporting identity models them on similar visitors who accepted. Cookie consent gets its own answer.

Crediting runs on what GA4 recorded. Its models work from the clicks it saw, plus engaged views on YouTube. A Meta ad someone watched but never clicked leaves no step in the path. That tilts GA4's books toward channels people click and away from channels people watch.

Devices are the next gap. GA4 can join a person's phone and laptop when you send a user ID for signed-in customers. Without one, GA4 falls back to the device ID. The ad seen on one device may then never meet the sale on the other.

Then come the other rulebooks. Google's help says GA4 and Google Ads attribute key events differently. Meta can count a purchase within 1 day of someone merely seeing an ad. Each tool is accurate to its own rules, which is not the same as accurate about your money.

What can GA4 not tell you before a budget move?

It cannot tell you what sales will do when spend changes. Every report describes credit for money already spent, under rules someone picked. A budget is a bet on money not yet spent.

It cannot tell a channel that makes demand from one that meets it. A channel that catches buyers on their way to the checkout looks strong in any click report, whether or not it changed their minds.

That takes a test. Switch a channel off in some regions, keep it on in others and compare total sales. The geo holdout guide walks through it. Until then, a fair split of duties: GA4 ranks, tests decide, Shopify keeps score.

What to do this week

  1. Reconcile the count. In GA4, open Reports, then Engagement, then Events, and read the Event count for purchase last month. In Shopify, go to Analytics, then Reports, filter the Category to Orders and open Orders over time for the same dates. Pass: the gap is small and you can explain it. Fail: GA4 misses a large or growing share of orders, so fix tracking before you read any channel.
  2. Size what GA4 cannot place. In Reports, then Acquisition, then Traffic acquisition, add up Total revenue in the Direct and Unassigned rows. Google uses Unassigned when no channel rule matches the data. Pass: most revenue sits in channels you can name and fund. Fail: Direct and Unassigned hold most of it, so GA4 can only rank the rest.
  3. Give GA4 every channel's cost. In Admin, under Data collection and modification, open Data import and connect your other ad platforms as campaign data sources. Meta and TikTok are on Google's list of direct sources. Pass: Advertising, then Planning, then All channels shows Ads cost for each paid channel. Fail: only Google Ads has cost, so the Return on ad spend column grades a single platform.

Check the homework. Your GA4 Attribution paths export already holds the evidence. Causality Engine reads that one file and shows what each channel caused next to what last-click gave it, in 1 to 2 minutes, for €99 once (excluding VAT), refundable within 30 days. Check the homework

Sources, 1 October 2026: Analytics discrepancies (Shopify Help Center); Reporting identity (Google Analytics Help); Get started with attribution (Google Analytics Help); All channels performance report (Google Analytics Help); About attribution models and attribution settings (Meta Business Help Center); Events report (Google Analytics Help); Order reports (Shopify Help Center); Traffic acquisition report (Google Analytics Help); Default channel group (Google Analytics Help); About Data Import (Google Analytics Help); Import campaign data (Google Analytics Help).

Frequently asked questions

  • Is GA4 more accurate than Shopify for sales?
    For what you sold, no. Shopify records every order it takes. GA4 records the purchases its tag catches, and Shopify's help lists cookies, JavaScript and blocking extensions as reasons it can miss some. Use Shopify for the total and GA4 for how channels share it.
  • Can I use GA4 to set my total ad budget?
    Not on its own. GA4 shows how credit splits between channels, not how sales respond when total spend rises or falls. For the total, set Shopify's sales against all ad spend month by month, and test any big change in a few regions first.
  • How often should I check GA4 against Shopify?
    Monthly, on a closed month, and after any change to your theme, checkout, consent banner or tags. A steady gap is a calibration you can live with. A gap that jumps after a change is a tracking fault, so recheck channel numbers from that period.

Go deeper: Causal attribution, explained.

Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.

Keep reading

Terms in this article

Browse the full glossary

Your platforms guess.
We run the math.

Upload a GA4 export and see what each channel caused, next to last-click, in 1–2 minutes. The read is yours to keep.

Free, in your browser: your file is not uploaded. The full read is €99, refundable within 30 days. Prices exclude VAT.
Or book a 30-min call.