What a good monthly Meta ads report looks like
A monthly report is the only regular evidence a trade gets that the agency fee is doing anything. Most reports are a screenshot of Ads Manager with a cheerful paragraph. This guide sets out what a useful one contains, in what order, how long it should take to read, and which numbers are there to impress rather than inform.
The test of a good report
A roofer should be able to read it in five minutes on a phone in the van and answer three questions: what did I spend, what did I get, and what is changing next month. If the report cannot do that, it is a dashboard export, not a report.
Length is not quality. A single page with the right nine lines beats a twelve-page PDF of charts. Several agencies in our database state that they report on jobs rather than clicks: Local Leads Accelerator ('clicks don't pay the bills, jobs do'), Roofing SEO Services (booked jobs not traffic), Nivoro Marketing (a weekly cost-per-lead and cost-per-appointment scoreboard). That is the standard to ask for.
The nine lines
Lines 4 and 5 depend on you. An agency can only report booked jobs if you tell it which leads booked. That is why agencies with their own CRM (We Build Trades, Scale Through Us, Get Work with its spend and job-value dashboard) can report further down the funnel than those without. If your agency has no CRM, a shared spreadsheet does the same job.
| # | Line | Why it is there |
|---|---|---|
| 1 | Ad spend this month, and versus last month | The cost side of every other number |
| 2 | Leads this month by campaign | Volume, broken down so a failing campaign cannot hide in a total |
| 3 | Cost per lead by campaign | The platform's efficiency measure |
| 4 | Leads contacted, quoted, booked | Your data, fed back; this turns leads into outcomes |
| 5 | Cost per booked job | The number that decides whether to continue |
| 6 | Top three ads by cost per lead, with thumbnails | Shows what creative is working and that creative is being tested |
| 7 | What changed this month and why | Proof of active management rather than set-and-forget |
| 8 | Problems and what was done about them | Lead quality complaints, disapprovals, account issues |
| 9 | Plan for next month | New creative, budget moves, tests |
Line by line: what good looks like
Spend should reconcile to your card statement to the penny, because you are paying Meta directly. If you are not, that is a separate problem covered in who owns the ad account.
Leads by campaign should name the campaigns in plain English: 'Resin driveways, Stockton 10-mile radius' rather than 'Conv_LG_Broad_v3'. If you cannot tell what a campaign was for, ask for it to be renamed.
Cost per booked job should be shown as a trend across at least three months. One month is noise. If the agency only reports cost per lead, ask why. The honest answer is usually that nobody has set up the feedback loop, which is fixable.
The creative section should show images, not just names. You should be able to see which ad is winning. If the same three ads have topped the table for four months, creative has stopped, and our guide on creative production explains what to do about it.
The 'what changed' section is the one to read first
It is the only part of the report that cannot be auto-generated. It tells you whether a person looked at your account this month. Good entries are specific: 'Paused the fascia ad after cost per lead rose from £18 to £41 over two weeks; replaced with the guttering clearance clip, which is at £16 after nine days.' Poor entries are generic: 'Continued to optimise campaigns for performance.'
If the section is empty or boilerplate three months running, the account is on autopilot. That is not always wrong for a stable campaign, but you should know that is what you are paying for.
Numbers that look like information
None of these is useless to the person running the campaign. They are useless to you as the person deciding whether to keep paying. A report that leads with them is managing your perception rather than your account.
- Impressions and reach. Large numbers that describe how many people scrolled past.
- Click-through rate without cost per lead alongside it. A high CTR on a misleading ad produces cheap clicks and useless leads.
- Engagement, likes, shares and video views. Nice to have; not what you are paying for.
- 'Results' as labelled by Meta, when the result type has been set to something other than leads.
- Return on ad spend calculated from estimated job values the agency has guessed at.
Frequency and format
Monthly in writing, with a 20-minute call offered but not compulsory. Weekly automated emails with spend and lead counts are a useful addition for anyone spending over £1,000 a month, and Nivoro's weekly scoreboard is an example of that discipline in a larger agency.
Format should be a PDF or a shared document you can keep. Live dashboards are convenient but disappear when you leave; a folder of twelve monthly PDFs is a record of what you paid for. Lead Wave, Get Work and others offer platform dashboards; ask for the monthly summary as a file alongside.
Putting it in the contract
The report format should be agreed before you sign, and the nine lines above make a reasonable schedule to attach. Our contract terms guide covers how to word it. An agency that agrees to report cost per booked job has also agreed to be judged on it, which is the outcome you want.
If the reporting you receive falls well short of this for three months in a row, that is one of the signals discussed in when to fire your Facebook ads agency. Not because a thin report proves bad campaigns, but because it proves you cannot tell.
Frequently asked questions
How often should a Facebook ads agency report?
Monthly in writing as a minimum, with a short call available. Weekly spend and lead summaries by email are a sensible addition above £1,000 a month in spend.
What is the most important number in an ads report?
Cost per booked job, trended over three months or more. Cost per lead is the platform's number; cost per booked job is yours.
Why does my agency only report cost per lead?
Usually because nobody has set up a way to feed booked-job data back. A shared spreadsheet or the agency's CRM solves it.
Are impressions and reach worth tracking?
Not for deciding whether to continue. They tell you how many people scrolled past, not how many asked for a quote.