The reporting itself tells you. Watch for impressions as the headline metric, conversions with no stated definition, undisclosed attribution windows, form fills counted as leads, no search terms report, no admin access to your own ad accounts, branded search claimed as performance, shifting date ranges, and a monthly call run by nobody who touches the account.
Most agency relationships don’t go wrong because someone lied. They go wrong because the reporting is built out of numbers that cannot be wrong. Impressions always go up. Reach always looks big. A dashboard made entirely of metrics with no downside is not a report — it’s a mood board.
You can check this yourself, today, without a second opinion. Open the last report you were sent. Nine things.
Nine red flags in the reporting itself
1. Impressions or reach as a headline metric
Impressions measure how many times something was served. They are the easiest number in digital marketing to increase and the least connected to revenue. Broaden a match type, add a display network, loosen an audience, and impressions climb while performance falls. When impressions or reach sit at the top of the deck, it usually means nothing further down the funnel is worth leading with.
Ask instead: show the same period in qualified inquiries and cost per qualified inquiry. If that number can’t be produced, that is your answer.
2. Conversions with no stated definition
“42 conversions” is not information until you know what a conversion is. In Google Ads, each conversion action has a counting setting — “every” conversion or “one” per ad click — and Google recommends different settings for sales versus lead generation. Set to “every” on a lead form, one person filling out three forms becomes three conversions. Add a newsletter signup and a PDF download as separate conversion actions and the total inflates further without a single extra customer.
Ask instead: list every conversion action feeding this number, its counting setting, and which ones you would personally count as a sales opportunity. Then ask for the report with only those.
3. Attribution model and lookback window never disclosed
The same 90 days of activity produces very different numbers depending on the model and the window. GA4’s key event lookback window defaults to 90 days and can be set to 30 or 60, and Google Ads carries its own conversion windows per action. Longer windows credit more conversions to paid. None of this is dishonest. Not saying which one you’re looking at is.
Ask instead: which model, which window, and has either been changed during our engagement. A changed window mid-flight explains a lot of sudden improvements.
4. “Leads” that are only form fills
For most service businesses, the phone is still the main channel, and a report built only on form submissions is missing the majority of the demand it’s claiming credit for — or, just as often, hiding the fact that the forms are full of spam. A lead count with no call tracking and no qualification step is a count of events, not of people who want to buy.
Ask instead: where is the call tracking, and what share of last month’s leads did our team mark as genuine. If nobody has ever asked your front desk which inquiries were real, the reporting has never been checked against reality.
5. No search terms report, ever
The search terms report shows the actual queries that triggered your ads. It is the single most revealing document in a paid search account and it takes seconds to export. Google holds back low-volume terms for privacy reasons, so it is never complete — but the visible portion is enough to tell whether your budget is going to people who want what you sell. An agency that has never shared it in twelve months either isn’t looking at it or doesn’t want you to.
Ask instead: send the last 90 days of search terms with cost and conversions, unfiltered. Then read the ones that spent money and produced nothing.
6. You do not have admin access to your own ad accounts
This is the one that costs real money, and it has nothing to do with performance. Google Ads has defined access levels, and admin is the level that can grant and revoke access to other users. If the agency holds admin and you hold nothing, or read-only, then the account, its history and its conversion data are effectively theirs. Ending the relationship means starting over.
Ask instead: add me as an admin on Google Ads, the Meta business account, GA4, Search Console and Tag Manager, today. The account should be owned by your business and managed by the agency, never the reverse.
7. Branded search claimed as agency performance
People searching your company name were going to find you. Bidding on your own brand is cheap, converts extremely well, and makes any blended cost-per-lead look excellent. Mixed into a single account total, brand traffic can carry an otherwise poor campaign for months. It gets worse when demand is generated elsewhere — a radio spot, a referral push, a seasonal spike — and the resulting brand searches land in the report as paid media performance.
Ask instead: split every report into brand and non-brand, permanently. The non-brand line is the only one that measures whether the agency is finding you customers who didn’t already know your name.
8. Date ranges that shift between reports
One month compares to the previous month. The next compares year over year. The one after that quietly uses a six-week window. Each choice is defensible on its own; picking a different one each time is not. The tell is that the comparison always flatters the current period. Put three consecutive reports side by side and check the windows match.
Ask instead: fix the reporting period and the comparison period now and keep them fixed. Calendar month against the same month last year is a reasonable default for most businesses with any seasonality.
9. Nobody on the monthly call actually touches the account
An account manager reading a deck they did not build cannot answer a follow-up question. You will hear “I’ll check with the team.” Ask something specific — why a campaign’s budget dropped in week three, what the last negative keyword added was, why one ad group’s cost per conversion doubled. If the answer never arrives in the room, you are talking to a reporting layer, and the decisions are being made somewhere you cannot see.
Ask instead: have whoever is in the account join the call once a quarter. Not to replace the account manager — to make sure that person exists.
What is not a red flag
Vetting cuts both ways, and some of the things that feel alarming are actually signs of a serious operator.
- A bad month, explained honestly. Performance moves. Competitors enter, budgets shift, seasonality bites, a landing page breaks. An agency that shows you a down month, says why it thinks that happened, and states what it’s changing is doing the job. Be much more suspicious of the account that only ever goes up.
- Refusing to guarantee rankings or a lead number. Nobody controls Google’s results page or auction pricing. A guaranteed position is either a paid placement described dishonestly or a promise on a term nobody searches. “I can’t promise that” is the correct answer.
- Declining a budget that’s too small. Below a certain spend, paid search collects too little data to optimize on, and the fee-to-media ratio stops making sense for the client. An agency that says so and points you to something cheaper is protecting you from a bad outcome, not gatekeeping.
How to run the check
- Pull the last three reports and put them next to each other. Confirm the date ranges match.
- Find the headline metric. If it’s impressions, reach, or clicks, note it.
- Ask for the definition list behind the conversion number, with counting settings.
- Ask for the attribution model and lookback window, and whether either changed.
- Ask for a brand versus non-brand split of everything.
- Ask for the last 90 days of search terms, unfiltered.
- Check your own access level on every platform. Fix it before anything else.
None of these are unreasonable requests, and none take an agency more than an afternoon. The response matters more than the numbers. An agency that answers all seven plainly is one worth keeping, even if the results are currently mediocre. One that gets defensive about question seven has told you what you needed to know.