Why GA4, ad platform dashboards and your shop’s sales figures never agree

Sales in e-commerce leave traces in several systems at once: the shop records orders, GA4 records sessions and events, and each ad platform records its own conversions. This guide explains why these numbers never match, which data to combine and using which keys, and which metrics become available only once the sources are joined. One to bookmark: with definitions, formulas and an implementation plan.

Definition

What is automated e-commerce analytics

The term is stretched to cover everything from a charting plugin to a data warehouse. In this guide it means one thing:

Definition

Automated e-commerce analytics is a way of working with data in which integrations pull data daily, without human involvement, from the shop, marketplaces, analytics tools and ad platforms, and then combine it in a single data model. This makes it possible to analyse revenue, costs and customer behaviour together: with the same dates, currencies and definitions.

Three features set it apart from manual reporting. No exports: data flows through APIs and nobody stitches CSV files together. A shared model: every number uses the same definition of a day, currency and order status. Freshness: data is refreshed daily, so analysis always reflects the current state rather than last month’s close.

When is it worth it? A practical threshold is the point at which you meet two of three conditions: ads in more than one system, sales in your shop and on marketplaces at the same time, more than one market or currency. Below this threshold a spreadsheet is enough; above it, manual reporting starts eating up hours and introducing errors.

Diagnosis

Why every tool shows different numbers

Discrepancies follow from definitions rather than faults. Each tool measures something different, at a different moment and by different rules. Six mechanisms account for most of the differences:

Source of discrepancyMechanismTypical effect
Attribution windowsGoogle and Meta credit themselves with a purchase if there was contact with an ad within their window (e.g. 30 or 7 days after a click)One transaction in two platforms at once
View-through conversionsThe platform adds purchases made after merely viewing an ad, without a clickThe platform “sees” sales that nobody else sees
Conversion modellingWithout tracking consent, platforms estimate conversions statisticallySome figures in the platform are estimates, not counts
Consent and blockersGA4 records a transaction only with consent and a working tagGA4 typically sees 60–85% of orders
Order statusesThe shop dashboard shows placed orders, accounting counts paid onesCancelled and unpaid orders inflate “sales”
Time zones and currenciesThe advertising day does not match the shop’s day; conversion rates differ between systemsThe same data “shifted” by hours and percentages

What does this look like in practice? Below is one and the same week for an example pet shop in four tools (illustrative data; the mechanism is universal):

Shop · paid€21,075346 orders
GA4€16,67579% coverage
Google Ads€14,52530-day window
Meta Ads€11,075click + view

Reference point

€21,075

Revenue from paid orders is the only figure your accounts will confirm. The ad panels alone claimed a combined €25,600, or 121% of the shop’s total sales, before organic traffic, e-mail and direct visits are even counted.

sum of panels: €25,600 GA4 coverage: 79% shop: €21,075

The real risk

The most expensive mistake is scaling budgets according to panel ROAS. A channel that “wins” by aggressively claiming other channels’ transactions gets more budget at the expense of the channel that actually sells. The loss stays hidden, because each panel reports success on its own.

Discrepancies between tools are a feature rather than a fault: each one answers a different question. The problem starts when decisions are made as if they all answered the same one.

Data model

Which data to combine and on which keys

The overriding rule: orders are the reference point of the model. Every other layer is compared with orders as totals for the same day or period, never the other way round, because only orders carry a status, an amount and a customer at the same time. A minimal, complete model looks like this:

Data layerWhat it containsJoin key
Ordersamounts, statuses, payment method, shipping method, couponsorder number, date
Order line itemsexactly what was bought: SKU, quantity, price, discountorder number + SKU
Product cataloguecost of goods, category, attributes, stock levels (daily snapshot)SKU
Ad costsspend, impressions, clicks per campaign and day, from every platformdate + platform + campaign
Traffic and funnel (GA4)sessions, product views, carts, checkout eventsdate + source / medium / campaign
Marketplaceorders, commissions and fees per listinglisting ↔ SKU

The lowest common denominator across all sources is the day. Shop orders meet GA4 and ad costs only as totals for the same day or period (orders vs GA4 transactions, shop revenue vs total spend), while comparisons by channel and campaign use GA4 and platform data, labelled as such. Going deeper is often a trap: ad cost at the level of a single product exists in the source data only for Google Shopping, while Meta, TikTok and Microsoft Ads report costs no lower than ad level. A sound model does not pretend otherwise: it shows margin per product and costs per campaign as two separate views, instead of splitting spend “evenly” across SKUs.

The second common mistake is joining on names instead of keys. Campaign names change; SKUs do not. That is why a product catalogue with cost of goods is worth keeping in order more than any report: it decides whether you can calculate margin at all.

Key takeaway

Four layers answer 80% of profitability questions: orders, order line items, cost of goods and ad spend per channel and day. Add GA4 and marketplaces second; they complete the picture but do not form its foundation.

Metrics

Metrics visible only once data is combined

Each of the metrics below is defined by a formula, not by interpretation, which makes them immune to attribution disputes. None of them can be calculated in a single tool.

Formula · MER (marketing efficiency ratio)

MER = revenue from paid orders / total ad spend (all platforms)

Example: €21,075 / €2,950 = 7.1. It does not depend on attribution, so it cannot be inflated.

Formula · GA4 coverage

coverage = transactions visible in GA4 / paid orders from the shop

Healthy range: 60–85%. A sudden drop means a consent or tagging problem, not a sales problem.

Formula · product gross margin

margin = (revenue − cost of goods − shipping − commissions) / revenue

Requires cost of goods per SKU and marketplace fees per listing: two data points that no ad panel has.

On a combined model, these formulas become views you can check every day:

MER · whole shop · week

Ad spend (3 platforms)€2,950
Revenue from paid orders€21,075
MER7.1

The panels suggested 8.7 combined. The difference is double-counted transactions, not real return.

Ad profitability

One return on the whole budget

MER ties the spend of all platforms to revenue your accounts will confirm. It tells you whether marketing pays for itself.

GA4 coverage · August

Orders1,386
GA4 purchases1,095
Coverage79%

Every traffic analysis inherits this margin. Read GA4 conclusions together with coverage.

Measurement quality

How much analytics really sees

The ratio of GA4 transactions to shop orders shows how far traffic and funnel data can be trusted.

Gross margin per product · 30 days

ProductRevenueCostsMargin
Dry food 12 kg€5,370€4,402.5018.0%
Pet bed L€2,460€1,302.5047.1%
Walking harness€1,855€1,09541.0%
Toy set€1,065€457.5057.0%

Half of revenue comes from the lowest-margin product. The turnover ranking and the profit ranking are two different lists.

Product profitability

Turnover is not profit

Cost of goods per SKU next to revenue changes priorities: promote what leaves a margin, not what drives turnover.

Same product · shop vs marketplace · 30 days

ChannelRevenueFeesMargin
Online shop€2,460€047.1%
Marketplace€1,155−€14534.5%

Pet bed L: after commissions and fees, the marketplace margin is more than a quarter lower.

Sales channels

Marketplaces come at a price

Marketplace fees per listing joined to order line items show where the same item really makes money.

Methodological note: channel splits always come from GA4 or the ad panels and are estimates; GA4’s last-click view understates the contribution of assisting channels such as content, YouTube or newsletters. It is worth checking data-driven attribution in GA4 in parallel, while anchoring the total to shop revenue (MER) rather than to the sum of panel data.

Implementation

Implementing automated analytics step by step

Order matters: definitions before tools, validation before conclusions. The same plan works whether you build the model with your own team or adopt a ready-made platform.

  1. Define revenue

    Which order statuses count (paid? fulfilled?), gross or net, in which currency and time zone. One definition, written down and binding for everyone.

  2. Take stock of data sources and access

    Shop, marketplace, GA4 and all ad accounts. Establish who has API permissions and whether product cost of goods is filled in within the shop system.

  3. Choose one source for channel estimates

    Channel splits come from GA4 (one attribution model, used consistently for every channel) or from the ad platforms, always labelled as estimates; shop revenue is assessed in total, as MER. Write down the model’s limitations too (see the note on last click above).

  4. Combine the data in a single model

    In-house: a data warehouse plus integrations with every API, and their maintenance. Or a ready-made platform that does it for you (see below).

  5. Validate coverage

    Compare GA4 transactions and platform conversions with shop orders for the same period. Record the result as a baseline; from now on, measure it every week.

  6. Set a working rhythm

    Daily: monitor amounts and coverage. Weekly: review MER and channels. Quarterly: audit the definitions, because shops, feeds and campaigns change.

How much of this does a ready-made platform take over? In DataOrganizer, steps 2, 4 and 5 happen automatically: integrations with shops, marketplaces, analytics and ad platforms run on official APIs, and the data lands in Google BigQuery every day (region europe-west1, personal data hashed in line with GDPR), where it is organised into a ready-made model, from campaigns and search terms through to order lines with cost of goods. You connect sources yourself, with no developer and no changes to the shop code; the current list of integrations is available at dataorganizer.io.

API

official integrations, no plugins or changes to shop code

Daily

automatic refresh of all sources

EU

data in Google BigQuery, region europe-west1

Per source

simple pricing: you pay for connected sources

Coverage validation (step 5) then turns from an SQL project into a single question to an AI assistant that works on aggregated results from the combined database:

AI assistant DataOrganizer app
connected sources1–31 Aug 2026
What was GA4 coverage against shop orders in August? Show it by week.
AI
Comparing GA4 transactions with paid orders…
AI

August in total: 1,386 paid orders, 1,095 transactions in GA4, coverage 79%. Weekly breakdown:

WeekOrdersGA4Coverage
4–10 Aug34227781%
11–17 Aug35128180%
18–24 Aug34626075%
25–31 Aug34727780%

In the week of 18–24 Aug, coverage fell to 75%, which coincides with the rollout of a new consent banner. Sales did not drop (346 orders, within the normal range); only visibility in GA4 did. Treat traffic insights for that week with a wider margin.

Show day by dayExport CSV

The same questions can be asked outside the app: with DataOrganizer MCP, your shop data is available in the chat you use every day. All you need is the server address and an OAuth login:

Claude ChatGPT Gemini CLI

Key takeaway

The value of automation lies less in the numbers themselves than in how you get to them. Any spreadsheet can calculate MER or margin after an hour of exports. The difference is that on a combined, daily refreshed model the same answer takes seconds and is identical for everyone on the team.

FAQ

Frequently asked questions about automated e-commerce analytics

Why does GA4 show fewer transactions than the shop?

GA4 records a transaction only if the tag manages to fire and the user has consented to measurement. Declined consent, blockers, interrupted post-payment redirects and purchases on another device mean GA4 typically sees 60–85% of orders. This ratio is coverage: measure it weekly and treat a sudden drop as a sign of a consent or tagging problem rather than a sales problem.

Can revenue from ad platforms be added together?

No. Each platform claims transactions according to its own attribution window, so a single purchase can appear in two or three dashboards at once. The total across dashboards can be 20–60% higher than actual sales. The common reference point is shop revenue against total ad spend (MER); channel comparisons come from GA4, using one attribution model consistently, and are an estimate rather than an assignment of orders.

How do you calculate the real ROAS of the whole shop (MER)?

Divide revenue from paid orders by total ad spend across all platforms for the same period: MER = przychód / łączne wydatki. In the example from this guide: €21,075 / €2,950 = 7.1. MER does not depend on attribution, so it cannot be inflated by double-counted transactions, which makes it the best single measure of return on the whole budget.

Do you need a data warehouse and an IT team?

If you build it yourself, yes: a warehouse (e.g. BigQuery), integrations with every API and their ongoing maintenance. The alternative is a ready-made platform. DataOrganizer connects shops, marketplaces, analytics and ad platforms via official APIs, refreshes the data daily and stores it in BigQuery in an EU region (europe-west1) with personal data hashed. You connect sources yourself, with no developer and no changes to the shop code.

How much does automated e-commerce analytics cost?

With an in-house setup, the main cost is team time and maintaining integrations, which ad platforms change regularly. With a platform model, you pay for the number of connected data sources: dashboards, the AI assistant, MCP and exports are included, and the whole team works from the combined data. Current prices and trial terms are listed on the DataOrganizer pricing page.

Cheat sheet for the whole guide

Three principles of automated e-commerce analytics

1. Paid orders are the reference point. They are the only figure that matches the accounts; you compare GA4 and ad dashboards with them as totals for the same period, never the other way round. Discrepancies between tools come down to definitions rather than errors: attribution windows, view-through conversions, consent and order statuses explain almost everything.

2. The minimum model has four layers: orders, order lines, cost of goods per SKU, and ad spend per channel per day. They support attribution-proof metrics: MER, GA4 coverage and product gross margin, three formulas worth knowing by heart.

3. Validation before conclusions. First measure coverage and write down the definitions, then draw conclusions. The whole mechanism (integrations, daily refreshes, the data model and answers to questions) can be handled by a platform such as DataOrganizer, billed simply by the number of connected sources.


DataOrganizer · automated e-commerce analytics

Test this guide on your own data

Connect your sources and calculate MER, GA4 coverage and margin per product for your own shop. A demo account is available straight away, and you pay only for connected sources: see the pricing page for details.