FeaturesPricingBlogFree tools
Free toolFree · no signup

Client report writer

Paste your numbers, get the written report your client actually reads: TL;DR, performance vs goal, what changed, what happens next. Free, no signup, nothing stored.

What the draft reads like

Here is a TL;DR from a sample run, built only from the numbers that were pasted in.

TL;DR

March spend came in at $24,800 against the $25,000 budget and delivered 412 leads at a $60 CPL, 14% under the $70 target. Most of the gain came from moving budget out of broad prospecting into the lookalike campaign on March 9. Lead quality held up too: sales accepted 71% of leads versus 68% last month. For April we're testing two new static ads against the fatiguing UGC video and holding budget flat until the new creative proves out.

Why the narrative matters

A client report is the written summary an agency sends each period explaining what the ad budget did, why it happened, and what comes next. Dashboards show numbers; clients pay for that story. The chart that took you four hours to build gets thirty seconds of attention; the three paragraphs above it decide whether the client feels looked after. That written layer is also the part agencies skip when Friday gets busy, which is exactly when clients start wondering what they're paying for. We've written about this pattern in client reporting that doesn't eat your Fridays.

This tool follows a five-block skeleton that holds up across platforms and client types: a TL;DR that leads with outcomes against the goal, performance vs goal with the key numbers restated cleanly, what you changed and why, what happens next, and what you need from the client. Five blocks, in that order, every period. Clients learn where to look, and you never start from a blank page. It's the same structure Adside uses for dashboard narratives inside the product.

On privacy: your numbers are processed in memory to write the draft and never stored, logged, or used for training. The output is a first draft. The judgment, the client context, and the final word stay yours.

Client report questions, answered

Whatever you'd put in the report anyway: spend, results, CPA or ROAS, comparisons to last period or to target. Format doesn't matter: a copy-paste from your dashboard, a few bullet points, or a rough list all work. The more comparisons you give it (vs last month, vs target), the better the narrative.

No. The model is explicitly instructed to use only the numbers you paste. If a claim would need a number you didn't provide, it writes around it qualitatively instead of making one up. Still, read the draft before sending. That's true of any AI output.

You should. It's a first draft that handles the structure and the prose, so you spend your time on judgment instead of a blank page. Copy any section (or the whole report) and adjust the parts only you can know: client context, relationship history, what to soften or push.

No. Your inputs are processed in memory to generate the report and never written to a database, logged, or used for training. Close the tab and the data is gone.

Meta, Google, LinkedIn and TikTok, plus a multi-platform mode for blended reports. The platform setting shapes the language (campaign types, metric names), but the structure of the report is the same everywhere.

More free tools

All tools
AI tool · Free

AI Ad Account Audit

Paste a Meta or Google Ads export and get a graded audit: wasted spend, fatigue, structure issues, plus a client-ready summary.

Open tool
Calculator · Free

Agency Pricing Calculator

What should you charge to manage ad spend? Market-rate fee ranges by spend tier, retainer vs. percentage vs. hybrid, margin math.

Open tool
AI tool · Free

Ad Benchmarks Explorer

CPM, CPC, CTR and CPA reference ranges for Meta, Google, LinkedIn and TikTok, by vertical. Grade your own numbers against them.

Open tool

Reports that write their own first draft, every week

Adside pulls the numbers straight from your ad accounts and drafts branded client reports automatically, narrative included, so reporting day stops being a day.