
Quick Answer: POAS (Profit on Ad Spend) measures gross profit generated per dollar spent on ads, accounting for COGS, fulfillment, fees, and returns. Unlike ROAS, which only tracks revenue, POAS connects ad performance directly to your bottom line. A 4.0 ROAS with thin margins can still lose money, POAS is what actually shows you whether it did.
Key Takeaways
- POAS = Gross Profit / Ad Spend. Unlike ROAS, which only measures revenue per ad dollar, POAS subtracts COGS, fulfillment, transaction fees, and returns before comparing to spend.
- A POAS above 1.0 means ads are profitable on their own before fixed costs. Most DTC brands target 2.0 to 3.0; high-margin or luxury brands can sometimes work with 1.5; low-margin brands often need 3.0 or higher.
- ROAS optimizes ad algorithms toward revenue volume, not profit. A campaign can show a strong ROAS and still lose money if margins are thin, which is exactly the gap POAS is built to close.
- When POAS looks worse than it should, the cause is usually one of two things: margins are genuinely too thin, or tracking is incomplete and ad platforms are optimizing against a distorted picture of what's actually converting.
- Browser-only pixel tracking is widely reported across the industry to miss a meaningful share of conversions due to ad blockers, Safari's ITP, and iOS App Tracking Transparency opt-outs, though the specific percentage cited varies by source and is generally vendor-estimated rather than independently audited.
What is POAS, and why does it matter more than ROAS?
If you're in performance marketing, you probably live and breathe ROAS. But ROAS can be misleading. It shows the revenue your ads are pulling in, but it doesn't tell you whether you're actually making a profit. You could be hitting a 4.0 ROAS and still be in the red if your margins are thin.
POAS stands for Profit on Ad Spend. It figures out the real profit your ads are making by subtracting the extra costs, cost of goods sold, fulfillment, transaction fees, and returns. It links ad spend directly to the number that shows whether you're actually making money. For a DTC startup or growing ecommerce brand, this matters because when you only optimize for ROAS, ad algorithms chase high volume, not high profit. Your dashboard can look great while your P&L tells a different story. POAS makes sure you're optimizing for what actually counts.
Why is ROAS alone misleading?
Because it measures revenue, not what's left after the costs tied to actually delivering that revenue.
ROAS measures total revenue divided by ad spend. Spend $1,000 on ads and generate $4,000 in revenue, and your ROAS is 4.0. But if your gross margin is only 20%, you made $800 in gross profit and lost $200 after ad spend. POAS accounts for that reality directly. Instead of revenue, it measures gross profit. Using the same example, your POAS would be 0.8, meaning you generated $0.80 in profit for every dollar spent on ads. That's a losing campaign, even though the ROAS looks strong.
How do you calculate POAS?
POAS = Gross Profit / Ad Spend, where gross profit is revenue minus all the variable costs tied to a sale.
Here's a worked example. Sell a product for $100. COGS is $40. Fulfillment costs $10. Transaction fees are $3. A 5% refund rate accounts for $5. Gross profit per sale comes to $100 − $40 − $10 − $3 − $5 = $42. If you spent $30 on ads to get that customer, POAS is $42 / $30, which equals 1.4. A POAS over 1.0 means your ads are profitable on their own. Under 1.0 means you're losing money before you even factor in fixed costs like salaries, software, or rent.
What's a good POAS target?
It depends on your business model, but a few general benchmarks are worth knowing.
Most direct-to-consumer brands aim for a POAS between 2.0 and 3.0, meaning $2 to $3 in gross profit for every dollar spent on ads. Luxury or high-margin products can sometimes work with a POAS around 1.5. Lower-margin businesses typically need 3.0 or higher to make the math work. The real trick is knowing your fixed costs and figuring out the minimum POAS you need just to break even.
A quick reference: below 1.0 means you're losing money on each sale. Between 1.0 and 1.5 usually means breaking even or barely scraping by. Above 2.0 means real room to reinvest and cover overhead.
POAS vs. ROAS vs. Other Metrics
| Metric | What it measures | Why it matters | Limitation |
|---|---|---|---|
| ROAS | Revenue per ad dollar | Shows top-line efficiency | Ignores costs and margins |
| POAS | Gross profit per ad dollar | Directly ties to profitability | Requires accurate cost tracking |
| CPA | Cost to acquire a customer | Useful for budgeting | Doesn't account for LTV or margin |
| LTV | Lifetime value vs. acquisition cost | Long-term profitability | Hard to predict for new brands |
| EMQ Score | Event match quality (Meta) | Data accuracy for optimization | Platform-specific |
Why is your POAS low, and how do you fix it?
Usually one of two things: your margins are genuinely too thin, or your tracking is incomplete.
If it's margins, the fix is raising prices, cutting COGS, or making your ads more efficient. If it's tracking, the deeper problem is that ad platforms are optimizing against an incomplete picture of what's actually converting. Browser-only tracking is widely reported across the industry to miss a real share of conversions due to the death of durable third-party cookies and iOS's App Tracking Transparency restrictions, though the specific percentage cited varies significantly by source, most of these figures come from vendors selling tracking products and are directional estimates rather than independently audited studies. The underlying mechanism is well-documented regardless: Safari's ITP caps JavaScript-set cookies at seven days, and a meaningful share of iOS users decline App Tracking Transparency prompts, both of which cause real, missed conversions for browser-only setups. Server-side tracking for Shopify addresses this by sending first-party data directly to platforms like Meta and Google, independent of what happens in the browser, which makes ecommerce conversion tracking more complete and helps ad platforms optimize toward actual profit instead of guessing from a partial picture.
How does server-side tracking actually improve POAS?
By giving ad platform algorithms a complete, accurate picture of what's converting, instead of a partial one they have to guess around.
When tracking is accurate, ad algorithms know where the real conversions are coming from and can allocate budget accordingly. When it's incomplete, algorithms spend on traffic that isn't actually converting, or misattribute credit for conversions that did happen. Aimerce addresses this with Shopify server-side tracking, capturing ecommerce events as they happen rather than depending on browser-side delivery. That gives Meta and Google the signals they need to optimize toward actual profit, not just raw sales volume, which is the direct mechanism connecting better tracking to a better POAS.
Why does tracking accuracy matter more than most brands realize?
Because when ecommerce events are missing or misattributed, ad platforms optimize for the wrong signals entirely, spending on broad audiences, low-intent keywords, or placements that don't actually convert. That directly erodes POAS.
This is why complete event capture, including offline conversions for purchases that happen outside the standard browser checkout flow, matters so much. Every purchase, add-to-cart, and checkout event needs to be captured accurately, since Meta and Google use these signals to improve targeting, bidding, and creative optimization. Better data means lower CPA, which directly improves POAS. If you're serious about improving profit on ad spend, start by auditing your tracking pixels: run through your purchase flow and confirm every event fires correctly, then check your EMQ scores in Meta Events Manager. If they're below 7, data quality is costing you money.
How do you set up server-side tracking to improve POAS?
Through a managed platform rather than a custom, engineering-heavy build, which is what setting this up used to require.
Aimerce automates the process: real-time event processing, parameter validation, automatic deduplication, and direct platform connections, without a GTM container, without delays, and without ongoing maintenance. Once integrated with your Shopify store, it captures every ecommerce event and sends it directly to Meta, Google, and Klaviyo through each platform's Conversions API, extends cookie life to up to a year for better customer data continuity, and enriches events with device type, location, and IP, without requiring any code changes on your end.
Common mistakes to avoid
- Optimizing purely for ROAS without checking margins. A strong ROAS on a low-margin product can still be a losing campaign once real costs are subtracted.
- Assuming a low POAS always means the ads are bad. It's just as often a tracking completeness problem, ad platforms optimizing against an incomplete picture of what's actually converting.
- Treating every vendor's specific "X% of conversions missed" figure as an audited fact. The underlying mechanism, ITP and ATT causing real missed conversions, is well-documented. The specific percentage cited is usually a vendor estimate, not an independently verified study.
- Ignoring EMQ score as a leading indicator. A score below 7 in Meta Events Manager is a concrete, checkable signal that data quality is actively costing you money, before it shows up as a rising CPA.
FAQ
What is POAS in simple terms? Profit on Ad Spend measures how much actual gross profit you make for every dollar spent on ads, after subtracting COGS, fulfillment, transaction fees, and returns. It's the profit-focused counterpart to ROAS, which only measures revenue.
Is a 4.0 ROAS always profitable? No. A 4.0 ROAS with thin margins can still lose money once real costs are factored in. POAS is the metric that actually reveals whether a high-ROAS campaign is profitable or not.
What's considered a good POAS? Most DTC brands target 2.0 to 3.0. Luxury or high-margin brands can sometimes work with 1.5. Lower-margin businesses typically need 3.0 or higher to be genuinely profitable after fixed costs.
Why would my POAS be low even with decent margins? Usually incomplete tracking. If purchase events are missing or misattributed, ad platforms optimize against a distorted picture of what's actually converting, which drives up CPA and drags down POAS even when the underlying margins are fine.
Does server-side tracking guarantee a better POAS? Not automatically, it improves the accuracy of the signal ad platforms optimize against, which tends to lower CPA and improve POAS, but the underlying margin and creative performance still matter independently.
What's the difference between the Conversions API and the offline conversions API? The Conversions API sends standard online events, purchases, add to cart, checkout, directly from a server for events that happen through your normal Shopify storefront. The offline conversions API is a separate mechanism specifically for conversions that happen outside that flow entirely, like phone orders or in-person sales.
How do I know if my tracking is the reason my POAS looks bad? Check your Event Match Quality score in Meta Events Manager. A score below 7 signals real data quality issues. Also compare your Shopify order count against reported ad platform conversions for the same period, a persistent, unexplained gap points to a tracking problem rather than a genuine margin or creative issue.
Sources
[1] WebKit.org, Apple's Intelligent Tracking Prevention documentation (script-writable cookie lifetime cap)
[2] Aimerce.ai, Meta Added Profit and pLTV Optimization and Aimerce supports them now (if you have access to the Meta features)
Related reading

Try Aimerce Pixel Risk-Free
for 30 Days
Most teams see results within 2 weeks.
Money-back guarantee.
It pays for itself, or you don't pay anything.
30-Day Aimerce Pixel Free Trial