All articles
·7 min read

What a Good Social Media Report Actually Shows Clients (And What to Leave Out)

agencyreportingsocial media analyticsclient management

The typical agency social media report is twenty slides of reach charts that clients scroll past to find the one number they actually care about. Here is what that number is — and how to build a report around it.

The average agency social media report is built backwards. It starts with the data the platform APIs provide — impressions, reach, follower growth, link clicks, story views — and assembles them into a document that looks thorough. The client receives it, skims the charts, and asks the one question the report did not answer: "Is this working for our business?"

The question is not unreasonable. The problem is that most reports are built to demonstrate effort, not to answer that question. They show that a lot happened. They rarely say whether what happened was good.

A good report is built in reverse. Start with the question the client actually cares about. Then include only the numbers that answer it.

What clients actually care about (it varies by business stage)

Most clients care about one of three things, depending on where their business is:

Awareness clients — new brands, product launches, businesses entering a new market — are asking: "Are more people learning that we exist?" Reach and impressions are the right metrics here. Not likes.

Engagement clients — established brands building community, service businesses with longer consideration cycles — are asking: "Are the people who see us actually interested?" Engagement rate is the right metric. Not raw interaction counts.

Conversion clients — direct-to-consumer brands, ecommerce, local service businesses — are asking: "Is social media bringing us customers?" Link clicks, DM volume, profile visits from posts, and revenue attribution where trackable are the right metrics. Not reach.

Before building a report, know which question your client is trying to answer. Most agencies send the same report to all clients regardless of what they are actually optimising for.

The three numbers that belong at the top of every report

Regardless of client type, these three numbers create the foundation for a useful report:

Report headline structure
// The three headline metrics — include these in every client report
const REPORT_HEADLINE = {
  // 1. Period reach vs. previous period (same window)
  // A simple comparison. Rising reach with falling engagement = warning.
  // Falling reach with rising engagement = more qualified audience.
  reach_this_period:     48_200,
  reach_previous_period: 43_100,
  reach_change:          '+11.8%',

  // 2. Average engagement rate for the period
  // The quality signal. This is what the algorithm rewards.
  // Benchmark: Instagram <10K followers: 3–8% healthy
  //            Facebook business pages: 1–4% healthy
  //            LinkedIn company pages:  0.5–2% healthy
  avg_engagement_rate:   '4.1%',

  // 3. Top post — highest engagement rate, not highest reach
  // Name it. Quote the engagement rate. Say why it worked in one sentence.
  top_post: {
    content_summary: 'Tuesday product demo video',
    engagement_rate: '7.8%',
    why_it_worked:   'Video format, specific outcome shown, posted at peak window',
  },
}

The rest of the report is context, not headline. If the client does not understand the report from the first three numbers, the remaining charts will not save it.

What to cut

These metrics appear in most reports and should be removed or moved to an appendix:

  • Follower count change: for established accounts, a 200-follower increase in a month is noise. Report it only if the client has a specific follower target in their brief — otherwise it is a vanity metric that distracts from quality signals
  • Impressions alongside reach: an impression is a view that can include the same user seeing the same post multiple times. Reach counts unique accounts. If you include both, clients will ask what the difference is. Report reach only unless impressions tell a different story
  • Hourly posting time analysis: this belongs in your internal operations. The finding ("your audience engages most on Wednesday evenings") should appear as a recommendation. The client does not need to see the data table behind it
  • Hashtag performance breakdown: genuinely useful for your content strategy, not for the client review. Keep it internally and use it to brief the next month's content
  • Story completion rate and other micro-metrics: useful for diagnosing specific content problems, not for a strategic monthly overview

Framing the narrative — not just the data

The report is not a data delivery. It is a narrative. The data is the evidence. The narrative is the point.

Every monthly report should answer four questions in sequence:

First, what happened? (the three headline metrics)

Second, why? One sentence of interpretation. "Engagement rose because two videos outperformed all static posts this month" is interpretation. A table of engagement rates by post is not.

Third, what does it mean? "Video content is consistently outperforming images for this audience — we recommend shifting the content mix to 60% video in the next quarter" is strategic. A chart showing video versus image performance is not.

Fourth, what are we doing next? One specific recommendation for the coming month. Not three. Not a list of possibilities. One decision.

The agencies that retain clients for three or more years are almost always the ones whose reports feel like a conversation, not a spreadsheet delivery. The client's job is to make decisions. The report's job is to give them everything they need to make the next one.

Frequency and format

Monthly is the right cadence for most clients. Weekly is too frequent — performance data at one-week resolution is too noisy to be meaningful, and it trains clients to expect constant reporting rather than strategic review. Quarterly is too infrequent — you lose the ability to course-correct before problems compound.

Format: a shared link is better than a PDF for most client relationships. PDFs get downloaded, renamed, saved in a folder, and never found again. A link with time-limited access is browsed when the client has context — usually before or after your monthly review call.

Length: one page of actual reading for single-platform accounts. Two pages for multi-platform accounts. Three pages maximum including any appendix data. If you find yourself needing more space, the problem is usually too many metrics, not too little space.

How Postlore handles client reporting

Postlore generates a shareable report link — 7, 30, or 90-day windows — per workspace. Each client's workspace holds their own analytics, so the data is already separated when you go to report. You send the link; the client views the metrics without needing a login or PDF.

The engagement rate, reach, and top-post data are pre-assembled. The narrative — the interpretation and the recommendation — is still yours to write. That is where the client relationship lives, and that is the part no automated report can replace.

Key takeaways

  • Build reports backwards: start with the question the client is trying to answer, then include only the metrics that answer it
  • Three numbers belong at the top of every report: period reach vs. previous period, average engagement rate, and the top post with one sentence on why it worked
  • Cut follower count, impressions, hourly analysis, and hashtag breakdowns from client-facing reports — keep them internally for your own strategy
  • The report's job is to support a decision, not to demonstrate effort: what happened, why, what it means, what we are doing next
  • Monthly cadence with a shareable link outperforms weekly PDFs for nearly every client relationship

Built for creators

Put this into practice automatically

Postlore generates platform-adapted content, learns your best posting times from real data, and tells you every week exactly what is working — so you spend less time guessing and more time creating.

Start free — no card required →