The math your ad platform can’t do
Your ad platform sees a $200 purchase and bids as if every dollar of that is value. It’s not. $120 is cost of goods. Your actual margin is $80. When the algorithm treats $200 revenue and $200 revenue as equal, it cannot tell that one product makes you $20 profit and another makes you $120. It optimizes for the cheapest conversion — which is usually your lowest-margin SKU.
Your real numbers (probably)
Let’s do the math on your last 100 orders. Pull up your average order value, your blended COGS percentage, and your ad spend.
| Metric | Revenue-based | Profit-based |
|---|---|---|
| Average order value | $150 | $150 |
| Blended COGS | — | 55% ($82.50) |
| Conversion value sent | $150 | $67.50 |
| Ad spend (monthly) | $30,000 | $30,000 |
| Revenue from ads | $150,000 | $150,000 |
| Reported ROAS | 5.0x | — |
| Actual profit from ads | $67,500 | $67,500 |
| POAS | — | 2.25x |
| Profit per ad dollar | $0.44 (hidden) | $1.25 (visible) |
That 5x ROAS looks great in the dashboard. But the math says you’re making $1.25 for every dollar spent — not $5. And on your 10% margin products, you’re losing money at any ROAS below 10x. The dashboard lies because ROAS hides margin.
What POAS actually means
POAS is profit on ad spend. Gross profit divided by ad spend. A 2x POAS means you earn $2 of gross profit for every $1 of ad spend. Unlike ROAS, this number tells you whether you’re making money — no margin math required. If POAS is above 1x, ads are profitable. Below 1x, they’re not. That’s it.
The margin tier strategy
Tier 1: above 40% margin — bid aggressively
These are your profit engines. When the algorithm sees $80-$120 as the conversion value instead of $200, it bids proportionally harder for these products. Scale spend here. Raise tROAS targets. This is where ad dollars turn into real profit.
Tier 2: 20-40% margin — standard bidding
Maintain current bids. Monitor POAS weekly. These products cover their ad cost but don’t generate outsized returns. Let the algorithm find efficient pockets. Don’t scale aggressively.
Tier 3: below 20% margin — exclude or cap
A $200 product at 10% margin generates $20 profit. At a $40 CPA, you lose $20 per conversion. Either exclude these SKUs from paid campaigns entirely or set a hard bid cap that reflects the $20 ceiling. Most brands discover 30-40% of their catalog falls here — and the algorithm has been happily spending on them.
How CustomerLabs calculates this
Every purchase event hits CustomerLabs before it reaches any ad platform. The server pulls the line-item SKUs, looks up per-SKU COGS from your product data, subtracts COGS and any discount codes, and sends the resulting gross profit as the conversion value. No manual spreadsheets. No batch uploads. Real-time, per-order profit calculation on every single event.
Campaign setup
Meta: Value optimization with profit values
- Enable value optimization on your Advantage+ Shopping Campaign. Meta will bid proportionally to the conversion value — which is now profit, not revenue.
- Lower your target ROAS. If you were targeting 4x on revenue-based values, start at 1.5-2x on profit values. The absolute numbers are smaller, but they represent real money.
- Monitor POAS in your analytics — not the ROAS that Meta reports. Meta’s ROAS will look lower because you’re sending smaller values. That’s correct. POAS is the number that matters.
Google: tROAS targeting margin floor
- Set tROAS based on your margin floor. If your minimum acceptable margin after ad spend is 15%, and your average COGS is 50%, set tROAS to the level where profit minus ad cost exceeds that floor.
- Use Performance Max with profit-based conversion values. The algorithm will allocate budget across Shopping, Search, and Display based on which inventory generates the most gross profit per ad dollar.
- Create separate campaigns for Tier 1 vs Tier 2 products. Different margin tiers need different tROAS targets. Don’t blend them.
Sawtooth Media Group: “CustomerLabs transformed our data accuracy and ad performance. Server-side event tracking, easy setup, and seamless integration with Facebook and Google Ads.” — Joe Flattery, Agency Partner
What brands are seeing
| Brand | What changed | Result |
|---|---|---|
| Sawtooth Media Group | Switched client accounts to profit-based conversion values | Ad spend shifted to high-margin products. Profit per ad dollar up 22%. |
| W for Woman | AOV-based custom events + profit signals | Scaled profitably through seasonal highs and lows with margin-aware bidding. |
| Velour Beauty | Profit signals on Meta Advantage+ | Dashboard ROAS dropped from 5.2x to 2.8x. Actual profit rose 31%. |
One more thing: seasonal margin adjustment
COGS isn’t static. Shipping costs spike in Q4. Raw material prices fluctuate quarterly. Seasonal discounting compresses margins in January and July. CustomerLabs can ingest updated COGS data on any schedule — monthly, weekly, or per-promotion. When your margin on a hero SKU drops from 45% to 28% during a sale, the conversion value sent to Meta drops proportionally. The algorithm scales back its bid automatically. No manual campaign adjustments needed.
Smars: “The transparency around channel and event level success rates is a huge plus. After switching to signal engineering, we saw a 200% increase in new customers.” — Sahil Kanojiya, Head of Mediabuying
“Excellent first-party tracking without the gimmicks. We identify more customers than other services and feed that data back into Meta and Google to target users who are actually purchasing.”
Frequently asked questions
How long does it take for Smart Bidding to relearn after switching to profit values?
Google's tROAS and Meta's value optimization both need 3–6 weeks to stabilize after you change conversion values. The first 2 weeks show volatile CPAs as the algorithm explores. By week 4, spend shifts toward higher-margin products. By week 6, POAS is typically stable and outperforming the old ROAS setup.
Where does CustomerLabs pull COGS data from?
CustomerLabs supports Shopify metafields, WooCommerce product cost fields, ERP exports (CSV or API), and manual category-level estimates. If you have per-SKU COGS in any structured format — spreadsheet, database, or product feed — CustomerLabs can ingest it.
How do returns and refunds affect profit signals?
CustomerLabs sends a negative-value adjustment event when a return is processed. If a $65 profit purchase gets refunded, a -$65 event fires to the platform. This prevents the algorithm from over-indexing on products with high return rates.
Does POAS work for B2B or lead generation?
Yes, but the value calculation changes. Instead of revenue minus COGS, you send deal margin or expected contract value minus acquisition cost. For SaaS, this might be annual contract value minus onboarding cost. The principle is the same — send the profit, not the revenue.
What's a good POAS benchmark?
It depends entirely on your margin structure. A 2x POAS on a 60% margin business means you're making $0.20 profit per ad dollar. A 4x POAS on a 20% margin means the same $0.20. The number itself is meaningless without margin context — which is exactly why ROAS is misleading.
Ready to improve your signals?
Book a 30-minute walkthrough. We'll audit your current setup, show you what's missing, and map out a 3-week implementation plan.