AI client report template for agencies: Google Ads, Meta and GA4
Monthly reporting from raw exports, with numbers you can defend. Copy the 7-section template below, then use the prompts to fill it from your Google Ads, Meta and GA4 exports, and run the QA checklist before anything goes to the client.

The 7-section report template
# [Client] · Performance report · [Period]
Prepared by [Agency] · [Author] · [Date]
1. The headline
One or two sentences on the goal metric vs. last period and vs. target.
2. Scorecard
| Metric | This period | Last period | Change | Target |
| [Goal metric, e.g. Purchases] | | | | |
| [Efficiency metric, e.g. CPA / ROAS] | | | | |
| Spend | | | | |
| [Supporting metric] | | | | |
3. What worked (2-3 wins): campaign, numbers, why we think it worked
4. What needs attention (1-3 risks): numbers, likely cause or "investigating", the fix, owner, date
5. Channel detail: one short paragraph per platform + table. GA4 labelled "website analytics (GA4)"
6. Plan for next period
| Action | Why | Owner | When | (3-5 actions, each tied to a finding)
7. Questions for you (the client): stock, promo calendar, margin targets, approvals
Appendix: full campaign table, data sources and date ranges.Rule 1: numbers come from a calculation, not from the AI's guesswork
Language models can slip on arithmetic. Calculate totals, CPA, ROAS, CTR and period-over-period changes with a spreadsheet or a script (in ChatGPT, turn on Code Interpreter), and have the AI write only from that table.
I've uploaded this month's and last month's campaign exports from [Google Ads / Meta / GA4]. Using code, not mental maths, build a table per platform and per campaign: spend, clicks, CTR, conversions, CPA, revenue, ROAS, and % change vs. last month. Then flag: campaigns spending with zero conversions, CPA up 30%+, CTR down 25%+, spend spikes, and new or paused campaigns. Never add two currencies together.Rule 2: label platform numbers and don't invent reasons
- Google and Meta conversions overlap and usually exceed GA4 or the store's own numbers. Label them "platform-reported" and never add them up as sales.
- Explain a change only when the client context supports it. Otherwise say "likely" and offer a hypothesis to check, or "to investigate".
- No promises of future results: "we expect" or "the test will tell us", never "this will double sales".
Using only the KPI table above and this client context [goal, target, what changed this month], fill in the report template. Lead with the goal metric. Every win and risk must quote numbers from the table. Every risk gets a next step with an owner and a date. Plain English; explain jargon once, e.g. "ROAS (revenue per €1 of ad spend)".QA checklist (every report, every time)
- Every number in the narrative appears in the KPI table (spot-check 5)
- Percent changes have the right sign and direction (CPA up = bad, ROAS up = good)
- The summary matches the tables: no "great month" when the goal metric fell
- Platform-reported and analytics numbers are labelled
- Nothing confidential from other clients or internal notes is in the report
Use campaign-level exports only, never customer lists, and use a business or team AI plan for client data. A human reviews every report before it goes out.
Everything here writes drafts: you review and send. No income or ranking promises. Not affiliated with or endorsed by Anthropic, OpenAI, xAI or Google.