Cookie Revenue Estimator
Your e-shop records every order. Google Analytics doesn't – visitors refuse cookies, consent too late or block tracking. This estimator shows how much of the missing revenue probably came from your ads.
Your numbers for one period
Fill in the four revenue figures to see the estimate.
This is an estimate, not a measurement. It assumes revenue missing from GA4 is split between paid and non-paid channels the same way as revenue GA4 can attribute. Read the limitations.
Why GA4 shows less revenue than your e-shop
Compare the revenue in Google Analytics 4 with the revenue in your e-shop backend and the two rarely match. In the EU, a gap of tens of percent is common. Most of it comes from four sources:
- Refused consent. A visitor declines analytics cookies, so GA4 records neither the visit nor the purchase as a normal session (Consent Mode can send anonymous pings, but they don't carry the full picture).
- Late consent. A visitor clicks your ad, ignores the cookie banner, browses and consents only later – for example on the cart page. Depending on how tracking is set up, the click identifier and UTM parameters from the landing page are already gone by then. GA4 sees a session without a source and files the purchase under Direct.
- Ad blockers and browsers. Blockers and privacy-focused browsers stop the analytics tag or shorten cookie lifetimes, so returning customers lose their original source.
- Implementation issues. Purchase events that fire twice or not at all, missing tags on some checkout steps, payment gateways that break the session.
Your ad platforms then look worse in GA4 than they really are, while Direct looks better. Decisions about budgets and ROAS targets are made on numbers that are systematically too low for paid channels.
Where to find the numbers
- In GA4 open Reports → Acquisition → Traffic acquisition.
- Set the date range – a full month works well.
- Keep the primary dimension Session default channel group, or switch to Session source / medium if you want to evaluate a single platform such as
google / cpc. - Use the Total revenue column (or Purchase revenue – just use the same metric for all three numbers).
- Paid revenue is the sum of the rows you want to evaluate, e.g. Paid Search + Paid Shopping + Cross-network. Direct revenue is the Direct row. Total revenue is the total line at the top.
- Take the real revenue for the same period from your e-shop administration, ideally with the same treatment of VAT, shipping and cancelled orders as in GA4.
How the estimate is calculated
The idea is simple: GA4 knows the source of part of your revenue. We take the split between paid and non-paid channels from that part and apply it to the revenue your e-shop actually made.
Direct is left out of the paid share on purpose. Direct is where GA4 puts everything it cannot attribute – including the late-consent visitors who originally came from your ads – so it is not a reliable source signal.
When you enter ad spend, the estimator also shows ROAS both ways: Paid revenue in GA4 ÷ Ad spend and Estimated paid revenue ÷ Ad spend.
Worked example
An e-shop has these numbers for one month:
| Input | Value |
|---|---|
| Paid revenue in GA4 | €40,000 |
| Direct revenue in GA4 | €15,000 |
| Total revenue in GA4 | €65,000 |
| Real revenue from the e-shop | €90,000 |
GA4 shows €40,000 from paid channels; the estimate is €72,000. If the ads cost €12,000, the ROAS reported in GA4 is 3.33 (333%), while the estimated ROAS is 6.00 (600%). That difference can decide whether a campaign gets scaled or switched off.
The method was first used in 2022 on a real e-commerce account, where analytics recorded only about 60% of the revenue in the backend and paid channels made up close to 90% of the revenue with a known source.
Assumptions and limitations
The central assumption: revenue that GA4 did not record, and revenue it filed under Direct, is split between paid and non-paid channels in the same proportion as the revenue GA4 could attribute.
That is a reasonable starting point, but not a law. The estimate will be off when:
- Some Direct revenue really is direct. Loyal customers, strong brands and repeat purchases produce genuine direct visits. The estimator treats all of Direct as unattributed, so for well-known brands it leans high.
- Consent rates differ by channel. If visitors from ads refuse cookies more (or less) often than visitors from search or email, the missing revenue is not split like the visible revenue.
- Channels differ in order value or conversion rate. The model works with revenue, so it captures this only for revenue GA4 can see.
- The two revenue numbers are defined differently. VAT, shipping, refunds, cancelled orders, phone or marketplace orders and currency conversions all create gaps that have nothing to do with cookies.
- GA4 already models part of the gap. With Consent Mode, GA4 may fill in some missing data itself.
Treat the result as a transparent, directional estimate. It is not a replacement for reliable tracking (correct consent setup, server-side tagging, enhanced conversions), for incrementality tests or for marketing mix modelling.
Using it to follow trends
The estimator is most useful when you run it regularly. Calculate it every month with the same report and the same definitions, and watch how the paid share and the cookie deviation develop. A sudden jump usually points to a change worth investigating: a new cookie banner, a broken tag, a checkout change or a shift in your channel mix.
Frequently asked questions
Why is Direct revenue left out of the paid share?
Direct is where GA4 puts sessions it cannot attribute, including visitors who came from an ad but consented to cookies too late for GA4 to record the source. Leaving Direct out means the paid share is based only on revenue whose source GA4 actually knows.
Can I use it for one platform only, such as Google Ads or Meta?
Yes. Enter the revenue of whatever you want to evaluate as the paid revenue – a single platform, a single campaign type or all paid channels together. Everything else with a known source then counts as non-paid.
Is this the true revenue from my ads?
No. It is an estimate based on a stated assumption. It is useful for seeing the likely size of the tracking gap and how it changes over time, but it does not replace reliable tracking or incrementality testing.
My backend revenue is lower than GA4. What now?
The two numbers are probably not comparable. Check the date range and time zone, the currency, whether one includes VAT or shipping and the other doesn't, and whether GA4 counts orders that were later cancelled or refunded.
Does it work with other analytics tools?
Yes. The method only needs paid, direct and total revenue from any analytics tool that groups revenue by traffic source, plus the real revenue from your e-shop.