Return on ad spend (ROAS) tells you how much revenue an ad brought back. It says nothing about whether that revenue was worth earning. A campaign can post a proud 4.0 ROAS and still bleed cash if your margins are thin. Profit on ad spend closes that gap by putting profit — not revenue — over the same denominator.
This guide gives you the exact formula, the two ways "profit" is defined, a full worked example, and the single identity that tells you your break-even point. If you want the wider set of definitions this metric lives inside, the ecommerce metrics guide is the hub.
What POAS actually means
POAS stands for profit on ad spend. It measures the profit generated per advertising dollar, after you subtract the cost of the goods you sold to earn that revenue.
The distinction matters because revenue is not money you keep. If you sell a $40 shirt that cost you $16 to make and fulfill, only part of that $40 is yours. ROAS treats the whole $40 as the return; POAS treats only the profit portion as the return. Same ad spend, very different verdict.
Because profit is always smaller than revenue, POAS is always smaller than ROAS for the same campaign. The gap between them is your margin. A high-margin store sees POAS close to ROAS; a low-margin store sees POAS collapse toward zero even when ROAS looks healthy.
The POAS formula
The formula mirrors ROAS with one change to the numerator:
POAS = profit attributed to ads ÷ ad spend
Where ROAS uses revenue attributed to ads, POAS uses profit. The result is a ratio, usually written like 2.4 or 1.6, and it reads the same way: how many dollars of profit came back per dollar spent.
The break-even point is 1.0. At exactly 1.0, the profit your ads generated equals the money you put into them — you netted nothing. Above 1.0 the campaign is profitable; below 1.0 it is subsidizing sales out of your own pocket. Profitmetrics frames this cleanly: a POAS higher than one means you made money, because the two numbers are directly comparable.
Gross-profit basis vs contribution-margin basis
Here is where vendors disagree, so state your basis every time.
Gross-profit POAS puts revenue minus cost of goods sold (COGS) over ad spend. It is the most common default and the easiest to compute, since COGS is the one cost every store already tracks.
Contribution-margin POAS is stricter. It also nets out the other variable costs of fulfilling an order — shipping, payment processing, and pick-and-pack — before dividing by ad spend. This is the "honest" version, because those costs are just as real as COGS and scale with every sale.
Neither is wrong, but they produce different numbers from the same store. If you compare your gross-basis POAS to a competitor's contribution-basis POAS, you are comparing two different metrics that happen to share a name.
POAS vs ROAS: a worked example
Say you run a print-on-demand apparel store — call it Summit POD — and you want to compare the two metrics on the same month of data. Here is the setup, framed as an example so the arithmetic ties together:
- Ad-driven revenue: $40,000
- Ad spend (Meta plus Google): $10,000
- Gross margin: 60% (so COGS is 40% of revenue)
ROAS is revenue ÷ ad spend: $40,000 ÷ $10,000 = 4.0. Impressive on a slide.
Gross-profit POAS starts from the profit. Gross profit is 60% of $40,000 = $24,000. Then $24,000 ÷ $10,000 = 2.4. There is a shortcut worth memorizing: POAS = ROAS × margin ratio, so 4.0 × 0.60 = 2.4 lands in one step.
Now the per-order view, because that is where the profit angle most SERP articles skip actually lives. Say each $40 order breaks down like this:
- Revenue: $40.00
- − COGS (blank garment, print, base fulfillment): −$16.00
- = Gross profit: $24.00 (60% margin)
- − Shipping: −$5.00
- − Payment processing (4% of $40): −$1.60
- − Pick and pack: −$1.40
- = Contribution margin before ads: $16.00 (40% of revenue)
On a contribution-margin basis, POAS uses that 40%: 0.40 × 4.0 = 1.6. So the same campaign reads as 4.0, 2.4, or 1.6 depending on which lens you pick — and only the 1.6 reflects what actually hits your bank account before the ad bill. That spread is exactly why POAS exists and why stating your basis is non-negotiable.
What counts as a good POAS
Because break-even is 1.0, any POAS above 1.0 is technically profitable. But "technically profitable" leaves nothing for fixed costs like rent, salaries, and software. You want a buffer.
Sensible targets scale with your margin. According to Polar Analytics, a store with a low gross margin (around 40%) should aim for a healthy POAS of roughly 1.4 or higher, a mid-margin store (around 60%) for 1.6 or higher, and a high-margin store (around 75%) for 2.0 or higher. Lower-margin businesses need a bigger cushion because a single returned order or fee surprise erases more of their thin profit.
Treat those as starting points, not laws. Your real floor depends on your fixed-cost base and how much of your ad-driven revenue comes from repeat buyers versus genuinely new customers — a distinction worth measuring with a metric like new-customer ROAS or NC-ROAS, which strips returning-buyer revenue that ads get wrongly credited for.
Why POAS matters: the break-even identity
The most useful thing POAS gives you is a hard floor for your ad efficiency, derived from your margin.
Your break-even ROAS equals 1 ÷ your margin ratio. On a 40% contribution margin, that is 1 ÷ 0.40 = 2.5. Any ROAS below 2.5 means you are losing money on those orders — full stop. On a 60% gross margin the floor is 1 ÷ 0.60 = 1.67. The lower your margin, the higher the ROAS you must clear just to break even.
POAS folds that whole idea into a single number. POAS equals 1.0 at exactly the point where ROAS equals your break-even ROAS. So instead of memorizing a different ROAS target for every product, you watch one line: is POAS above 1.0? That is the entire question, and it is the reason low-margin catalogs need to be managed on profit, not revenue.
This is also why chasing ROAS can quietly wreck a store. Scaling a campaign from 3.0 to 4.0 ROAS looks like a win, but if you did it by pushing your lowest-margin SKUs, your POAS can fall even as ROAS climbs.
How to improve POAS
There are only three levers, and they are all math you already have:
Raise the margin per order. POAS moves in lock-step with margin ratio. Cutting COGS — negotiating a lower blank cost, trimming a print charge, reducing returns — lifts POAS without touching a single ad setting. For print-on-demand stores in particular, supplier and print-cost reductions are often the fastest lever, because you rarely control the ad auction but you do control your sourcing.
Raise the average order value. More revenue spread over the same fixed per-order costs pushes a larger share of each order into profit, which lifts the numerator.
Lower the cost per order. Cheaper clicks or a higher conversion rate mean fewer ad dollars per sale, shrinking the denominator. Just be careful you are optimizing on link clicks and real orders, not vanity clicks.
Notice that pausing your worst campaigns is only one of these levers, and often the weakest. Where your margin math is the problem, no amount of ad tinkering fixes it.
Where the numbers come from
POAS is only as honest as the profit figure you feed it. That is the hard part: your ad spend lives in Meta and Google, your COGS and fulfillment costs live with your print supplier, your fees live with your payment processor, and your orders live in your store. POAS requires stitching all of those together per order — which is exactly the work most teams do in a spreadsheet once a month and then never trust.
This is the problem PodVector is built to remove. It connects Shopify, Meta Ads, Google Ads, Printify, and Printful, then computes your true per-order profit from live data instead of a stale export. Victor, its AI operator, reads that data — including your ad performance — and proposes moves, executing approved actions on the Shopify side. Victor does not touch your ad account; he reads the numbers and hands you the profit-based decision. PodVector is not a dashboard you have to interpret; it does the profit math so POAS stops being a quarterly guess.
If you want to see how profit-first thinking reshapes the rest of your funnel, the next step is understanding what drives repeat revenue — start with why a high purchase frequency changes your ad math and how RFM segmentation surfaces your most profitable customers.
FAQs
What is the difference between POAS and ROAS?
ROAS is revenue on ad spend; POAS is profit on ad spend. They share the same denominator (ad spend) but differ in the numerator — revenue for ROAS, profit for POAS. A 4.0 ROAS on a low-margin product can be a loss (POAS below 1.0), while the same 4.0 on a high-margin product is healthy. ROAS is a top-line vanity read; POAS is the bottom-line truth.
Is a higher POAS always better?
Higher POAS means more profit per ad dollar, but an unusually high POAS can also signal that you are under-investing in growth — spending too little and leaving profitable scale on the table. The goal is not to maximize the ratio; it is to keep POAS comfortably above your break-even of 1.0 while spending as much as you profitably can.
What is a good POAS?
Break-even is 1.0, so anything above that is profitable in principle. For a real cushion over fixed costs, targets scale with margin — roughly 1.4 or higher for low-margin stores and up to 2.0 or higher for high-margin stores, per Polar Analytics. Set your own floor based on your fixed costs.
Does POAS use gross profit or contribution margin?
Both definitions are in use, which is why you must state yours. Gross-profit POAS subtracts only COGS; contribution-margin POAS also subtracts shipping, payment fees, and fulfillment. The contribution-margin version is the more honest read because those variable costs are unavoidable, but it produces a lower number — never compare one basis against the other.
How do I calculate POAS from ROAS?
Multiply ROAS by your margin ratio. If your ROAS is 4.0 and your gross margin is 60%, your gross-profit POAS is 4.0 × 0.60 = 2.4. Use your contribution-margin ratio instead of gross margin if you want the stricter figure. This shortcut works because profit is just revenue times the margin ratio, and the ad spend cancels out.
Can I track POAS inside my ad platform?
Not accurately. Meta and Google know your revenue and spend but not your COGS, shipping, fees, or returns, so any "profit" they show is a guess. Real POAS requires joining your store, supplier, and payment data per order — a connected profit view rather than a single platform's report — which is the gap tools built for true per-order profit exist to fill.