How Can You Tell If Your Marketing Agency Is Actually Working?
August 7, 2026 · 8 min read · By James Leary
Quick answer: Judge on booked jobs and cost per booked job — not leads, impressions, or reach. Give any agency 60 to 90 days to produce a trend, then ask for lead-level data you can match against your own CRM. If they can’t or won’t show which specific leads became paying jobs, you already have your answer.
Most contractors can’t tell whether their agency is working, and it isn’t because they’re not paying attention. It’s because the reporting they receive is engineered to be unfalsifiable — full of numbers that only move up, none of which connect to money.
Here’s how to cut through it.
The report that means nothing
If your monthly report leads with these, it was built to look like work rather than to be read:
- Impressions and reach. How many times an ad was served. Buyable in unlimited quantity for almost nothing — run a budget through the CPM calculator and see what a thousand of them actually costs. Never correlates with revenue.
- Clicks and click-through rate. Useful for diagnosing a campaign internally. Useless as a measure of business outcome.
- Engagement, likes, comments. No homeowner ever booked a roof replacement by liking a post.
- “Brand awareness.” The word used when there is nothing else to report.
- Keyword rankings, decontextualized. Ranking third for a term nobody searches is not progress.
None of these are lies. They’re just answers to questions you didn’t ask. The tell isn’t that they appear in the report — it’s that they appear first, and that the report is longest where the results are thinnest.
The three numbers that matter
1. Leads. How many genuine enquiries arrived, by source. Not “conversions” — which can include button clicks and page views if someone configured it loosely — but real people with real contact details.
2. Booked jobs. How many became work on your calendar. This requires your agency to know something about your business past the form submission, which is exactly why so few report it.
3. Cost per booked job. Everything you spent — media, fees, software — divided by jobs won. This is the only number that tells you whether the arrangement makes money.
And one leading indicator worth watching weekly, because it predicts the other three before they move:
4. Speed to lead. Median time from lead arrival to first contact attempt. If this is measured in hours, no agency on earth can make your campaign work. The reason is that the window closes far faster than most contractors believe, and the speed to lead calculator puts a number on what your current lag costs.
Everything else is diagnostic detail. Useful in the room, not the basis for a decision.
What should happen in each of the first 90 days
Days 1–30 — setup and signal. Tracking installed and verified, ad accounts live, conversion events firing, follow-up automation connected. Leads start arriving and they’ll be inconsistent. Cost per lead here is close to meaningless — the platforms are learning and so is whoever’s running them. What you should see is competence: proper tracking, questions about your close rates and job values, interest in what happens after the lead arrives. An agency that never asks about your booking process is planning to blame it later.
Days 31–60 — direction. Cost per lead should be stabilizing, and the first booked jobs traceable to the campaign should exist. You should be able to see which channel or campaign is producing them. If cost per lead is still swinging wildly with no explanation offered, ask for one.
Days 61–90 — the verdict. You should now have a defensible cost per booked job and know whether it sits inside your ceiling. Now a real conversation is possible: it’s working, it’s not, or it’s working but the bottleneck moved elsewhere in your business.
Judging before day 60 is unfair and produces bad decisions. Waiting past day 120 without a clear answer is on you.
Eight questions for your next call
Ask these. The quality of the answers tells you more than any report.
1. “What was my cost per booked job last month?” Good: a number, plus how it was calculated and how it compares to the previous month. Bad: a pivot to cost per lead, or “we don’t have visibility into your closes.” They should have asked for that visibility in week one.
2. “Show me the individual leads and which ones became jobs.” Good: a spreadsheet or CRM view with names, dates, sources, and outcomes. Bad: aggregate totals only. Aggregates can’t be checked against reality; lead-level data can.
3. “Which campaign produced the most revenue, not the most leads?” Good: they know, and it’s often not the cheapest-lead campaign. Bad: they’ve never looked at it that way.
4. “What did you change last month, and why?” Good: two or three specific changes with reasoning and results. Bad: “ongoing optimization.” That phrase means nothing was done.
5. “What’s not working right now?” Good: a direct answer. Every account has something underperforming. Bad: everything is great. Nobody’s account is entirely great, and an agency that won’t tell you what’s failing won’t tell you when it’s failing badly.
6. “Am I the account owner on the ad accounts?” Good: yes, and here’s your admin access. Bad: anything else. This is covered below.
7. “What’s my median speed to lead, and what should I do about it?” Good: they know the number and have opinions. Bad: blank look. If your agency isn’t tracking what happens to leads after delivery, they’re managing half the funnel and reporting on a quarter of it.
8. “If I left in 90 days, what would I keep?” Good: your ad accounts, your data, your creative, your customer list, your website. Bad: nothing, or a vague answer. Not a threat — a clarifying question. The answer tells you whether you’re building an asset or renting one.
When it isn’t the agency
Fairness matters here, because contractors fire agencies for problems the agency couldn’t solve, then repeat the cycle with the next one.
Leads arriving and nobody working them. If your median response time is three hours and you make one call attempt, no campaign can rescue that. Pull 30 leads and check the timestamps before you blame anyone. The full breakdown of why leads don’t answer is worth reading before that conversation.
A close rate that fell. If leads and appointments held steady but jobs dropped, the problem moved to the estimate or the price, not the ads.
Budget below the functional floor. Under roughly $1,500–$2,500 a month in most markets, campaigns can’t gather enough conversion data to optimize. That’s a physics problem, not an effort problem — the budget math explains where the floor comes from.
An offer nobody wants. “Free estimate,” same as everyone else, at the same price as everyone else, with fewer reviews than everyone else. No amount of media buying fixes an undifferentiated offer.
Seasonality. Your cost per lead rising 40% in the month your whole trade gets expensive is the market, not mismanagement.
A good agency raises these before you do. That’s actually the strongest signal available: do they tell you when the problem is on your side of the line, early, in plain language?
The red flags worth leaving over
- The ad accounts aren’t in your name. This is the big one. If the agency owns the Google or Meta account, you lose the conversion history, the audiences, and the optimization data the day you leave — and you start from zero with whoever’s next. Insist on account ownership with agency access, never the reverse.
- No lead-level reporting. Aggregates only, permanently.
- The report changes shape each month. Different metrics highlighted depending on what looks good is a reliable sign that the consistent numbers aren’t flattering.
- No call tracking. Without it, nobody can attribute phone leads, and phone leads are most of the business in the trades.
- Every problem is your leads’ fault. Occasionally true. Always true means nobody is looking.
None of these are automatically fatal alone. Three at once is a decision.
The two-minute version
Once a month, open a spreadsheet: total spend including fees, leads, booked jobs, revenue closed. Divide spend by jobs. Compare to your ceiling. Four numbers and one division, and you know more than most contractors know about their own marketing.
If you can’t fill those cells in, that’s not a reporting inconvenience — that’s the finding. Run what you do have through the cost per booked job calculator and the ROAS calculator, then go into the next call with a specific question rather than a general unease.
Frequently Asked Questions
How long should I give a marketing agency before judging results?
Sixty to ninety days. The first month is setup, tracking verification, and platform learning — cost per lead in that window tells you almost nothing. Months two and three produce a trend you can read. Judging at 30 days causes contractors to churn through agencies annually and never get past anyone’s learning phase; waiting past four months without a clear cost per booked job is too long.
What reports should a contractor actually receive?
Leads by source, booked jobs by source, cost per booked job, and a plain-language list of what changed and why. Lead-level detail should be available on request so the numbers can be checked against your own CRM. Impressions, reach, and engagement can appear, but if they lead the report, the report was built to impress rather than to inform.
Should I own my own ad accounts?
Yes, without exception. The account should be created under your business with the agency granted admin access — not the other way around. Conversion history, audience data, and optimization learning live in the account, and if it isn’t yours, you forfeit all of it when the relationship ends and start over from scratch with the next provider.
Is it the agency’s fault if leads don’t convert?
Partly, sometimes. Split the funnel: if leads arrive at a reasonable cost but conversations aren’t happening, check response times and attempt counts first — that’s usually operational. If appointments are being run and nobody’s buying, the issue is at the estimate, the price, or the offer. If lead volume or cost has genuinely deteriorated, that’s the campaign. A good agency will tell you which of the three it is even when the answer isn’t flattering to you.
What’s the single best question to ask an agency?
“Show me which individual leads became jobs last month.” It requires real tracking, honest attribution, and interest in what happens past the form submission. Agencies doing the work answer it easily. Agencies producing activity rather than results will redirect to lead volume or cost per lead every time.
What if the numbers look good but my calendar is empty?
Then the tracking is measuring something other than reality. Common causes are conversion events counting page views or button clicks as leads, duplicates from multi-step forms, and spam form fills inflating totals. Pick 20 reported leads at random and try to find each one in your CRM. If a meaningful share don’t exist as real people, the reporting is broken and every decision made from it since has been wrong.