Client system · Profit dashboard
Are we ahead of last month, and what should we change? One dashboard answers both, from net sales down to contribution margin, on data the client owns.
An Australian ecommerce retailer
Profit and loss dashboard
Like-for-like month view
Channel and product profit
Owned data, no rented tool
The live dashboard, month-to-date KPI view
The system
Shopify, Meta, Google Ads, costs and sixty-eight months of history flow into one place the client owns, and read as a single dashboard.
68
months of history, reconciled to the cent
2 hrs
of morning reporting, replaced
$10k
monthly ad spend cut, total sales flat
Automated sync
The founder ran four standard reports by hand every morning before the day could start. Exports, spreadsheets, cross-checking. Up to two hours a day, and once most of a day. "I might spend like two hours trying to get my reports coming out of there."
The question she actually cared about was simpler than any of the four reports. Are we ahead of last month, and what should we change? Getting an answer meant doing the comparison in her head on top of the numbers she had just assembled.
She was paying for a rented reporting tool on top of all that. Its numbers did not reconcile with Shopify's own records, so the day started with figures she could not fully trust.
Like for like
The view she asked for by name. The first days of this month against the same days of every month before it.
The VS CURRENT % column marks every prior month up or down against where this month is tracking, and a longer month never flatters the numbers.
She reads it the way she used to run the comparison in her head: "comparing it to 28 days of June, 28 days of April…"
The table runs back through the store's full history, so no season is read on its own.
Twelve months side by side. The channel mix shifts month to month, and each channel carries its own return on ad spend, so a strong total cannot hide a weak channel.
Sales by channel, the last twelve months · the live dashboard
Twelve stacked bars show the channel mix shifting month to month, season to season.
Each channel shows its own return on ad spend, so paid and organic read side by side on equal terms.
The decision
Every ad set is measured against the point where it breaks even, worked out from the real margin of that period, and the line sits on the table for everyone to see. Anything under it turns red, and it stays red until someone acts. The dashboard did not make these calls. It made the losing spend impossible to miss. The decision stayed with her.
Ad sets · the live dashboard, where spend gets cut
$400→$200
One product's daily ads, halved.
0.94
Products
Contribution margin per product, after ad spend and cost of goods. The spread runs from 14% to 64%, and it is rarely the spread the founder expects.
Fourteen products lose money once ads and COGS are included. The dashboard says so in plain text on the table itself.
Returns sit in every product's row, so a strong seller that comes back often reads honestly.
Each product's margin is read after its own ad spend and cost of goods, not before them.
Every number starts in the client's own accounts, moves itself into one place they own, and stays there. No rented tool in the middle, and no subscription holding the history hostage.
Where the business actually happens, and where every figure originates.
The numbers move on their own. Meta and Google land every morning, Shopify in real time.
The morning routine is gone Four hand-assembled reports became one dashboard that is already current when she opens it. Up to two hours a morning went back to running the business.
The rented tool was replaced The client ended her Triple Whale subscription in favour of this dashboard. "we just paid Triple Whale the other day, if we can pass off them before the next payment that'd be great." Its numbers never reconciled with Shopify's actuals. These do, to the cent, across all sixty-eight months.
Weak spend got cut One product's daily ads halved from $400 to $200. An ad set losing roughly $75 a day was killed. A deliberate $10,000 cut to Google spend left total sales flat.
The history is an asset now Sixty-eight months of history live in the client's own account, checked to the cent. Leaving a tool no longer means leaving the data behind.
This build fits founders who recognise their mornings here.
Ecommerce founders assembling the same reports by hand every day.
Operators paying for a reporting tool whose numbers do not match their store.
Brands spending on ads without a per-product or per-ad-set profit view.
CEOs who want to know if they are ahead of last month without asking anyone.
Teams who would rather own their numbers than rent them.
Tell us what platforms you sell and advertise on, and we will show you what an owned profit dashboard looks like on your data. Built on what you already use, owned by you, with every figure tied back to the source.
Real time
the numbers refresh themselves
Meta and Google land every morning, Shopify in real time. No exports, no assembly.
Built on data the client already owns

Traffic, orders, conversion and share sit on the same row, so a busy channel and a profitable one are easy to tell apart.
Channel figures add up exactly to actual net sales. There is no gap between the view and the ledger.
ROAS on the ad set that was killed, carrying $5,772 of spend and losing roughly $75 a day.
$10k
of monthly Google spend cut on purpose for a month. Total sales held flat.
Everything lands in the client's own BigQuery account. Sixty-eight months of Shopify history, every figure right down to the cent.
One page that reads it all. The profit chain from gross sales to contribution margin, like-for-like months, channels, products and ad sets.
What we learned A dashboard earns its place when it answers a question the founder already asks every morning. Visibility first, insight second, decision third. This one did not grow revenue by itself, and we do not claim it did. It made the right cuts obvious.
2026-08-21
Read the case study