To check what your agency adds on top of your ad spend, compare three documents for the same closed month: the agency's invoice, the ad platform's own spend report and the billing clause in the contract. If the invoice charges more for media than the platform reports, the gap is a markup or a fee. Ask what it is called and where the contract allows it.
By Avi Vatsa, CEO, Exchange Four Agency. Avi leads the team that installs and runs AI-leveraged revenue systems for owner-led companies. His background spans law, technology, and marketing; he also co-founded Dialora, an AI voice-agent platform for automated lead capture and booking. (Marketer of the Day #1411)
How can an agency charge you for ad spend?
In four ways, and an invoice rarely says which one you are on.
| Model | How it shows up on your invoice | What to check |
|---|---|---|
| Media at cost, plus a fee | Media line equals the platform's spend. A separate line for the agency's fee | The media line matches the platform to the dollar |
| Fee as a percentage of spend | One fee line that grows when spend grows | The percentage, and whether it applies to spend or to results |
| Media with a markup | One media line, higher than the platform's spend | The difference, and the clause that permits it |
| Principal media | The agency buys the media itself and sells it to you | Whether the contract says so, and what you get in return |
The first two are easy to audit. The last two hide the agency's margin inside a number you would otherwise read as a cost, which is why the check below compares your invoice with the platform's own record.
How many owners know which model they are on?
Fewer than should. The ANA's report The Acceleration of Principal Media, released on May 14, 2024, found that 47% of marketers surveyed had used principal media in the past year. Another 35% had not. The remaining 18% did not know.
That last number is the useful one. One marketer in five could not say whether the agency had been reselling them media. The same release says some marketers may see media cost savings of 10-15%, so the arrangement is not always against the advertiser. The problem is not that it exists. The problem is paying for it without knowing.
This article makes no claim about how much your own agency adds, because that depends on your contract. The check below finds it.
Who pays Google, you or your agency?
Settle this first, because it decides whose invoice you are reading. Google Ads keeps the paying party as a separate record. Google's help page on payments profiles lists "Who pays" as "the name and address of the person or company legally responsible for the profile."
Two common setups follow. In one, your own payments profile sits on the account, your card is charged by Google, and the agency invoices you only for its fee. In the other, the agency's manager account pays Google and the agency invoices you for the spend, which is where a markup can sit.
Some US agency contracts use a hybrid. Google calls it sequential liability: the agency's payments profile is "who the account will be billed to," and the advertiser's profile is "who is liable for payment if the agency doesn't pay the invoice." Read that second half twice. If you pay the agency and the agency does not pay Google, the bill can come to you. Knowing which setup you have protects you in both directions.
How do you check a month of spend?
You need two things the agency should already have given you: your own login to the ad account, with at least read access, and last month's invoice. If you do not have the first, who owns your marketing assets explains why that is the first problem to fix.
- Pick a closed month. Use a full calendar month that ended at least a week ago. Platforms report by day, and invoices cover a billing period, so a half month will not reconcile.
- Pull the platform's spend for the same dates. Use the cost the ad platform itself reports for that month, in the same currency, for every campaign.
- Find the media line on the agency invoice. Not the fee. The line that says spend, media or ad budget.
- Subtract. Invoice media minus platform spend.
- Read the result. A difference of zero means media is billed at cost. A small, one-off difference usually comes from timing at the edge of the month. A gap that repeats every month, in the same direction, is a markup.
- Do it for three months. One month proves nothing. Three in a row show the pattern.
If you run Meta as well, repeat the exercise there using that platform's own billing record.
What do you ask the agency?
Ask in writing, and ask neutrally. A markup is not a crime. A refusal to explain it is a finding.
- Do you bill our media at cost, with a markup, or as principal media?
- Which of those does our contract allow, and in which clause?
- Does the difference between the platform's spend and our invoice go to you, and how much was it last quarter?
- Are our ad accounts billed through your payments profile or ours?
- Can we see the platform invoices behind every media line?
A good agency answers these in a day. The answers are also the first thing a replacement agency will ask you for, so you lose nothing by asking.
What should the contract say?
The ANA's release lists what it tells marketers to do about principal media. Three of its recommendations work as contract language for any media billing:
- "Require that principal media be clearly identified on media flowcharts."
- "Keep agency contracts up to date, with clear language that addresses principal media."
- Ask for "access to transaction data for both principal and agent-based media buys."
Turn those into plain terms. Media is billed at cost unless the contract names a markup and its percentage. The agency's fee appears on its own line. Platform invoices are attached to every media line. Any resale of media to you is disclosed before it happens, not after.
Our guide to marketing agency contract terms covers the rest of the clauses, and what metrics a marketing agency should report shows which numbers belong in the monthly report alongside the spend.
What if the numbers do not match?
Do not accuse. Send the reconciliation, three months of it, and ask for the line-by-line explanation. If the answer is a clause you signed, you now know the price of your media and can decide whether to keep paying it or renegotiate. If the answer is vague, treat it the way you would treat a vague answer from any vendor: move the billing onto your own payments profile so the spend never touches the agency, and pay its fee separately. How to transfer your Google Ads and Meta accounts out of an agency covers that move in order.
The test is simple. If you cannot say, to the dollar, what your media costs and who keeps the difference, you are reading a number someone else chose for you. Fix that first, and every conversation about results gets shorter.
