For online stores

Every order. Attributed correctly.

Shopify and WooCommerce tracking that books the purchase server-side and rescues the campaign attribution even where classic pixels lose it: express checkouts, landing page funnels, Safari.

How many of your orders currently sit under “Direct”? Those are exactly the ones we bring back.

Shopify & WooCommerce
Express-checkout-proof
Refunds handled automatically
SAME ORDER · TWO SETUPS · EXAMPLEBrowser pixel onlyMeta adclick ID capturedLanderown domainStoreclick ID lostShop Payno thank-you page“Direct”Meta sees no purchaseuncoverflowMeta adclick ID capturedLanderown domainStoreID carried overShop Payserver webhookMeta campaign€38.50 sent to Meta & GoogleMeasured at a D2C brand (UK/EU): unattributed orders 38% → 23% after four weeks. SAME ORDER · TWO SETUPS · EXAMPLEMeta ad → Lander → Store → Shop PayBrowser pixel only: “Direct”The click ID is lost at the domainswitch, and Shop Pay never loads athank-you page — Meta sees no purchase.uncoverflow: Meta campaign, €38.50Click ID carried across the domain,purchase booked via server webhook andsent to Meta & Google.Measured at a D2C brand (UK/EU): unattributedorders 38% → 23% after four weeks.
Above, an example journey with express checkout. The figure in the last line was measured at a client.
38% → 23%
unattributed orders —
after four weeks (D2C brand, UK/EU)
2,129
orders on a single day —
every one captured and delivered
1
event ID per order —
double counting technically ruled out
Attribution rescue

Where classic pixels lose the click ID, we bring it back.

Shop Pay and express checkouts, landing page funnels across several domains, Safari: that's exactly where pixel setups break the link between ad click and purchase — and the revenue ends up under “Direct” or “Referral”. uncoverflow links the purchase to the browsing journey server-side and, if needed, reconstructs the attribution from the order itself.

  • Cross-domain funnelsAd lander on your own domain, purchase in the store? The click ID travels across the domain boundary via the Google linker and the order data — so the purchase lands on the right campaign.
  • Express-checkout-proofEven when the buyer never sees the thank-you page (Shop Pay, Amazon Pay, app switch): the server webhook delivers — with the real order value, tax and payment method.
  • Refunds includedRefunds are sent back to the platforms automatically as counter-entries — so the revenue in your ad accounts stays honest. Gross or net, whichever you need.

Example: a store journey with express checkout

  1. Wed · 19:41
    Click on a Meta ad
    Landing page funnel on your own domain · click ID captured
  2. Wed · 19:42
    On to the store
    The click ID survives the domain switch — the visit stays ONE journey
  3. Wed · 19:48
    Purchase via Shop Pay · €38.50
    The thank-you page never loads — the browser is long closed
    Express checkout
  4. Wed · 19:48
    Server webhook books it
    Order including campaign attribution sent to Google & Meta
    purchase_completed ✓
Side by side

Why the browser is the wrong place to count revenue.

Classic pixel setup
  • The purchase only counts if the thank-you page loads in the browser
  • Express checkouts and app switches break the attribution
  • Ad blockers and declined consent cost purchases — silently
  • Refunds stay invisible — platform revenue reads too high
uncoverflow server-side tracking
  • Shopify/WooCommerce report every order server-to-server
  • The click ID survives domain switches and express checkouts
  • If needed, campaign attribution is reconstructed from the order
  • Refunds go back to the platforms automatically as counter-entries

How many of your orders currently sit under “Direct”? Let's find out.

Book a demo
Runs alongside your existing tracking · compare first, then decide
How it fits together

Three building blocks, one complete picture.

Each block captures something different — none replaces another. Together they give you the journey from the first click to the booked revenue.

WHAT HAPPENS IN THE SHOPAd clickProduct viewedAdd to cartCheckoutPurchaseRefundWHAT CATCHES ITWeb pixel / pluginpath to purchase, campaign parametersCart bridgelinks browser and orderOrder webhookorder and refund, real valueEven when the browser drops out — express checkout, blockers, Safari — the purchase stays complete. WHAT HAPPENS IN THE SHOPAd clickProduct viewedAdd to cartCheckoutPurchaseRefundWHAT CATCHES ITWeb pixel / pluginpath to purchase, campaign parametersCart bridgelinks browser and orderOrder webhookorder and refund, real valueEven when the browser drops out — expresscheckout, blockers, Safari — the purchasestays complete.
Three building blocks, none replaces another: together they form the journey from click to booked revenue.

1 · Purchase webhook

The conversion itself: orders and refunds server-to-server, with real values. Always works — independently of the browser.

2 · Web pixel / plugin

The path to the purchase: product views, carts, checkout steps, campaign parameters. On WordPress including first-party mode over your own domain — with no DNS work.

3 · Cart bridge

Links the two: the purchase webhook inherits the buyer's browsing identity. That turns “an order” into a complete journey from click to revenue.

Why the server webhook reaches orders the browser loses

  • Browser pixels get blocked or declinedAd blockers and a declined consent banner stop the purchase event from ever being sent.
  • Express checkouts never fire at allShop Pay, Amazon Pay, app switch: with no thank-you page loaded there is no browser event — the purchase simply doesn't exist in tracking.
  • The server webhook is fed directlyShopify and WooCommerce report the order server to server. No browser, no blocker, no consent gap in between.
From measurement to marketing

Audiences no pixel can build.

Because every order sits in your database with its purchase history, it automatically produces the segments platform audiences fail at — updated daily, only with marketing consent, self-cleaning.

Eleven segments, ready-built

Cart abandoners, checkout abandoners, top 20 % customers, win-back (no purchase for 60–180 days), full-price vs. coupon buyers, small buyers for upselling, refunders to exclude — plus product segments based on your assortment (“buys mint, but never fruit”).

Straight into Google Customer Match

The segments land in your Google Ads account as audience lists automatically — for remarketing, exclusions and Smart Bidding signals. Synced daily, 30-day self-cleaning: whoever is deleted disappears there too.

And into email marketing

The same data stream feeds Klaviyo, Brevo, CleverReach & co. — purchase events for flow triggering and segment lists for campaigns. One system that serves ads AND email, instead of maintaining two separate data silos.

On the call we show you how many cart abandoners and top customers are sitting in your last 90 days.

Book a demo
30-day parallel run · runs alongside your existing tracking · cancellable monthly
More than the purchase

More signals for Smart Bidding — and nothing that gets lost.

A store produces far more usable truth than the order itself. uncoverflow turns that into signals Google can act on — and backs up the order in case something fails along the way.

Micro-conversions with real values

Product view, add to cart (price × quantity) and checkout start (cart value) run as secondary Google conversion actions with a value — enriched with the email hash of the same person. More match signals for Smart Bidding, without changing your bidding target.

New or returning customer — correctly

Derived from the first purchase per email address, not from the store account (a guest order is not a new customer). That keeps new-customer bidding in Performance Max and the new-customer share in your report accurate — instead of quietly counting “unknown” as returning.

Several stores, currencies, intermediate pages

Click IDs travel across store boundaries (UK store → EU store) and from ad landers into the store, instead of ending up as “direct”. Ad spend from foreign-currency accounts is converted into euros at the ECB daily rate — one ROAS across all stores.

Order safety net

If the webhook fails, a backfill pulls missing orders from the WooCommerce API every three hours. Shopify express purchases with no browser trace get their source back from Shopify's own order attribution. Rejected events wait encrypted in quarantine to be replayed.

Auditing the platforms

We don't just measure — we audit the platforms.

Your ad account reports a return you can't find on your bank statement — the most uncomfortable moment of the month. Because we hold both sides (the platform number AND the real order from your shop), we compare them automatically, every day.

Delivery

How many of the conversions we sent did the platform actually accept?

Value

The purchase value your ad account reports against the revenue your shop really booked.

Count

The reported number of purchases against your real orders — independent of currency.

Match

How much of what we delivered the platform was actually able to tie back to an ad click.

One case from operations: an ad account reported more than €9,000 in purchase value on a single day. The shop showed around €500 for the same day. Whenever a platform reports more revenue or more orders than your shop actually had, you get an alert — not at the end of the month.
New · Product ROAS

Google cost per product — against the orders your shop actually had.

Google Shopping and Performance Max show you cost and conversions per product — but only Google’s own count. uncoverflow puts next to it what your shop really sold of the same product. You see which products burn ad budget without ever selling, and which bestsellers run without a single Google click.

Product ROAS · sample view
Product ROAS3.4×revenue with Google click ÷ Google cost
All channels15.0×the same revenue across all channels
Cost without a sale€312on products without a single order
Hidden bestseller57 orderswithout a single Google click
ProductGoogle costGoogle conv.Orders Google / allROAS
Product A€4864138 / 964.9×
Product B€203180 / 3–
Product C€000 / 57–

Product B: Google counted 18 conversions — the shop had not a single order with a Google click for this product. Product C sells 57 times without any Google traffic: a hidden bestseller. No ad account shows either.

Reproduction of the dashboard view with sample data — the cases come from production, anonymised.
New · Purchase paths

The last click is not the whole story.

A customer clicks a Google ad and buys a week later through your newsletter. The ad account sees none of it, and the newsletter platform claims the sale entirely. uncoverflow knows every visit of the same person before the purchase — and shows which channels took part, not just the last one.

Assists & purchase paths · sample view
Multi-channel orders9%had more than one channel before buying
First contact → order7 daysmedian for multi-channel orders
Email closed44orders an email finished
Google Ads assists6orders prepared, not closed
Path (first → last contact)OrdersRevenueMedian
Google Ads → Google Ads7€2867 days
Google Ads → Email3€1378 days
Meta → Organic search2€10414 days

Per channel you see closes (last contact) and assists (involved, but not last). A channel with many assists and few closes prepares purchases — and is systematically undervalued by last-click dashboards.

Values from one shop in production, 30 days, anonymised. Counts visits of the same person with consent; attribution sent to Google stays unchanged.
New · Shop analytics

Revenue is not profit — and the first order is not the whole customer.

Beyond channel and ROAS, uncoverflow works out what a purchase really brings you: what a new customer is worth over the months and when their ad cost is paid back, which discount codes bring new customers and where their buyers came from, what is left after cost of goods, fees, shipping and ads — and how well Meta matches your purchases to people. All in the “Analytics” area, with your shop data.

MEASURED · ONE CUSTOMER SHOP · AS OF OCTOBER 2026CUSTOMER VALUE+45%more revenue per new customer after twomonths28% buy again. Alongside: ad cost per new customer andthe month it is paid back.DISCOUNT CODES43%of purchases used a codeFor some codes almost half of the buyers came withoutany click trail — reach no ad report shows.PROFIT= ProfitRevenue − cost of goods − fees − shipping− adsWith your real unit costs per item, pasted from Excel— not a flat margin.META MATCH QUALITY8.4 / 10for purchases — measured dailyAdd-to-cart at 5.9: the click ID is often missingthere. If the score drops, the watchdog speaks up. MEASURED · ONE CUSTOMER SHOP · AS OFOCTOBER 2026CUSTOMER VALUE+45%more revenue per new customer aftertwo months28% buy again. Alongside: ad cost per newcustomer and the month it is paid back.DISCOUNT CODES43%of purchases used a codeFor some codes almost half of the buyers camewithout any click trail — reach no ad reportshows.PROFIT= ProfitRevenue − cost of goods − fees −shipping − adsWith your real unit costs per item, pasted fromExcel — not a flat margin.META MATCH QUALITY8.4 / 10for purchases — measured dailyAdd-to-cart at 5.9: the click ID is oftenmissing there. If the score drops, the watchdogspeaks up.
Values from a customer shop in production, as of October 2026, anonymised. The profit tile shows the calculation, not a number: that needs your unit costs.
New · Checkout watchdog

If the checkout dies, you hear about it in hours — not at month end.

Customers get as far as the checkout, enter payment details, and then nothing happens: a payment provider stalls, a theme update broke the last step. The shop only sees less revenue. uncoverflow compares checkout visits and purchases every hour with your own 30-day rate and speaks up as soon as the drop can no longer be chance. And in the morning everything sits at the top of the cockpit in three sentences: what was different yesterday, what the Copilot found, what the watchdogs report.

MEASURED · ONE CUSTOMER SHOP · 10–11 OCTOBER 2026CHECKOUT WATCHDOG · LAST 24 HOURSCustomers at checkout41Purchases that would be usual18Purchases, actual0Chance: below 1 in a million. Alertby e-mail.Compared every hour with the shop’s own 30-dayrate (44% of checkout visits end in apurchase).SINCE YESTERDAY · TOP OF THE COCKPITYesterday 0 orders, about 17 a day isusual. That is far less than normal;chance is unlikely.Copilot: 3 new proposals, 1 changecarried out.Our watchdogs have 3 open reports, weare on it.As of: orders live (last 1 day ago) · web events live (3 hago) · ad costs up to 11 Oct (fetched 03:12, every 3 h) MEASURED · ONE CUSTOMER SHOP · 10–11OCTOBER 2026CHECKOUT WATCHDOG · LAST 24 HOURSCustomers at checkout41Purchases that would be usual18Purchases, actual0Chance: below 1 in a million.Alert by e-mail.Compared every hour with the shop’s own30-day rate (44% of checkout visits endin a purchase).SINCE YESTERDAY · TOP OF THE COCKPITYesterday 0 orders, about 17 a day isusual. That is far less than normal;chance is unlikely.Copilot: 3 new proposals, 1 changecarried out.Our watchdogs have 3 open reports, weare on it.As of: orders live (last 1 day ago) · web events live(3 h ago) · ad costs up to 11 Oct (fetched 03:12,every 3 h)
Real case, anonymised: the payment step of a UK shop failed, the shop only saw less revenue. Left the check, right the card the customer sees first in the morning. Figures from watchdog and cockpit, 11 October 2026.
Frequent questions

Answered briefly.

Does the purchase then count twice — browser and server?
No, that's technically ruled out: both paths carry the same event ID per order, and the server deduplicates. Your platform numbers also stay clean next to a legacy pixel running in parallel — Google and Meta deduplicate on that same ID.
What about my existing Shopify/GA4 tracking?
It simply stays on. uncoverflow runs alongside it and can create its own conversion actions as secondary at first — pure reporting, no influence on bidding. You only switch over once the numbers convince you.
Does this also work with landing page funnels in front of the store?
Yes — that's exactly what the attribution rescue is built for. The click ID travels across the domain switch (Google linker) and is additionally reconstructed from the order data. The purchase lands on the campaign, not under “Referral”.
How much work is the setup?
One snippet in your theme — on WordPress the plugin instead. Then connect the order webhook and let the conversion actions be created automatically. Typically around 30 minutes.
And if I want out again?
Cancellable monthly. You get your raw data as an export — events and journeys, no lock-in.
Keep reading

This goes with it.

Let's talk for 30 minutes.

We look at your store live and show you which orders slip through your current setup — using your real numbers.

Reply within 24 hours on business days · conversations in German or English · no lock-in, cancellable monthly