POAS vs ROAS: Which One Should Guide Your Black Friday Scaling Decisions?
POAS vs ROAS comes down to one question: are you measuring the revenue your ads drove, or the profit? ROAS divides revenue by ad spend. POAS, profit on ad spend, divides the profit left after product and order costs by ad spend. For most of the year the two move together closely enough that ROAS works as a shortcut. During Black Friday (November 27) and Cyber Monday (November 30), they split apart, because discount depth and product margin vary wildly from one campaign to the next. If you're deciding where to push budget on a Saturday morning in the middle of BFCM, POAS is the number that tells you whether more spend means more money.
What is the difference between POAS and ROAS?
ROAS tells you how much revenue each ad dollar is credited with. POAS tells you how much contribution profit each ad dollar is credited with. A POAS of 1.0 means the ad spend exactly consumed the profit those orders generated. Above 1.0, the campaign added profit. Below 1.0, it lost money even if ROAS looked strong.
- ROAS = attributed revenue / ad spend
- POAS = (attributed revenue minus COGS minus shipping, fulfillment and payment fees) / ad spend
Some teams calculate POAS on gross profit only (revenue minus COGS). That's a reasonable start, and it's the version Google Ads supports through conversions with cart data, which pulls COGS from your Merchant Center feed to report gross profit by campaign. Including shipping and fees gets you closer to the real answer. Pick one definition and use it everywhere. For a deeper look at why profit-based reporting changes decisions, see why profitability-based reporting beats ROAS.
Same BFCM ROAS, very different profit
Here's how two campaigns with identical holiday ROAS can produce opposite results. Both spend $10,000 over Cyber Week. Both report a 4.0x ROAS, so both drove $40,000 in revenue. Shipping, fulfillment and payment fees run 10% of revenue for each.
Campaign A: skincare set, 15% off
- COGS is 25% of list price. At 15% off, that becomes 29.4% of the discounted revenue: $11,765
- Shipping and fees: $4,000
- Profit before ads: $24,235
- POAS: 2.42. Net contribution after ads: $14,235
Campaign B: tech accessory bundle, 25% off
- COGS is 60% of list price. At 25% off, that becomes 80% of the discounted revenue: $32,000
- Shipping and fees: $4,000
- Profit before ads: $4,000
- POAS: 0.40. Net contribution after ads: negative $6,000
Same ROAS. One campaign made $14,235. The other lost $6,000. A ROAS rule treats them as equals. A POAS rule cuts B and moves the money to A.
Discount depth makes this worse every year. Adobe's 2025 holiday recap found Black Friday discounts averaged 23.7% online, with electronics and apparel hitting their deepest discounts on Cyber Monday. Those are the categories where low-margin, high-discount campaigns can hide inside a blended ROAS number.
How to calculate POAS for BFCM campaigns
Calculating POAS takes four inputs per campaign. Here's the process.
- Get attributed orders and revenue by campaign. Use net revenue after discounts, not list price. Discounts show up as lower revenue, not a separate cost.
- Attach COGS to the products in those orders. SKU-level COGS matters here, since a campaign selling bundles has a different cost mix from one selling single hero products.
- Subtract shipping, fulfillment and payment fees. A flat percentage of revenue is fine for planning. Use actuals once the event closes.
- Divide by ad spend. The result is POAS. Compare it against 1.0 and against the target you set before the event.
Run it on new and returning customers separately when you can. A campaign spending heavily to reach people who already buy from you (the Recent Customers or Loyal Customers segments) may post a high POAS on orders that would have come in through email anyway. Applying a Recent Buyers Exclusion to prospecting campaigns during BFCM keeps that profit from flattering the wrong campaigns.
The attribution problem hiding inside POAS
POAS is only as good as the revenue it's calculated on. If that revenue comes from platform self-reporting, the POAS inherits every bit of over-crediting. Meta's default attribution setting in 2026 is 7-day click, 1-day engage-through, and 1-day view, as Jon Loomer explains in his 2026 attribution breakdown. View-through credit is exactly where holiday orders get double counted, since BFCM shoppers see ads from every brand in their feed and then buy through email, search or direct.
Practitioners have been warning about this for a while. PPC Land reported media buyers pointing out that the default window can credit sales that would have happened anyway, and that inflated ROAS leads directly to poor budget decisions.
Run Campaign A through that lens. If its platform-reported 4.0x ROAS is really 3.0x on click-verified orders, revenue drops to $30,000, profit before ads to $18,176, and POAS from 2.42 to 1.82. Still profitable, but the scaling headroom is smaller than it looked. For a campaign closer to the line, the same correction flips it from profitable to losing money.
AdBeacon shows click-verified POAS next to each platform's self-reported ROAS, campaign by campaign, before Black Friday.
How to use POAS to decide what to scale during BFCM
POAS turns holiday scaling into rules you agree on before the event, not a Slack debate at 11pm on Black Friday.
- Scale: POAS comfortably above your target (for example 1.5 or higher) on click-verified data. Increase budget in steps of 20% to 30% and watch POAS at the margin, not just the average. Your best campaigns will lose efficiency as you push them, and CPMs were already up 11% in late November last year, according to Geist's Q4 2025 Meta rate data.
- Hold: POAS between 1.0 and your target. Profitable, but not where incremental dollars should go first.
- Cut or fix the offer: POAS below 1.0. Before killing the campaign, check whether a shallower discount or a different product mix would fix it.
If you need a refresher on timing and signals beyond the holiday window, our post on when to scale your Facebook campaigns covers the fundamentals.
How AdBeacon reports POAS
AdBeacon calculates POAS alongside ROAS, CAC, nCAC, and MER using first-party, click-only attribution for Shopify, BigCommerce, and WooCommerce. Click-only means a conversion is credited to an ad only when there's a recorded click. AdBeacon shows its click-verified numbers side by side with each platform's self-reported ROAS, so you can see which campaigns hold up and which only look good in Ads Manager. It's more accurate and more verifiable than platform self-reporting, which matters most when every channel claims the same Cyber Week order.
Agencies using this approach have seen it pay off on profit, not just revenue. Cacao & Cardamom, working with Best Practice Media, grew net profits 420% in 90 days, and Foresight Sports, with National Positions, grew net profit 249.2%.
The takeaway
ROAS tells you which campaigns drove revenue. POAS tells you which ones you should feed during BFCM. Set your POAS thresholds now, calculate them on click-verified revenue, and let them decide where the next dollar goes. If you want to see POAS and platform-reported ROAS next to each other for your own campaigns before Black Friday, book a demo with the AdBeacon team.
FAQ
What is POAS in ecommerce?
POAS, or profit on ad spend, is the contribution profit generated by a campaign divided by its ad spend. A POAS above 1.0 means the campaign added profit after paying for its ads.
How do you calculate POAS?
Subtract COGS, shipping, fulfillment and payment fees from attributed revenue, then divide by ad spend. Use net revenue after discounts so the promotion's cost is captured.
Is POAS better than ROAS for BFCM?
For scaling decisions, yes, because BFCM campaigns vary widely in discount depth and product margin. Two campaigns at the same ROAS can produce very different profit.
What is a good POAS?
Anything above 1.0 is profitable on a contribution basis. Many brands set a scaling threshold of around 1.3 to 1.5 so there's room for efficiency to drop as budget increases.
Why does my POAS look different in AdBeacon than in Ads Manager?
Ads Manager uses Meta's own attribution, which by default includes view-through and engage-through credit. AdBeacon uses click-only, first-party attribution, so revenue per campaign, and the POAS built on it, is usually lower and more verifiable.