A real paid media audit is five checks, run in order, and it starts with your business, not your ad account. The platform's ROAS is not the audit. Your profit is. This guide is the exact checklist a profit-first operator runs on an ecommerce account, so you can run it yourself and see where each check tends to break.
ROAS means return on ad spend: the revenue an ad platform credits to itself, divided by what you spent there. It is a fine starting point. It is not the answer.
The Five Checks, in Order
Each check builds on the one before it, so run them in order and do not skip ahead.
| # | The check | What it answers | The red flag |
|---|---|---|---|
| 1 | Your business first | Do you know your real costs and your break-even before you judge any ad? | No written cost of delivery or break-even CAC before the dashboard is opened |
| 2 | Your tracking | Is it counting the right sales, at the right dollar amounts? | Platform revenue sits far from your Shopify sales for the same dates |
| 3 | Your real profit | Are you judging ads on money kept after every cost, or on the platform's number? | The account is judged on platform ROAS and nobody has done the real net |
| 4 | New vs repeat | Are the ads winning new customers, or just repeat buyers? | Revenue is mostly repeat buyers, with ad spend never put against new sales only |
| 5 | The whole business | Are you judging total business numbers, not one platform's view? | One platform's window is treated as the verdict on the business |
Check 1: Start With Your Business, Not Your Ad Account
Most founders open the ad manager first. Open the profit and loss first instead. Before a single ad metric, you need two numbers: your cost of delivery and your break-even.
Cost of delivery is everything it takes to fulfill one order: the product cost, shipping, returns, and transaction fees. Break-even is your average order value minus that cost of delivery, which is the most you can pay to get a customer and still not lose money. That number is your break-even CAC, and CAC just means the cost to acquire a customer.
Your profit and loss → your cost of delivery → your break-even CAC → then the ad account
The order of operations. Every ad number means something different once the bar above it is set.
Without that bar, every ad number after it means nothing. A 4x ROAS is not good or bad until you know what "good" costs you. The full break-even math is in our guide on contribution margin and ad profitability.
The fix: write down your cost of delivery and your break-even CAC before you open any dashboard.
Check 2: Clean Your Tracking Before You Trust Any Number
Every in-platform number is only as good as the tracking under it. Dirty tracking fools the ad platform, and it fools you. These are the failures to look for:
- Deduplication is off. The browser pixel and the server both report the same sale with no shared key, so one purchase gets counted as two. Meta's own documentation requires the pixel's event ID to match the server's event ID before the two can be deduplicated, so when that key is missing there is nothing for the platform to match on.
- Rebills and test orders are counted. Subscription renewals and your own test orders quietly pad the numbers.
- The value is wrong. Tax and shipping baked into the purchase value make your revenue look bigger than it is.
Where to look: open Meta Events Manager, then compare the platform's reported revenue to your Shopify sales for the same dates. If they are far apart, the tracking is the reason. The full setup walk-through is in why your ROAS doesn't match your bank account.
The fix: confirm deduplication is on, filter out test orders and rebills, and check your Event Match Quality, which is the platform's score for how well your data matches real people.
Check 3: Look at Real Profit, Not the Platform's Number
This is the check that surfaces the most. Almost every brand under $1 million a year that I talk to does not have this math clear. They are judging the account on the platform's ROAS, and nobody has done the real net.
So do it once, by hand, this month. Take your total sales for a period, subtract every one of those costs, and write down what is left. That is the only number that decides whether the ads paid.
The fix: put the platform's revenue next to your real profit for the same period. If the ads look great but the bank account does not, this is usually why. Which number to trust when they disagree is covered in MER vs ROAS.
Check 4: See If Your Ads Win New Customers or Just Repeat Buyers
Split new customers from repeat buyers, then look at profit on the new ones. If the ads mostly re-sell to people who were coming back anyway, that is not the ads working. Pull new versus returning customers from Shopify, and put all of your ad spend against new sales only. That shows your true cost to get a new customer.
The fix: judge the ads on new-customer profit, not total revenue. The full method is in how to tell if your Facebook ads are actually working.
Check 5: Judge the Whole Business, Not One Ad Platform
Buying is multi-touch now. A customer sees a Google ad, then a Facebook ad, runs a search, asks an AI, and then buys, and every platform claims that one sale. Judge your business at the top, not through one platform's window. MER, which means marketing efficiency ratio, is all of your revenue divided by all of your ad spend. It comes from Shopify, so it is much harder to fool than any single platform's ROAS.
Under about $20k/month per channel
Keep it simple and read the business numbers.
Over about $20k/month per channel
Separating new and existing customers with the right audiences is worth the setup.
The fix: set your target as a break-even cost per new customer, and judge the business on MER and profit, not on platform ROAS.
What This Looks Like: A 4x That Was Really Losing Money
Here is the audit run end to end on one account. The $50 unit economics are a real example. The campaign numbers layered on them are made up to teach, and they are the shape this reveal usually takes.
Illustrative example
| The check | The number | What it means |
|---|---|---|
| What the dashboard said ($10,000 spend) | 4.0x | $40,000 of claimed revenue, which is 800 orders at a $50 average order value |
| Check 1: the break-even (break-even CAC) | $27.70 | $50 average order value minus $22.30 of cost of delivery, the most this brand can pay per customer |
| Check 2: clean tracking (real orders) | 640 | Deduplication was off and test orders were counted, so 160 of those 800 orders never happened |
| Check 3: the real net (before ad costs) | $17,728 | 640 orders times $27.70 kept per order, and the $10,000 of ad spend, tools, and retainer all come out of that |
| Check 4: new customers (192 new, real CAC) | $52.08 | Only 30% of the orders were new customers, and all $10,000 of ad spend belongs against those 192 |
| The verdict (over break-even) | $24.38 | Paying $52.08 to acquire a customer worth $27.70 on the first order |
The reveal is in the last two rows. Those 192 new customers brought in $5,318 of contribution, which is 192 times $27.70, against $10,000 of ad spend. Acquisition lost about $4,700 that month while the dashboard showed a 4x. And the target CAC here is not even $27.70. Break-even is $27.70; to hold a 20% margin this brand needs to acquire at $17.70.
Repeat purchases were not going to rescue it either. This brand had no real lift in what a customer was worth over time, so there was no future order coming to cover a $52.08 acquisition. That is the general rule: acquire profitably on the first order, and do not assume repeat purchases will bail out a customer you overpaid for.
The dashboard said winning. The audit said losing, and it pointed at exactly which check caught it. There is a real version of this: an account whose sales looked steady in the ad platform and whose Shopify payouts kept landing, but that was losing money on every order. It only showed up in daily profit tracking, and the fix was lifting the average order value with a stronger front-end offer and checkout upsells.
Why an Outside Look Catches What the Inside Misses
This is usually not anyone being dishonest. Agencies report the platform ROAS because that is the channel they are paid to manage. When it looks good, they leave it alone and report that things are trending great. Many inherited a clean account or lean on tools, and never had to set tracking up from scratch, so they may not notice something is off, because no one ever went looking.
Run This Audit Yourself
Here is the whole thing in one place. Run it in order.
- 01
Write down your break-even.
Cost of delivery and break-even CAC, before you open any dashboard.
- 02
Clean your tracking.
Deduplication on, test orders and rebills filtered out, purchase value correct, Event Match Quality checked.
- 03
Do the real net.
Platform revenue next to real profit after every cost, including the retainer.
- 04
Split new from repeat.
All ad spend against new sales, and judge on new-customer profit.
- 05
Judge the business.
MER and profit from Shopify, not one platform's ROAS.
Want to run the profit check right now? Paste this into any AI tool and it will walk you through it one step at a time:
AI Prompt
Copy this and paste it into ChatGPT or Claude. It will walk you through your own numbers.
I run an ecommerce store. My average order value is [X]. My cost of delivery per order is [X] (product cost, shipping, returns, fees). My monthly ad spend is [X]. My ad platform reports a [X] ROAS. About [X]% of my sales are repeat buyers. Walk me through, one step at a time: my break-even cost per new customer, and my real cost to get a new customer with all ad spend counted against new sales only. Then tell me whether my ads are actually profitable.
See more profit-first playbooks in our insights library.
Common Questions
Paid Media Audit FAQ
What is a paid media audit?
A paid media audit is a structured review of whether your ad spend is actually making money, run as five checks in a fixed order. It starts with your business, your cost of delivery and your break-even, before it looks at any ad metric. Then it checks your tracking, your real profit after every cost, whether the ads win new customers or just repeat buyers, and finally the whole business rather than one platform's view. The platform's ROAS is the starting point, not the answer.
Can I run a paid media audit myself?
Yes, and the full checklist is in this article, not behind a form. Work the five checks in order, because each one depends on the one before it: your break-even first, then clean tracking, then the real net, then new versus repeat, then the business-level numbers. The parts that take longest are writing down your true cost of delivery and confirming your tracking is not double-counting. If you would rather have it run for you, that is what the free audit is for, but nothing here is gated.
What does a paid media audit usually find?
The net math, more often than anything else. Almost every brand under $1 million a year that I talk to does not have this math clear: the account gets judged on the platform's ROAS and nobody has done the real profit after product, shipping, returns, transaction fees, tools, and the agency retainer. Once all of that is in, a reported 4x can be losing money. That is why the audit does the real net by hand before it draws any conclusion about the ads.
How much does a paid media audit cost?
Running it yourself costs nothing but your time, and the full checklist is in this article. North Track Digital's paid media audit is free, and it ends with the real net on your account, not just the platform's ROAS. There is no obligation attached to it.
The Bottom Line on a Paid Media Audit
A real paid media audit is five checks, in order: your business first, then your tracking, then your real profit, then new versus repeat customers, then the whole business. The platform's ROAS is the starting point, not the answer. Run the checklist above on your own account, and if the ads look great while the profit does not, you now know which check to run first.