Mammoth Agency
Performance Strategy6 min read

Inventory-Aware Advertising: How to Spend to Profit, Not ROAS

Inventory-Aware Advertising: How to Spend to Profit, Not ROAS

Two products can have the exact same ROAS and deserve completely opposite budget decisions. One should get more spend. The other should get less - immediately. ROAS can't tell you which is which, because it's blind to the two variables that actually decide whether ad spend makes money: your margin and your stock.

That's the case for inventory-aware advertising - allocating budget by profit and inventory position, at the product level. Here's why it matters, and exactly how to do it.

ROAS hides two things

It hides your margin. A 3x ROAS on a 30%-margin product is a loss once you take out COGS, shipping and fees. A 3x ROAS on a 60%-margin product is genuinely profitable. Same number, opposite outcome. The fix is POAS - profit on ad spend - which counts the profit you keep, not the revenue the platform takes credit for. (Work out yours with the free POAS calculator and break-even ROAS calculator.)

It hides your stock. This is the part almost everyone misses. A brilliant ROAS on a product that's about to sell out is wasted money - you're paying to manufacture demand you can't fulfil. Meanwhile, dead stock sits in the warehouse for months, tying up cash, while your ads keep chasing the wrong products. Revenue per pound says nothing about whether you can actually deliver, or whether the cash is better freed up.

Put those two variables together and every product falls into one of four situations.

The four verdicts

Think of it as a simple grid: profit (POAS) on one axis, stock position (days of cover) on the other. Days of cover = stock on hand ÷ daily sell-through, measured against your lead time to restock.

VerdictWhenWhyAction
ScaleProfitable + well-stockedYou make money on every pound and you can fulfil the demandPut more budget behind it
MaintainWorking + healthy stockIt's doing its job - no reason to disrupt the ad set's learningHold steady
EaseProfitable but about to stock outDon't pay to create demand you can't fulfil - and don't tank the ad set with a hard pauseThrottle spend down, gradually
LiquidateOverstocked, cash tied upStock sitting for months is sunk cost eating your liquidity - moving it is worth a thinner marginPush it, even at lower POAS

The two that change everything are Ease and Liquidate - because they're the opposite of what a ROAS dashboard tells you to do.

Ease: throttle before you sell out

When a profitable product is days from a stockout, a normal account keeps spending - the ROAS looks great, so why stop? But every pound now buys demand you can't ship. Best case you generate refunds and angry "where's my order" emails; worst case you blow your reputation and your retargeting budget on a product that's gone.

The move is to ease spend down gradually as days of cover drops toward your lead time - not a hard pause (which throws the ad set back into learning and wrecks its momentum for when you restock). Glide it down, hold the learnings, ramp back when stock lands.

Liquidate: push the dead stock

The mirror image. A product has sat in the warehouse for months. It's not a hero performer, so the ROAS-led account under-spends on it. But that stock is sunk cost tying up your working capital - cash you could be putting into winners. Here, the goal isn't margin, it's velocity: move the units, free the cash, even at a thinner POAS. That often means a deliberate clearance push - fresh creative, an offer, budget behind it - to turn frozen inventory back into liquid.

This is where ad strategy and cashflow finally talk to each other. A clearance you'd never run on ROAS logic is the right call on inventory logic.

Why a profit dashboard isn't enough

Profit tools (Triple Whale, Polar, BeProfit) are a big step up from ROAS - they show you your real margin. But they stop at "here's your profit." They don't change the spend decision based on stock. Two products with identical POAS still get treated the same.

Inventory-aware advertising is the next layer: the same POAS means spend more on one product and spend less on another, depending entirely on days of cover. Profit tells you if a pound is worth spending; inventory tells you if it's worth spending right now, on this product.

How to actually do it

The manual version, weekly:

  1. Pull profit per product - revenue minus COGS, shipping and fees - and divide by that product's ad spend to get POAS. (Not account-level. Product-level, or you'll average winners and leakers together.)
  2. Pull days of cover per product - stock on hand ÷ daily sell-through - and compare it to your restock lead time.
  3. Assign each product a verdict - Scale, Maintain, Ease or Liquidate - from the grid above.
  4. Turn each verdict into an action - a budget change, or a creative brief (a clearance push needs its own ads, not the same evergreen creative).
  5. Re-run it weekly - stock and sell-through move constantly, so a product's verdict changes week to week.

The honest catch: doing this by hand across a real catalogue, every week, syncing Shopify stock to Meta and Google spend at the SKU level, is brutal. That's exactly the problem we've built into our platform - it watches profit and stock per product and tells you which to scale, hold, ease or clear, then turns each call into a ready action plan. But the method works manually too, and it'll beat ROAS-led allocation every time.

The takeaway

ROAS asks "did this ad make revenue?" The better question is "should we be spending more or less on this product right now - given both its profit and its stock?" Answer that, and you stop paying to sell out, stop letting cash freeze in the warehouse, and put budget where it actually compounds.

Want to see where your spend and stock are out of sync? Request a free profit-and-inventory review and we'll show you which products to scale, ease or clear - or read The State of DTC Ad Creative for what proven creative looks like once you know which products to back.

MA

Mammoth Agency

AI-powered performance marketing agency. Proprietary competitive intelligence combined with expert media buying.

Want to see what your competitors are running?

We'll run your account and your closest competitors through the engine and send back the proven winners, hooks and gaps - free, back in 24 hours. No agency BS, just the breakdown.

Get your free competitor report