Their healthiest looking metric was the warning sign
A Shopify brand followed a record January with a heavy loss in February. The returning customer rate everyone was proud of was the clue, and the conversion data was too inflated for anyone to see it. We rebuilt the measurement, moved the budget onto new customers, then modelled where it should go next.
A US direct to consumer brand on Shopify · Enthusiast category · name withheld at the client's request
- 3 to 6×
- More conversions the ad platforms were reporting than were actually happening
- 95%
- Tracking accuracy after the rebuild, measured against the store's own orders
- 7×+
- Return on the two channels the model showed were carrying the business
- Industry
- Direct to consumer ecommerce
- Model
- Shopify, single storefront
- Region
- United States
- Scale
- Multi-million-dollar annual revenue, five paid channels, large existing customer list
- Stack
- Shopify · GA4 · GTM web and server · Google Ads · Meta · Bing · Klaviyo · SMS · Looker Studio · Google Meridian
- Engagement
- Measurement rebuild, then an ongoing advisory retainer
- Period
- January 2025 onward
01 · The problem
A record month, then a loss, and nothing in the reporting explained why
January was the best month the business had seen. The team had gone all in on offers to their existing customer base and it worked. Four weeks later the same business posted a heavy loss. Nothing had broken. The offers had simply run out of people to land on, and no report in the company was built to show that.
Monthly net profit, indexed to January
2The budget was landing on people who had already bought
3Nobody was looking at profit
The metric that told the real story
02 · Fix the data
Nothing else is worth doing until the numbers are true
There is no point arguing about budget allocation when the inputs are inflated three to six times over. The first job was to make the reporting match reality, and to put it somewhere leadership would actually look.
Built
- Conversion tracking rebuilt from scratch in Google Tag Manager, with server-side delivery where the platform allowed it, so purchases reach the ad platforms reliably rather than depending on what survives the browser.
- Reconciled against the store's own orders until tracking accuracy reached 95%. That number is the point of the whole exercise: it is the difference between a reported conversion and a real one.
- A full UTM convention applied across every platform, so campaign-level performance can be compared on one consistent basis instead of five different ones.
- Profitability dashboards in Looker Studio, built for leadership rather than for media buyers. Net profit next to revenue, spend and margin, in one view, updated daily.
- Live campaign alerts into Slack, so the media buyers see performance move during the day rather than reading about it a week later. Shortening that loop changes what people can actually act on.
Why the accuracy number matters more than it sounds
Why profit, not revenue
03 · Change the target
Stop paying to reach the customers you already have
With trustworthy numbers in place, the pattern was obvious and the fix was uncomfortable. A large share of spend was going to audiences the business had already acquired. That spend looks efficient on a platform report and does almost nothing for growth.
Changed
- Budget moved off repeat-audience retargeting and onto prospecting, with existing customers excluded from acquisition campaigns rather than quietly counted as wins.
- Lead generation funnels introduced, so paid traffic had somewhere to go other than straight to a product page. Not every visitor is ready to buy today, and the previous setup had no way to keep the ones who were not.
- Nurture rebuilt across email and SMS, so the list became a channel that develops a relationship rather than a discount broadcast.
- Promotions planned against a calendar and a margin target rather than decided reactively. Discounting without a plan is how a strong January becomes a difficult February.
04 · Prove it with a model
A year of weekly data, and a clear answer on where the next dollar goes
Once the data was reliable, we built a Bayesian marketing mix model in Google Meridian on 52 weeks of weekly data across five paid channels, with controls for seasonality and promotions. The point of a model is not to replace judgement, it is to answer the one question platform attribution structurally cannot: which spend is actually incremental.
How it works, briefly
Whether to trust it
Average return versus return on the next dollar
Finding
Two channels were carrying the business, and the model was confident about both
Paid search and email each returned more than 7x on average, with tight credible intervals. The three remaining channels sat between 1.6x and 2.2x with wide intervals, and their marginal return, the return on the next dollar, sat at or below break-even. Money moved into those channels was not buying incremental revenue.
Finding
Historically excellent and still worth scaling are not the same thing
Email had the highest average return in the account and one of the lower marginal returns, which is the signature of a channel that is well run and close to its ceiling. Paid search had a slightly lower average and a clearly higher marginal return, meaning it was the channel with headroom. Reading only the average would have produced the wrong decision.
Finding
There was very little demand underneath the advertising
The model estimated the baseline, the revenue that would arrive with no paid media at all, as close to nothing. For this business that is a strategic fact rather than a criticism: paid media is not amplifying existing demand, it is creating it. Continuity of spend is therefore not a lever to be switched off in a quiet month, and the brand-building work that would build a baseline is a separate, longer project.
05 · What it produced
Trustworthy numbers, a growing customer base, and profit back at a record
| Before | After |
|---|---|
| Platforms reporting three to six times more conversions than happened | Tracking reconciled to the store's own orders at 95% accuracy |
| Five platforms, five campaign naming conventions | One UTM convention, so campaigns are comparable across channels |
| Revenue dashboards only, profit visible after the accounts closed | Daily profitability view built for leadership, with spend and margin alongside sales |
| Performance reviewed weekly, in arrears | Live campaign alerts, so buyers can act during the day |
| Spend concentrated on audiences already acquired | Acquisition prioritised, existing customers excluded from prospecting |
| Budget split by habit and platform-reported ROAS | Budget set by modelled marginal return, refreshed as the data grows |
95%
Tracking accuracy against the store's own order data, from a starting point nobody could quantify
Reconciled directly against store orders.
0.84 → 0.76
Returning customer rate, falling deliberately as new buyers re-entered the mix
Monthly store data. A fall here is the intended outcome, not a decline.
136
July net profit, indexed to January = 100, on a smaller sales month than June
Client reporting. Absolute figures not published.
Method notes. Tracking rebuilt in Google Tag Manager with server-side delivery where supported, reconciled against store order data until accuracy held at 95%. Dashboards in Looker Studio across the store, ad platforms and analytics. Marketing mix model built in Google Meridian: Bayesian regression, weekly grain, 52 weeks, five paid channels, geometric adstock and Hill saturation, controls for seasonality and promotional periods, Hamiltonian Monte Carlo sampling with credible intervals on every output. Fit checked before any figure was reported. Known limits stated in the client's report: 52 weeks is a short window for saturation shape, correlated spend across channels in peak weeks limits separability, and parameters are treated as stable over time, so the model is re-run rather than trusted indefinitely.
Is your best metric telling you what you think it is?
High retention with flat growth, platform conversions that do not match your store, dashboards that show revenue but not profit. Each one is worth checking on its own. Together they are a pattern, and it is a fixable one.
Book a measurement review