Shop owners know the feeling: GA4 reports thousands of sessions and a “3.3% conversion rate”, yet the bank account only shows that the week was weaker. Statistics and sales speak two different languages. This guide shows where and how to combine the enhanced e-commerce funnel with real shop orders, so that every funnel stage can be valued in euros and fixed starting with the most expensive one.
Basics
The GA4 e-commerce funnel: four events that build it
The funnel is not a report GA4 provides “out of the box”. It is built from enhanced e-commerce events that the shop sends during the purchase journey:
Definition
A sales funnel in GA4 is a sequence of enhanced e-commerce events (product page view, add to basket, checkout started, purchase) that can be measured at two levels: session (how many sessions move on to the next stage, per channel and campaign) and product (how each product performs from view to purchase). The funnel is only as good as the event implementation it is built from.
Two conditions determine whether the funnel is useful. First, completeness: each of the four events must send a product ID, value and currency, and purchase must also send a transaction ID matching the order number. Second, hygiene: tags firing twice or purchase being sent when the thank-you page is refreshed can create a funnel that does not exist. Before drawing conclusions, spend a day auditing your events.
The gap
What the GA4 funnel cannot tell you without shop data
Questions from owners and managers are always about money, yet the funnel answers in percentages. Only by combining both worlds do you get answers you can act on:
| Question from the boardroom | What GA4 alone sees | What the shop alone sees | What becomes visible only together |
|---|---|---|---|
| “Why was the week weaker?” | conversion fell from 3.6% to 3.3% | 118 fewer orders | which funnel stage dropped, from which day and at what cost in euros |
| “Is this product selling?” | product views and basket additions | units, revenue, margin, stock | where the product loses customers and whether it is worth saving |
| “Which channel delivers?” | sessions and events per channel | total orders and revenue, without a channel breakdown | each channel’s funnel and revenue per GA4 set against total shop revenue and total ad spend (MER) |
| “How much is checkout costing us?” | checkout abandonment rate | value of paid orders | value of baskets that fail to reach the till every week |
On top of that, the numbers themselves diverge: purchase in GA4 is subject to consent, blockers and interrupted redirects, and it knows nothing about order statuses. GA4 usually sees 60–85% of real orders, so the funnel should be read together with coverage. The mechanisms behind these differences are described in the guide to automated e-commerce analytics, and the limits of combining advertising data with sales in the guide to conversions and attribution.
A conversion percentage does not hurt. Ten thousand euros in baskets that failed to reach the till for two days does.
Joins
Where to join the funnel with sales: three levels of joins
There is no single “GA4 to shop” join: there are three, each with a different key and for different questions. The rule from the other guides applies here too: paid orders are the backbone, and funnel data is added to them, never the other way round.
| Level | Join key | What you compare | What it answers |
|---|---|---|---|
| 1 · Day | date (channels exist only on the GA4 side) | GA4 session funnel per channel alongside daily shop orders and revenue in total | where in the funnel each channel loses customers (per GA4); on which day the problem started |
| 2 · Product | product identifier (SKU) | GA4 product funnel alongside units sold, margin and stock levels | which products have demand without sales, and why |
| 3 · Coverage | date (daily totals) | number and value of GA4 purchase events versus paid shop orders on the same day | measurement coverage: how much of the data you are actually working with |
The first level is an everyday operational tool, the second informs decisions about the product range and product campaigns, and the third is hygiene, checked weekly so that the first two can be trusted. All three require one thing: GA4 events and orders must sit in the same data model, with the same dates and definitions.
Key takeaway
Choose the key to fit the question. “Since when has Google traffic been converting worse?” needs the daily level: the GA4 funnel per channel set against daily shop totals. “Why has the bestseller stopped selling?” needs a join by SKU. “Can I trust the funnel?” needs a comparison of daily totals: purchase events versus paid orders. Trying to answer everything with one report ends with a report that answers nothing.
Valuation
Reading the funnel in money: valuing every stage
Statistics start supporting sales the moment funnel stages are given a price. This is a week in an example toy shop after combining both sources (illustrative data):
Weekly funnel · GA4 + shop orderstoy shop · illustrative data
Every step now has a price. Improving the basket-to-checkout step by 1% means 53 baskets a week in this shop, or about €2,450 in order value calculated at AOV.
Valuing the stages comes down to four steps:
Calculate AOV from paid orders
Revenue divided by the number of paid orders, from shop data (not from GA4). In the example: €80,575 / 1,742 = €46.25.
Set a baseline for each funnel step
For each funnel step, calculate the median over several typical weeks: session to product page, product page to basket, basket to checkout, checkout to purchase. This is your baseline, better than any industry benchmark.
Value the deviation from the baseline
The drop in a step below the baseline, multiplied by the number of entries to that stage and by AOV, gives an indicative value of the problem. Valuing anomalies tells you more than valuing the funnel’s entire natural drop-off.
Set a response threshold
An example rule: a step more than 5% below the baseline for two consecutive days requires diagnosis. Valuation also tells you the order in which to fix things.
Methodological note: valuing stages at AOV is an indicative estimate for prioritisation, not lost revenue on a one-to-one basis. Some customers abandon their basket and return the next day; some never intended to buy. The strength of this method lies in comparability: the same formula, the same baseline, every week.
Playbook
Five funnel signals that save sales
In practice, the same set of situations keeps coming back. It is worth knowing them in advance, together with the first move:
1Signal
The basket-to-checkout step drops sharply from a specific day
2Signal
A product has many page views and few add-to-baskets
3Signal
Baskets are growing, purchases are flat and stock is low
4Signal
A channel brings sessions that do not even reach a product page
5Signal
Purchases in GA4 are growing faster than orders in the shop
Real risk
A funnel without coverage validation can send the team off to fix a healthy shop. A drop in GA4 purchase events after a consent banner change looks exactly like a sales collapse. Before anyone touches the checkout, one look at paid orders settles whether the problem lies with the shop or with measurement.
DataOrganizer
How DataOrganizer links the GA4 funnel to shop sales
All three joins from this guide are ready to use in DataOrganizer. The integrations pull events and funnels from GA4 every day (a session funnel per channel and a product funnel per SKU), along with orders, line items, margins and stock levels from the shop, then arrange them in a single data model: the same dates, the same definitions. The GA4 session funnel per channel meets total shop revenue and ad spend (channel revenue comes from GA4), the product funnel meets product sales, margin and availability, and GA4 coverage is recalculated every day from daily totals.
You ask the AI assistant for the result in the app or through MCP in your own chat. A diagnosis that would otherwise take three reports and a spreadsheet then looks like this:
The problem lies in the cart-to-checkout step. The other stages and traffic are normal, and so is GA4 coverage (92%), so it is the shop, not the measurement:
| Day | Cart → checkout | Loss vs 46% norm |
|---|---|---|
| Monday | 46% | – |
| Tuesday | 31% | 112 carts · ~€5,175 |
| Wednesday | 32% | 104 carts · ~€4,800 |
In total, that is around €9,975 in cart value above the norm over two days (valued at an AOV of €46.25, a directional estimate). The drop starts exactly on Tuesday and affects all channels equally. Check the changes deployed that day in the shipping and payment step.
Key takeaway
Statistics support sales when every stage has a price and a benchmark. GA4 supplies the stages; the shop supplies the money and the norm. Maintaining this join manually costs hours every week; in a connected model it is a by-product of the daily data refresh.
FAQ
FAQ: e-commerce funnels and sales data
Which events make up the e-commerce funnel in GA4?
The core is four enhanced e-commerce events: view_item, add_to_cart, begin_checkout and purchase; they are complemented by view_item_list, add_shipping_info and add_payment_info, among others. A meaningful funnel depends on the implementation: every event with a product ID, value and currency, and purchase with a transaction ID that matches the order number.
Why does purchase in GA4 not match shop orders?
GA4 records a purchase only with measurement consent, a fired tag and an uninterrupted redirect after payment, and it knows nothing about order statuses. In practice it usually sees 60–85% of real orders. That is why the funnel should be read together with coverage, while paid orders from the shop remain the benchmark.
How do you calculate the value of abandoned baskets?
Directionally: carts that did not move on to checkout, multiplied by the AOV from paid orders. A fairer approach is to value the anomaly: the difference between today’s cart-to-checkout rate and your norm, multiplied by the number of carts and by AOV. This is an estimate for prioritisation, not a one-to-one measure of lost revenue, as some customers return later.
What should an online shop’s conversion rate be?
There is no single correct value: it depends on the industry, prices and traffic mix, and the commonly quoted 1–3% range is only a rough guide. It is more practical to compare against your own trend and break conversion down into stage-to-stage rates. Then, instead of asking “is 2% a lot?”, you can say which stage deviates from your norm and how much it costs in money.
What should you do when a product gets traffic but no sales?
Identify the stage where the loss occurs. Many view_item events and few add_to_cart events point to the product page (price compared with the market, photos, description, visibility of shipping costs). Many carts without a purchase point to checkout or availability (stock, shipping and payment methods). The diagnosis requires a product funnel set against sales and stock data from the shop; traffic alone does not tell you where the money disappears.
Cheat sheet for the whole guide
Three rules for joining the funnel with sales
1. Three joins, three keys. Day (with channels from GA4) for operational diagnosis, SKU for product decisions, daily totals of purchase events versus paid orders for coverage validation. Paid orders are always the backbone; the GA4 funnel is added to them, using the same dates and definitions.
2. Put a money value on funnel stages. AOV from shop data, a stage-rate norm from typical weeks and a valuation of deviations from the norm turn percentages into a queue of fixes ordered from the most expensive. A directional estimate is enough, because it serves priorities, not accounting.
3. Coverage first, conclusions second. A funnel without validating purchase against orders can confuse a measurement problem with a sales problem. DataOrganizer maintains all three joins automatically: GA4 funnels, orders, margins and stock in one model, with answers in a chat instead of three reports and a spreadsheet.
DataOrganizer · funnel and sales in one model
Connect your shop and GA4: the session and product funnels will meet orders, margin and stock, and coverage is calculated automatically. Demo account available instantly; you pay only for connected sources.