How to write a social media report for clients in under an hour

A practical walkthrough for freelance social media managers: how to write a clear, defensible monthly client report for Facebook and Instagram without spending half a day on it.

Writing a social media report for a client should not feel like writing your dissertation. But for most freelance social media managers, the monthly report is the thing that eats the most unbilled time. Pulling exports, building slides, formatting, tweaking copy. Half a day, gone. Repeated for every client.

Here is how to write a client-facing social media report in under an hour, every time, without cutting corners on the analysis. This walkthrough assumes you manage Facebook and Instagram accounts for SMB clients, the most common freelance setup.

Before you write: get the data in one place

The single biggest cause of slow reports is data scatter. Your numbers live in:

  • Meta Business Suite (different views for Facebook and Instagram).
  • A Google Sheet you started six months ago.
  • CSV exports you never quite trust.
  • Screenshots in a Slack channel.

You cannot write a clean report on top of messy inputs. Step one is consolidating.

Three options, in order of how long they take:

  1. Manual. Export the CSVs from Meta Business Suite, paste into your sheet, manually tag which posts you produced. Allow 30-60 minutes per client per month, every month. Forever.
  2. A scheduled script or Zap. Better, but fragile. Meta's API quirks tend to break things, and you spend more time fixing the pipeline than reporting on the data.
  3. A purpose-built tool. PostProof syncs Facebook and Instagram posts and metrics automatically and tags what you managed versus organic activity, so you skip step one entirely. The rest of this guide assumes your data is already consolidated, however you got there.

Step 1: Decide the story before you open the doc (5 minutes)

Open your dashboard or sheet and look at the month. Before you start writing, ask yourself three questions:

  • What is the one sentence I would say to this client about this month?
  • Did the strategy we agreed on last month work, partially work, or not work?
  • What is the most interesting post and why?

Write the answers in a notes app or scratch doc. Do this before opening your report template. If you start with the template, you will write to fill sections instead of writing to tell the truth.

Step 2: Pull the numbers (10 minutes)

You only need a handful of numbers. Resist the urge to include everything you have access to.

For the headline section, pull:

  • Reach (this month vs last month).
  • Engagement rate.
  • Saves and shares.
  • Follower growth.
  • Total posts produced.

For the attribution section, pull:

  • Your share of total reach.
  • Your share of total engagement.
  • Number of posts you managed vs total posts on the account.

For top posts, pick three to five. Pick them based on engagement rate, not raw reach. A post with high reach and low engagement was probably boosted by the algorithm, not by your content choices.

If your tool already calculates "manager impact" for you, you can skip this step. If not, this is where you spend the time. Here is why attribution belongs at the top of every client report.

Step 3: Write the executive summary (10 minutes)

This is the first thing your client reads and the last thing you should write. Three sentences, no jargon.

Template:

"This month, [headline change] happened, driven by [the specific thing you did]. [One sentence on what that means]. Next month I'm [the one thing you're focused on]."

Real example:

"Reach grew 31% this month, driven by the three Reels we launched in week two. Engagement stayed steady, which means new viewers are sticking around at the same rate as your existing audience. Next month I'm doubling down on Reels and pausing static posts unless they tie to a launch."

Three sentences. That is the executive summary. Anything longer is padding.

Step 4: Fill the headline metrics section (5 minutes)

Drop your numbers into a clean comparison table. Month-over-month deltas. Color the deltas if you can (green up, red down, gray flat). Do not editorialize in this section. The numbers should speak for themselves.

If a number is bad, do not hide it. Clients can tell. The credibility hit from spinning a bad number is much bigger than the credibility hit from acknowledging one.

Step 5: Walk through top posts (15 minutes)

This is where you earn the retainer. For each of your three to five top posts, write one line on why it worked. Not the metrics, the reason.

Bad: "This post got 12,000 reach."

Good: "This post got 12,000 reach because we tied the carousel to a question the client's audience has been asking in DMs for weeks. Format and timing both mattered."

If you cannot answer "why did this work?" for a post, you are not doing the strategic part of the job. The report is where you prove you are. More on which metrics actually matter to clients.

Step 6: What we tried, and next month's plan (10 minutes)

These two sections are short. Three to five bullets each.

For "what we tried," list the experiments you ran and what happened. Include at least one loss. It builds trust.

For "next month's plan," list:

  • What you are focused on.
  • What you are testing.
  • What you need from the client (assets, approvals, sign-offs).

The last bullet is what keeps the report a conversation instead of a monologue.

Step 7: Format and send (5 minutes)

Lock the format. Same fonts, same colors, same section order, every month. Your client wants consistency, not novelty.

PDF or shareable link, both work. A shareable link has the advantage that your client can re-open it and forward it without digging through their email. If the report is generated for you and you do not have to rebuild anything, this whole step takes 30 seconds.

Total time: 60 minutes, not 4 hours

If you do this without a tool, the data consolidation step alone takes 30-60 minutes per client. Across five clients that is five wasted afternoons every month.

If you do this with a tool that has done the consolidation and attribution for you, the whole flow lands closer to 30 minutes. The hour estimate above assumes a freelancer working from a sheet, not from a connected dashboard.

PostProof was built around this exact workflow. Facebook and Instagram sync automatically, attribution is calculated for you, and the report is generated as both a PDF and a shareable link. Beta is $5/mo with a 7-day free trial. See pricing.

If you are still on the manual approach, the upgrade is not the report format. It is what you do with the four hours you get back.