Cash flow
What a product really earns, after ad spend
Landed cost answers what a unit cost you. It does not answer what you spent to sell it. Ad spend can close that second gap by more than freight ever did, and almost nobody puts the two numbers on the same line.
Two numbers, and most stores only ever compute one
What a product earns is revenue minus what it cost to get here minus what it cost to sell. Most Shopify margin reports answer the first subtraction and skip the second entirely. Landed cost, the goods plus freight plus duty, fixes the first one: it is the honest cost of a unit sitting on your shelf, ready to sell. What it does not touch is the part that happens after the unit exists: the ad spend that got someone to actually buy it.
Put plainly, the way it is often put to us: spend, all in with marketing, 80 on a unit, and sell it for 90, and the ten left over is the real margin, even though the cost price and the selling price on their own looked fine.
A worked example
A product with a landed cost of 12.00 a unit, sold at 30.00. Read only that far and the margin looks like 18.00, a comfortable 60 per cent.
- Landed cost: 12.00 a unit.
- Selling price: 30.00.
- Ad spend that drove the sales of this product, divided by the units sold in the same period: 9.50 a unit.
Margin after landed cost alone: 30.00 − 12.00 = 18.00 (60%). After ad spend too: 30.00 − 12.00 − 9.50 = 8.50 (28.3%). Same product, same price, same customer. The first number is what the Shopify report shows. The second is closer to what actually happened to the money.
Neither number is more real than the other in principle, but only one of them is what is left in the business at the end. A product that looks like your best earner on landed margin alone can be an average one once its own ad spend is subtracted, and a store that only ever looks at the first number has no way to notice.
Why this is harder than landed cost, and why we are not trying to solve all of it
Landed cost is hard because the number changes with every shipment. Ad spend is hard for a different reason: it is only a fact at the product level for catalog-style ads. Google Shopping and Performance Max campaigns report cost against a specific product. Meta's catalog ads do the same for the products in a feed. Every other kind of campaign, video, brand awareness, a general prospecting ad with no feed behind it, has no product on it at all, so its spend can only be modelled across your catalogue rather than known for one SKU.
That distinction is the whole reason we are not building a profit dashboard. A dashboard that quietly blends a known number and a modelled guess into one confident per-product figure is making up precision it does not have. The honest version says two different things depending on which kind of spend it is looking at: a real number for a product with catalog ads pointed at it, and a store-wide share, labelled as a share, for everything else. “Ads took 23 of every 100 sold this month” is a true sentence. “This specific unit's ad cost was 4.60” is only true when the platform actually said so.
The other half of the gap: an empty shelf with the ad still running
There is a cheaper, sharper version of the same idea that needs no margin maths at all. If a product runs out and the campaign pointing at it keeps spending, every dollar or krona after the stockout is being spent to sell something that is not there. Catching that requires nothing more than the out-of-stock list you already have and a read of yesterday's spend per product from the ad platform. It is the fastest way to make ad spend and inventory talk to each other, and it does not need a margin figure to be useful on its own.
What this does and does not touch
Restocio computes landed cost per unit today: goods plus freight on the actual shipment, kept current as deliveries land. Reading ad spend from Google and Meta to put a second margin line next to that number, and to flag a stockout with live ad spend on it, is on our public roadmap under consideration, which means we like the idea and have not committed a date to it. Two things are true about it on purpose: it would only ever add a line and a colour to a row you already see, never move, hide or auto-pause anything (the same rule that already governs every margin signal in the product), and it would not attempt packaging cost, payment fees, outbound shipping or labour, which stay named as missing rather than guessed at.
If a per-product number is not real, a store deserves to be told that plainly rather than shown a confident-looking figure anyway. That is the test any version of this has to pass before it ships.
What you can do about it today, without waiting
You do not need our roadmap to compute this once by hand. Pull last month's ad spend for a handful of your top sellers from Google Ads and Meta Ads Manager, divide by units sold in the same window, and subtract that from the landed margin you already have or can get from the landed cost guide. Do it for the five products carrying the most ad spend first; that is where a comfortable-looking margin is most likely hiding a thin one.
Common questions
Does landed cost already include marketing or ad spend?
No. Landed cost stops at your shelf: the supplier price, freight, and duty where that is tracked. It says nothing about what it cost to actually sell the unit, which is where ad spend, along with payment fees and outbound shipping, lives instead.
Can I see ad spend per product in Restocio today?
Not yet. It is on the public roadmap under consideration, meaning we like the idea and have not committed to a date. Landed cost per unit, goods plus freight, is shipped and live today.
Why not just build a full profit dashboard with ad spend included?
Because per-product ad spend is only a real number for catalog-style ads (Google Shopping, Performance Max, Meta catalog ads). Every other campaign type has no product attached to it, so its cost can only be modelled as a store-wide share. A dashboard that blends a known number and a guess into one confident figure is showing more precision than the data supports. The plan is a real number where the platform provides one, and an honest share where it does not, never a guess presented as fact.
How do I calculate my real margin including ad spend, right now?
Take your landed cost per unit, subtract it from the selling price to get landed margin, then subtract that product's share of ad spend (its ad cost for a period, divided by units sold in the same period) to get the margin after ads. Do this for products with catalog ads pointed at them first, since that is the only case where the ad-spend figure is a fact rather than an estimate.
Marcus co-founded Restocio and works on it daily with a Swedish importer who plans their purchasing in it every working day. Restocio is built in Sweden by two founders, one Swedish and one Danish, and Marcus is the Danish one. Most of the examples on this blog come from that store's real ordering decisions rather than from a textbook. Why we are building it.
Related reading
- Landed cost for Shopify stores, and why your margin is wrong
- Profitable on paper, empty at the bank
- Shopify replenishment, end to end
Restocio plans purchasing for Shopify stores that import. It works out what to order, how much, and whether it should travel by sea, rail or air, so you pay air freight only for the units that genuinely cannot wait.