Agencies
Agency client reporting: what to show, how often, and how to automate
Client reporting for a small agency without the Monday scramble: the three questions clients ask, one report table, cadence, and four ways to build it.
Also available in: Português · Español
Client reporting for a small agency comes down to answering three questions before the client asks them: what did you spend, what did it produce, and what are you doing next. Everything else in the report is supporting evidence, and most of it can go. If your Mondays disappear into exports, screenshots, and a template you dread, the fix is not a prettier template. It is a shorter report, a fixed cadence, a rule about bad news, and a tool that pulls the numbers so you only write the sentences that need a human. This guide covers each of those, in order.
The three questions the client is actually asking
After eight years of sending paid media reports to business owners, I have never had a client ask for a CPM. They ask, in different words, the same three things.
1. What did you spend? Not the total, the total against what we agreed. "US$ 4,870 of the US$ 5,000 planned" is an answer. "US$ 4,870" is a number that sends them looking for the plan.
2. What did I get for it? Leads, calls, orders, booked appointments, whatever the business counts. With the cost per result next to a target you agreed on. A CPL of US$ 38 means nothing until it sits next to "target US$ 45."
3. What are you doing about it? Which change you made this week, why, and what you need from them. This is the question that separates an agency from a dashboard. A dashboard shows the first two. Only you can answer the third.
If a line in your report does not help answer one of those three, it is decoration.
The report structure that answers them
One table, two cadences. The weekly version is a message. The monthly version is a page.
| Line | Weekly | Monthly |
|---|---|---|
| Spend vs plan | One number against the plan | Number, plus pacing for the month |
| Results | Count of the result the client cares about | Count, plus split by channel if you run more than one |
| Cost per result vs target | CPL or CPA next to the target | Same, plus the trend across the month's weeks |
| Change vs previous period | Up or down, with one cause | Month over month, with the two or three causes |
| What changed | The action you took (paused, raised, launched) | All actions, one line each |
| What is next | One sentence | Plan for next month, plus what you need from the client |
| Top creative | Skip | The one ad that carried the month, and the one you killed |
| Channel split | Skip unless a channel broke | Meta vs Google side by side, on the same definitions |
A weekly message following that table reads like this:
"Week of Sep 1 to 7. Spent US$ 1,220 of US$ 1,250. 31 leads, CPL US$ 39 (target US$ 45). Down from US$ 47 last week: paused the ad set that was burning budget on the wrong audience. Next: two new video ads go live Thursday. Need from you: confirm the phone number on the landing page, two leads said nobody answered."
Five lines. It takes longer to pull the numbers than to write them, which is the whole problem this article is about.
For the monthly version, add the channel split. If you run Meta and Google for the same client, the split only works when both sides count the same lead the same way; Meta and Google Ads in one dashboard covers how to normalize before you put them on one page.
What to leave out
The report gets shorter when you remove what the client cannot act on.
- Impressions and reach. Nobody buys impressions. Use them internally to explain a CPM jump; do not lead with them.
- CTR, CPC, CPM, frequency. Diagnostic metrics. They belong in the sentence that explains a change ("CPL went up because frequency hit 4 and CTR fell"), not in a row of their own.
- Video views, ThruPlays, engagement. Unless the campaign objective is awareness and the client agreed to it, these are noise.
- Screenshots of Ads Manager. A screenshot says "I did not have time to read this for you."
- A narrative longer than the table. If the explanation needs three paragraphs, the client needs a call, not a report.
The Meta Ads reporting guide goes through each Meta metric and which ones earn a column. Most of them do not, in a client report.
The surprise rule
Never let the client see a bad number for the first time in the report.
If CPL doubled on Tuesday, the client hears it from you on Tuesday, with what you did about it. By the time the weekly report lands, the number is old news and the report is the record of how you handled it. A client who discovers a doubled CPL by reading your Monday message has just learned that you were not looking, or that you were hoping they would not notice. Neither is survivable for long.
The rule needs a threshold, or it becomes "check everything constantly." Two are enough for most accounts:
- Cost per result above target by a margin you set. Say 30% for two days running. Below that, it is noise; above it, you message.
- Spend pacing off by a margin. A campaign that spent 40% under plan for three days is as much a surprise as one that overspent. The client planned that money.
Check those two daily, or at least on alternate days. When one trips, the message is three lines: what happened, what you did, when you will know if it worked. That message is worth more than any report you will send that month.
How often, and in which channel
Cadence is a promise. The value is not in the content of the weekly message; it is in the fact that it arrives every Monday at 9 a.m. without being asked for. A client who never has to chase you stops looking for reasons to.
| Cadence | Format | Channel | When |
|---|---|---|---|
| Weekly | Five-line message, from the table above | Wherever the client already talks to you: email, Slack, WhatsApp | Same day, same hour, every week |
| Monthly | One page, plus a 20-minute call | Email with the page, then the call | First week of the month |
| Quarterly | Strategy: budget, channels, what to stop | A meeting | Before the next quarter's budget is set |
| Ad hoc | The answer to their question | The same channel they asked in | Same day, ideally same hour |
Two notes on that table. First, a link to a live dashboard is not a report. Give clients access if they want it, but expect them to open it twice and then go back to asking you questions. Second, the ad hoc row is where small agencies win or lose clients. "How did last week go on Google?" answered in ten minutes with real numbers buys more trust than any monthly deck.
Four ways to do agency client reporting, and what each costs you
The report is short. Producing it is what eats the Monday. Four ways to do it, from most manual to least. Count how long your last one took before you read the table.
| Method | Setup | Effort per client, per week | Where it breaks |
|---|---|---|---|
| Exports into a template | None | Log in to each account, export, paste, fix, write | Human error, and the week you have too many clients to do it |
| Looker Studio with connectors | Days per client, or a template you maintain | Low, until a connector changes | Meta needs a paid partner connector; the client opens it twice |
| Reporting platform with scheduled PDFs | Hours per client | Low | The PDF goes out unread, and the third question is missing from it |
| Dashboard plus Claude | Minutes per client, once | Ask for the week's numbers, write the five lines | You still write the sentences; the tool does not know what you need from the client |
Exports into a template. Log in to Ads Manager, switch account, export, repeat for Google, paste into your sheet, fix the formulas, write. Multiply by clients. It is free and it scales exactly as far as your patience.
Looker Studio with connectors. Native for Google Ads, a paid partner connector for Meta. A good template amortizes across clients, but every client dashboard is one more thing that can break, and blending Meta and Google is where the numbers start lying quietly. If you are shopping for the connector, the Supermetrics alternatives comparison lays out the pipe-versus-report trade-off.
A reporting platform with scheduled PDFs. Built for agencies with many clients and a need for branded reports. The catch is structural: a scheduled PDF can answer questions one and two, but it cannot write "next: two new video ads Thursday" or "need from you: check the phone number." The third question stays yours.
A dashboard plus Claude. Connect every client's accounts once. On Monday, ask for the week's spend, leads, and CPL per client and per campaign, compared with last week. Write the five lines from that. When the client asks "how did Google do last week?" at 4 p.m., ask the same question in the chat and answer them in a minute.
How it looks in Vazante
Vazante does not send the report for you, and it does not know what you need from the client. That part stays yours, and it is the part clients pay an agency for.
What to change first
Cut the report to the table in this article and send it this Monday, even by hand. Set the two thresholds for the surprise rule and put a daily check in your calendar. Then count the hours the exports took, and decide whether that time is better spent on the two sentences the client actually reads. The paid media reporting page shows how the numbers side of it looks with every client in one place, and the pricing page has the plans and the trial.
Frequently asked questions
What should a paid media report for a client include?
Spend against the agreed budget, results (leads or sales) with cost per result against the target, the trend versus the previous period, what you changed, and what happens next. Everything else, like impressions, CTR, and frequency, belongs in an appendix or in the sentence that explains a change.
How often should an agency send client reports?
A short weekly message with five lines and a monthly one-page report with a call. Weekly keeps the client from asking; monthly is where decisions about budget and strategy get made. Send the weekly on the same day, at the same time, every week.
Should I give clients access to a live dashboard instead of a report?
Give access, but do not treat it as the report. Most clients open a dashboard a couple of times and go back to asking questions in chat. The report is the five lines you write; the dashboard is where you answer the follow-ups.
How do I stop spending my Mondays building client reports?
Cut the report to the numbers the client acts on, keep every client's accounts in one place so you are not logging in and out, and let a tool pull the figures while you write the two sentences that need a human. Vazante does the pulling and answers the ad hoc questions; you keep the judgment.