• Analytics
  • Measured 31.07–01.08.2026

Ecommerce in GA4: Funnel, Products and Revenue

Ecommerce setup in GA4 is the data layer on the site plus the chain of events from product view to order placed, aggregated with your account. The work begins not with the tag, but with the question of which checkout steps are generally described in the store code. Then there are the things that usually break the bank: product ID that matches the ID in the feed, currency in each purchase event, composition of the amount without surprises, and protection against re-triggers on the thank you page. The term is 4–16 working days. It's free to check what's streaming with you now.

See how it works
Price
after a free audit
Guarantee
30 days after project sign-off
Sites where we recorded the state of measurement
33, measurement 31.07–01.08.2026
after a free audit
Price
30
Guarantee

days after project sign-off

33,
Sites where we recorded the state of measurement

measurement 31.07–01.08.2026

6
Of them without a single counter

out of 33

4
Of them on disabled Universal Analytics

of 33 - it was stopped on July 1, 2023

4-16
Implementation period

working days

free, 2-4 business days
Data transfer check
for the first month, is included in the work
Reconciliation with accounting
30
Guarantee

calendar days for completed work

Process steps

Transparent stages with approval at every step

Total duration:4–16 days

  1. Checking what's streaming now

    2-4 working days

    We record the state: which events of the chain are alive, whether there is a currency and an amount, which identifier of the product goes into the event, how many times the purchase is triggered. The result is a document and a conversation based on it. This is the same free check.

  2. Scheme of events and composition of the amount

    1-2 working days

    We agree in writing: what steps we describe, what we consider to be the start of registration, what is included in the order amount, where the order identifier comes from. After this stage, edits in the scheme cost more, so we talk about everything here.

  3. The level of data on the site

    2-7 working days

    We implement objects with goods on all pages of the chain. On a common CMS, this is a modification of the module, on a self-written shopping cart, it is work together with your developer: we give the structure, he puts it on real user actions.

  4. Tags, debugging, duplicate protection

    2-4 working days

    We collect tags in the dispatcher, run through each step in DebugView from viewing the product to checkout. We install protection against repeated activation of the purchase: GA4 removes part of the repetitions by the order ID itself, but you should not rely on it - it is more reliable to prevent the event from triggering a second time on the site's side.

  5. Product reports and transfer of income to advertising

    1-3 working days

    We turn on product reports, link the resource with an advertising account, and, if necessary, collect summaries in Looker Studio. Here we compare the product identifier with the one that goes into the feed: if they are different, remarketing and product reports will not be stitched together.

  6. Reconciliation with accounting and transfer

    1 working day + month of observation

    After a month of work, we take the number of orders and the amount from your system and from analytics and explain each deviation. We give the documentation of the scheme of events. A difference of a few percent remains the norm - some people block scripts or do not give consent.

Technologies & integrations

What we build on and what it connects to

Stack

  • GA4 - Universal Analytics discontinued July 1, 2023, no choice. Limit: blockers and consent mode eat up some of the events, this is a trend, not accounting
  • Standard trade events - only built-in commodity reports work on them. Limit: the set of fields is rigid, do not put an arbitrary parameter there
  • The data layer is the on-page source of truth for all tags. Boundary: Lives in the site's code, so changing the theme or checkout breaks it silently
  • Google Tag Manager — tags change without release, there are versions and rollback. Boundary: Without a name, a container becomes a dump
  • DebugView - step-by-step reception: the event is either visible in real time or not. Limit: Current debug session only
  • Connection with Google Ads and compilation in Looker Studio — revenue goes to campaign optimization. Limit: attribution in the office and in GA4 is calculated differently, the numbers do not match

Integrations

  • Google Ads
  • Meta Ads
  • Google Merchant Center
  • order accounting system
  • payment systems
  • OpenCart
  • WooCommerce
  • Next.js
What's included

Complete list of work and what you get as a result

  • The data layer scheme for your platform is a single document that our tag manager and your developer work according to
  • List view and product view events — you can see which items are viewed and which of the viewed items are not purchased
  • Add-to-cart and remove-from-cart events show real interest, not just completed orders
  • The events of starting checkout, entering shipping information, and selecting payment are where the steps people are taking become visible
  • Purchase event with order ID, amount, currency and full inventory - revenue in the report becomes comparable to accounting
  • Protection against re-triggering a purchase when updating the thank you page - removes the most common cause of inflated income
  • Product parameters: identifier, name, category, brand, variant, price, quantity - product reports are built from them and nothing else
  • Agreed rule for the composition of the amount: delivery and taxes either in the amount or in separate fields, but equally in analytics and accounting
  • Transferring revenue to ad accounts — campaigns are optimized for money, not clicks
  • Reconciliation with the accounting system for the first month of work — in writing, with an explanation of each deviation
  • Documentation of the scheme of events in Ukrainian — so that they could support it without us
  • Guarantee of 30 calendar days for completed works
When this service isn't right

What's not included — so there are no surprises at delivery

  • Refinement of the shopping cart and checkout as site functionality
  • Conducting advertising campaigns
  • Accounting for returns and cancellations is technically possible, but in a separate volume
  • Building end-to-end analytics with CRM
  • Restoration of historical data for periods when the measurement did not work
Who it's for

Situations where this service delivers results

Scenario 1 of 4

Advertising is running, but the numbers in the report do not match the cash register

A classic picture: in the office, the income is one, in accounting, another, and the difference is not in percentages, but in times. Until the reason is technically named, any conversation about return on advertising is a dispute between two tables. We find where exactly the difference is: the purchase event is triggered again, the amount includes shipping and taxes, or part of the orders from the management channels do not get into the analytics at all.

We'll review your situation in a free audit
Native data layer vs CMS box module

How this option differs from the alternative

Funnel stepsall six, from viewing the listing to purchasing
Product parametersid, name, category, brand, variant, price, quantity
Repeat purchase eventis blocked on the site side by order ID
Coincidence with the feedthe product ID is checked against the Merchant Center feed
Term and costlonger: scheme, implementation, debugging, reconciliation

Free Purchase Data Transfer Check

E-commerce in analytics is the chain from product viewing to checkout, not a single "purchase" event. A broken chain gives a summary without a middle: you see how much, but not where. The check shows the status of this thread on your site.

What we measure

  • Which chain events are already being transmittedView list, view product, add to cart, start checkout, enter payment data, purchase. Most often, the middle is missing.
  • Is income and currency transferableWithout currency, GA4 does not count money at all: the number of orders remains, and the conversation about the return on advertising becomes impossible.
  • Inventory of goods in the eventID, Name, Category, Price, Quantity, Brand. Separately, we check whether the product identifier matches what you give in the feed.
  • Duplicate purchase eventThe most common defect: the event fires every time the thank you page is updated. The income in the report is growing, there are no more sales.
  • Coincidence with the accounting systemWe compare revenue in analytics with actual orders for the same period. The discrepancy in times is a technical defect, not seasonality.
  • The state of analytics itselfOf the 33 sites we took metrics from, six didn't have any counters, and four ran Universal Analytics, which was discontinued on July 1, 2023. In such cases, it is necessary to start with a basic measurement.

What you get

  • A list of chain events with a label of what works and what doesn't.
  • Estimation of income discrepancy in analytics and in the accounting system.
  • Data layer scheme for your platform.
  • Conversation for 30 minutes on the document.

Timeline: 2-4 working days

Why is it free

Because the check takes several days, and the decision about the advertising budget, made on the basis of an inflated income, is significantly more expensive.

What's next

We provide an estimate for the implementation of the data level, event chain and product reports. You can take a part — for example, only a valid purchase event with reconciliation.

Short form: your contact and site URL

Did not find your case?

Describe how it works on your side — we will tell you whether “E-commerce in GA4” fits and what it means in your situation. No brief and no call: one question, one answer.

  • Contract, act and 30-day warranty

    Every project gets a written contract: scope, deadlines, amount, acceptance procedure. After delivery — act and invoice, then 30 calendar days of warranty.

  • Sole proprietor & bank transfer

    The contractor is a registered sole proprietor. Payment by invoice with closing documents.

  • Rights & access — yours

    Code, design and materials transfer to you after full payment. Domain, hosting, repository and analytics are registered to you.

  • Client portal instead of email chains

    During the project you get access to a portal: contracts, invoices, acts and project status in one place.

  • European clients

    Among our work — projects for Norway, Bulgaria, Moldova and Spain.

  • Verifiable numbers

    Every case in the portfolio comes with a link to a live site and a technical measurement.

  • Audit first, then pricing

    There is no price list on the site intentionally: the scope of the same work differs multiples between clients.

  • We say "no" when unsure

    If the task isn't ours or the deadline is unrealistic — we tell you upfront.

What affects the price

Why two seemingly identical tasks are priced differently

  • Platform and data tier availabilityA common CMS with a live module is an extension of what is already there: a few days with validation. A self-writing bin means that the data layer is written from scratch every step of the way, and your developer time is added here, not just ours.
  • How many steps of the funnel are describedThe correct purchase event with reconciliation is the minimum volume that makes sense to start with. A complete chain with the middle of the funnel is another four or five events, each of which must be placed on a real action in the checkout and checked separately.
  • Catalog structure and product parametersA catalog where size and color are entered as separate items needs a grouping solution: otherwise the product reports will have tens of thousands of SKU-level rows without a single layer above. In the underwear store we measured, there are 115,456 such items.
  • The account balance is on your sideIf the system has a clear rule when the order is considered successful, the reconciliation takes an hour. If the statuses are maintained manually and differently for different managers, you must first agree on a rule.
  • Returns and CancellationsA return event requires your system to be able to communicate this to the outside. For niches with a high percentage of returns, the point is mandatory, for the rest it is deliberately postponed, because it adds both work and points of failure.
  • TempoAn accelerated queue is possible if access is issued at the start, and a developer from your side is allocated for the task. Otherwise, the deadline is not driven by our turn, but by waiting for edits.
Cases

Tasks and results in numbers — all metrics measured by us

wholesale store of building materials, B2B — our technical dimension of the current site

Task
Calculate the real volume of the catalog and check that it reaches the analytics.
Solution
We read the markup of the catalog pages, collected a list of counters, took down server responses, checked the site map and structured data.
Result
The catalog was calculated not from the admin, but from the analytics itself: according to the unique identifiers in the list viewing event data, there are 3,145 items, 31 pages of 100 plus 45 for the last one. Tag manager, GA4 and remarketing from product browsing in place. Then the chain is broken: there are no shopping cart events and no registration in the markup. By the way: sitemap returns 200 with empty body, nil structured data. Measured on 07/31/2026.

underwear retail store with a catalog of a hundred thousand items — our technical dimension of the current site

Task
See what exactly is being traded in the catalog, where each size and color is a separate item.
Solution
We calculated the catalog using two independent methods, analyzed the settings of the remarketing module, checked the language versions and a selection of addresses from the site map.
Result
Transmission of product events is enabled, the product ID goes to both Google and Facebook, redundant receivers are disabled - a rare case when a module is actually configured and not just installed. Catalog: 115,456 items according to regular search and 112,646 unique addresses according to the site map, a discrepancy of 2.4%. This is where the grouping problem comes in: without a variant parameter, the product report turns into a hundred thousand rows at the SKU level. Defect: in a sample of 150 sitemap addresses, 50 return 301, and all 50 lead to a different size or color. Measurement 01.08.2026.

The B2B catalog of spare parts for industrial sewing machines is our technical dimension of the current site

Task
Find out why the owner thinks the analytics are configured, but there are no reports.
Solution
Dismantled the counters in the main and directory code, checked the property identifiers, listed the sitemap and structured data.
Result
The gtag with the Universal Analytics config is connected in the markup, and there is no GA4 property at all. Data is not collected from July 1, 2023 — three years the site appears to be measured and is not. At the same time, the tag manager container is standing, so trading here does not start from scratch. The rest is done neatly: 1,992 addresses in the site map without a single duplicate on 1,848 cards, the first response is 388.1 ms. The second defect is zero blocks of structured data. Measured on 07/31/2026.
What we need from you

We can't start without this — best to prepare in advance

  1. Access to the site or to a developer who can add a layer of data to the templates.
  2. Access to GA4 and Tag Manager at edit level.
  3. A description of the catalog structure: categories, brands, variants, and what you consider an individual item.
  4. The rule by which an order is considered successful in your system.
  5. Download of actual orders for the month for reconciliation - quantity and amount.
  6. Deciding on shipping and taxes: are they included in the order amount or are they separate?

If something is missing — let us know, we'll help you gather it or do it as a separate task.

FAQ

Most frequently asked questions — with concrete answers

Why is GA4 income higher than actual?

Three reasons by frequency. First and foremost, the purchase event is triggered every time the thank you page is updated: the person updated three times, the order was counted three times. The second - delivery and taxes were included in the amount, and the accounting department does not count them. The third is that test orders and internal traffic go to the same flow. It is treated technically: blocking of repetition by the order ID on the site side, the agreed rule of the composition of the amount and the filter of internal traffic.

Our module already transfers the purchase. Why anything else?

If the module is really configured, you already have a base — and that's a normal starting point. The question is what he passes on for the purchase. In a wholesale store of building materials, we saw a live event of viewing the list of products and nothing from the basket and checkout: the result is there, the place of the break is not visible. We take what the module provides and build the rest - it's cheaper than writing from scratch and more reliable than trusting the default settings.

How do you prove that things are really going right?

In two different ways. During work - DebugView: we go through the chain manually and watch each event in real time with all fields. After a month - reconciliation with your accounting system: we take the number of orders and the amount for the period and compare. A difference of a few percent is normal, because some people block scripts or do not give consent to analytics. A difference in times means a defect, and we look for it further. Reconciliation is included in the work.

We have a separate position for each size and color. What will be in the product reports?

One hundred thousand rows, if you don't set the grouping in advance. In the underwear store we measured on 08/01/2026, a standard search returns 115,456 items — these are model + size + color SKUs, not models. Recommendation: give the identifier at the SKU level, because it is exactly what is needed for advertising and feed, and put the model as a separate parameter of the option. Then the report is read on two levels — both by models and by specific sizes that are actually bought.

Can I accommodate returns and canceled orders?

Technically yes, a separate return event. Practically, it rests on your system: it needs to be able to tell the outside that the order has been cancelled, and do it once, not every time the status changes. For niches with a high percentage of returns, the point is critical - without it, income in reports is systematically inflated, and advertising is optimized for orders that did not exist. In the rest of the cases, we honestly advise you to postpone it to the second stage.

We have had analytics for a long time. Why check?

Because "standing" and "collecting" are different things, and outwardly they look the same. In the B2B parts catalog, we found a counter in the code that hasn't written anything for three years: the Universal Analytics config stopped on July 1, 2023, and the GA4 feature is missing. Of the 33 sites where we took measurements, six did not have a counter at all. Verification takes 2-4 days and costs nothing - it's a cheaper way to find out about a defect than a quarter of advertising on false data.

How long does implementation take?

4-16 working days. A common CMS with a live module and minor improvements — four to six days including debugging. Self-written basket with a custom design - up to three weeks: each step is described separately and requires the participation of your developer, and he is rarely available on the same day. Reconciliation with accounting takes place one month after the launch of the events and is not included in this period. We name the exact date after a free inspection.

Is e-commerce necessary if we do not advertise?

It is necessary, and here it is even more valuable. Without ads, product reports are the only way to see which items are viewed and not bought, at which step the cart is falling apart, and which categories are making money and which are just taking up menu space. This is a decision about the assortment and the site itself. When the ad appears, the data will already be there — and the first month of the budget will not be spent on finally starting to collect it.

Give access to GA4 and the address of the store - let's see what is transferred now.

In response, we will send a list of chain events with the "working / not working" mark, an estimate of the revenue discrepancy with your account, and a data level scheme for your platform. If everything has already been done correctly, we will say so.

From measured casesThe gtag with the Universal Analytics config is connected in the markup, and there is no GA4 property at all

View cases
  • Reply within 2 hours
  • No commitment
  • We work under a contract

There is no price list on the site on purpose: the same work differs several times over between two clients, and a “from” figure explains nothing in that case. First a free audit — we count your pages, duplicates and speed — then we name the sum and the deadline and fix both in the contract.