Media budget moved on a distorted mix
At Incapto, GA4 put paid campaigns at 50% of traffic; measured without consent loss they were 62%. Twelve points of difference in the line of the report that decides media allocation.
Industry · eCommerce and DTC
Shopify, WooCommerce or Magento records every order. The channel behind it comes from analytics that loses visitors at the consent banner and from ad platforms that credit themselves. Sealmetrics measures channels, the purchase funnel and the products each channel sells without consent loss, checked against your store's own orders before you move budget.
Shopify · WooCommerce · Magento 2 · last click per session · no cookies · EU-hosted in Dublin
Quick answer
Analytics for eCommerce has to answer which channels, campaigns and products actually sell, on a base you can check against your store's orders. Most stores read that from GA4, which behind a consent banner does not record visitors who reject it, and from ad platforms, which credit sales to their own ads. The loss is uneven by channel, so the mix itself is wrong: in Incapto's parallel run on Shopify, GA4 showed paid campaigns as 50% of traffic against 62% measured without consent loss, and 14% of its visits had no usable origin. Sealmetrics counts visits without cookies and credits each order to the last click of its session. Its Shopify, WooCommerce and Magento 2 integrations send the purchase funnel and the line items of each order, so revenue can be read by channel, campaign, funnel step and product. It does not identify customers or send conversions to ad platforms.
Why the store report misleads
An eCommerce team asks the same questions every week. Each one is answered today by a tool that either loses part of the traffic or has a stake in the answer, and only the store's order total is beyond dispute.
| The weekly question | Where it is answered today | What goes wrong | What changes when it is measured |
|---|---|---|---|
| Which channel sells? | GA4 channel report | Visitors who reject the banner are missing, and not evenly by channel; traffic with no usable source lands in Direct or Unassigned | Channel revenue without consent loss; at Incapto, visits with no usable origin fell from 14% to 0.3% |
| Which campaign sells? | Meta Ads Manager and Google Ads | Each platform credits its own ads, with its own attribution window and modelled conversions | Revenue by utm_campaign and utm_content, read from the landing page |
| Where does the funnel leak? | GA4 funnel exploration | Built only on the sessions GA4 recorded | Entrances, product views, add to cart, checkout and purchase by source, medium and campaign |
| Which products does each channel sell? | Store admin or GA4 item reports | The store knows the products but not the channel; GA4 knows the channel only for the visits it recorded | The line items of each order by source, medium and campaign |
| Does the total hold? | Store admin | Accurate, with no dependable channel | The reconciliation point for everything above |
Measured, not estimated: when Incapto ran GA4 and Sealmetrics on its Shopify store for 48 days, GA4 did not record 29% of visits and 45% of pageviews, while Sealmetrics recorded 96% of the real online-store orders. How GA4 fills part of that gap with estimates is covered under Consent Mode v2; installation per platform is on Shopify, WooCommerce and Magento.
What the wrong base costs a store
Consent loss does not shrink the report evenly. It reshapes it, and each distortion lands on a decision the eCommerce team makes.
At Incapto, GA4 put paid campaigns at 50% of traffic; measured without consent loss they were 62%. Twelve points of difference in the line of the report that decides media allocation.
Channels that bring people who already know the brand barely moved: Sealmetrics recorded 11% more direct traffic than GA4. Organic search showed 62% more, affiliates 73% and organic social 133%. The channels that find new customers were the ones GA4 understated.
The visits GA4 missed at Incapto browsed 3.3 pages on average, against 1.6 for the visits it recorded. Product and funnel analysis built on the recorded visits leaves out the shoppers who look at most products.
Reading the store on measured data
Every step below starts from something the store recorded, not from a model. The attribution rules behind the channel numbers are set out in revenue attribution.
On Shopify, connect the Sealmetrics Pixel app and enable the app embed; purchases arrive from the orders/create webhook. On WooCommerce and Magento 2, install the plugin or module. On other stores, add the tracker and fire the purchase with its items on the confirmation page. Depending on the platform it takes 5 to 30 minutes.
Compare measured purchases and revenue with the store's own online orders for the same period, timezone and currency. Leave out point-of-sale, marketplace, manual and subscription-renewal orders, which have no web visit behind them. At Incapto, Sealmetrics recorded 96% of real orders and 97% of revenue.
Put each channel's share of traffic and revenue next to GA4's for the same days. The largest differences are the channels whose budget has been decided on the wrong number.
Open the Funnel report: entrances, product views, add to cart, begin checkout and purchase, with the rate at each step. Use the Funnel by UTM table to compare campaigns step by step and the country selector to isolate a market.
In the Properties report, open the Conv. Items tab and choose a product field, such as product name or category, to see units and orders by source, medium and campaign.
Shift budget toward the channels and campaigns that sell on the reconciled base. Before cutting a prospecting or video campaign that looks weak on last click, run a holdout or geographic test and watch total measured revenue.
Who uses it in the store
Each team keeps its tools. What changes is the base their weekly numbers are built on.
Know which channels and products drive the store's revenue.
Revenue by channel and product on a base reconciled with the store's own orders.
Shopify integrationJudge campaigns outside the platforms' own reports.
Revenue by campaign and creative from the landing page's UTMs, joined with each platform's spend.
Revenue attributionFind the funnel step that loses the most shoppers, by source.
The fixed purchase funnel with rates per step, by campaign and by country.
What a funnel measuresTie marketing revenue to the orders the business booked.
Measured totals reconciled with the store before any channel is read. It does not replace revenue recognition.
Single source of truthMeasured in practice
“Consent Mode left us with a structural blind spot: we knew there was traffic we were not seeing, but we had no way to size it.”
Rosa Tomàs · B2C Acquisition Manager · Incapto
Incapto, a specialty coffee brand selling on Shopify, ran GA4 and Sealmetrics side by side. It reconciled both with its real orders first and only then compared channels. The case does not claim that Sealmetrics measures every visit; it reports what each tool recorded over the same days.
of real online-store orders recorded over 48 days, and 97% of revenue
of visits GA4 did not record over the same 48 days
difference in paid campaigns' share of traffic, 50% in GA4 against 62%
What it does not do
These limits come from measuring without identifying anyone. Attribution is last click within each session, by design.
No customer IDs, repeat-purchase history or lifetime value per customer. Those stay in the store and the CRM.
There is no lookback across sessions. A customer who comes back days later by typing your address is credited to direct.
Sealmetrics sends no conversions to Meta or Google Ads. Keep their pixels and server-side APIs for bidding.
ROAS joins measured revenue with each platform's cost in a spreadsheet, in BigQuery or through an AI assistant.
Custom funnels with your own steps are not supported. Track other sequences as microconversions.
Order IDs are not stored, so measured orders are compared with the store by period and channel, never order by order.
Questions eCommerce teams ask
Read the channel from the landing page of each visit, its UTMs, click IDs or referrer, and credit the order to the last click of the session in which it happens. Sealmetrics does this without cookies or stored identifiers, so visitors who reject the consent banner are still counted. Reconcile the measured orders with the store's own before reading any channel.
Shopify through the Pixel app and app embed, with purchases from the orders/create webhook; WooCommerce through the WordPress plugin; Magento 2.4 and Adobe Commerce through a module; and PrestaShop and OpenCart through their own modules. Any other store can use the tracker and fire the purchase on the confirmation page. Installation takes 5 to 30 minutes depending on the platform.
Because GA4 behind a consent banner does not record visitors who reject it, and the loss is not the same in every channel. At Incapto, Sealmetrics recorded 11% more direct traffic than GA4 but 37–52% more from paid campaigns and 133% more from organic social, so paid campaigns were 50% of traffic in GA4 and 62% measured.
Yes, if the purchase includes its line items. The Shopify, WooCommerce and Magento integrations send them; on other stores add an items array to the purchase. The Properties report then shows product fields such as name or category by source, medium and campaign, counting units by quantity.
No. Sealmetrics sends no conversions to ad platforms, so their pixels and server-side APIs stay in place for bidding. Sealmetrics is where the team decides how much budget each channel gets, on revenue reconciled with the store.
No. It does not identify customers or link visits across sessions, which is what lets it measure without cookies. Repeat purchases and lifetime value belong in the store or the CRM; Sealmetrics answers which channels and campaigns bring the orders.
At least one full commercial cycle, including a campaign period. Incapto reconciled 48 days of orders before comparing channels. Keep GA4 and the ad pixels running meanwhile; nothing needs to be switched off.
Store measurement review
Thirty minutes: we compare your store's orders with what your analytics reports for the same period, and show where the channel mix, the funnel and the products sold by channel change.