Social Media Report Template (Free, Copy and Paste)

Social Media Report Template (Free, Copy and Paste)

A complete monthly social media report template you can copy inline, with the tables, the placeholders, and how to fill in each section honestly.

A social media report exists to answer three questions: what did we publish, what happened, and what changes next month. Everything else is padding. The template below is the whole thing, inline, ready to copy into a doc.

Most report templates sit behind an email form. This one does not. Select the block, paste it, replace the bracketed placeholders.

The template

# Social Media Report: [CLIENT NAME]
**Period:** [START DATE] to [END DATE]
**Prepared by:** [YOUR NAME]
**Date:** [REPORT DATE]

---

## 1. Summary

[Two to four sentences. What changed this period and why. Name the single
biggest driver of the numbers below. If the period was flat, say so.]

**Headline number:** [METRIC] moved from [PREVIOUS] to [CURRENT] ([+/-X%]).

---

## 2. What we published

| Channel | Posts | Post types | Notes |
|---|---|---|---|
| [PLATFORM] | [N] | [e.g. 4 reels, 6 statics] | [ANYTHING UNUSUAL] |
| [PLATFORM] | [N] | [TYPES] | [NOTES] |
| **Total** | **[N]** | | |

**Planned vs published:** [N] planned, [N] published, [N] moved or cut.
Reason for any gap: [REASON]

---

## 3. Performance by channel

| Channel | Followers | Change | Impressions | Engagements | Engagement rate | Link clicks |
|---|---|---|---|---|---|---|
| [PLATFORM] | [N] | [+/-N] | [N] | [N] | [X.X%] | [N] |
| [PLATFORM] | [N] | [+/-N] | [N] | [N] | [X.X%] | [N] |
| **Total** | **[N]** | **[+/-N]** | **[N]** | **[N]** | **[X.X%]** | **[N]** |

**Compared to [PREVIOUS PERIOD]:**

| Metric | This period | Last period | Change |
|---|---|---|---|
| Impressions | [N] | [N] | [+/-X%] |
| Engagements | [N] | [N] | [+/-X%] |
| Engagement rate | [X.X%] | [X.X%] | [+/-X pts] |
| Link clicks | [N] | [N] | [+/-X%] |
| Follower growth | [N] | [N] | [+/-X%] |

---

## 4. Top five posts

| # | Channel | Date | Post (first 60 chars) | Reach | Engagement rate | Why it worked |
|---|---|---|---|---|---|---|
| 1 | [PLATFORM] | [DATE] | [TEXT] | [N] | [X.X%] | [ONE LINE] |
| 2 | [PLATFORM] | [DATE] | [TEXT] | [N] | [X.X%] | [ONE LINE] |
| 3 | [PLATFORM] | [DATE] | [TEXT] | [N] | [X.X%] | [ONE LINE] |
| 4 | [PLATFORM] | [DATE] | [TEXT] | [N] | [X.X%] | [ONE LINE] |
| 5 | [PLATFORM] | [DATE] | [TEXT] | [N] | [X.X%] | [ONE LINE] |

## 5. Bottom three posts

| # | Channel | Date | Post | Reach | Engagement rate | Likely reason |
|---|---|---|---|---|---|---|
| 1 | [PLATFORM] | [DATE] | [TEXT] | [N] | [X.X%] | [ONE LINE] |
| 2 | [PLATFORM] | [DATE] | [TEXT] | [N] | [X.X%] | [ONE LINE] |
| 3 | [PLATFORM] | [DATE] | [TEXT] | [N] | [X.X%] | [ONE LINE] |

---

## 6. Against the goals we set

| Goal | Target | Actual | Status |
|---|---|---|---|
| [GOAL FROM LAST REPORT] | [TARGET] | [ACTUAL] | [Met / Missed / Partial] |
| [GOAL] | [TARGET] | [ACTUAL] | [STATUS] |

---

## 7. What we learned

- [OBSERVATION, with the number that supports it]
- [OBSERVATION]
- [SOMETHING THAT DID NOT WORK]

---

## 8. Next period

| Action | Owner | By when | Expected effect |
|---|---|---|---|
| [ACTION] | [NAME] | [DATE] | [WHAT SHOULD MOVE] |
| [ACTION] | [NAME] | [DATE] | [EFFECT] |

**Goals for [NEXT PERIOD]:**
1. [MEASURABLE GOAL]
2. [MEASURABLE GOAL]

---

## Appendix: definitions

- **Engagement rate:** [engagements / impressions, or engagements / followers.
  State which, and keep it the same every month.]
- **Impressions:** [platform's own definition, which differs by platform]
- **Data source:** [Native platform insights / scheduler analytics]
- **Data pulled:** [DATE]

How to fill each section in

Section 1, summary. Write it last. It is the only part some readers will read, so it should carry the one number that matters and the reason it moved. If you cannot name a reason, write that you cannot. A stated unknown is more useful than an invented cause.

Section 2, what we published. This is the section clients quiet down about when it is present and get suspicious about when it is missing. Publishing volume is the input you control. Report it before you report outcomes, and report the gap between planned and published without softening it.

Section 3, performance by channel. Pull the numbers on the same day of the month every time, because platforms backfill and a report pulled on the 2nd and one pulled on the 8th will disagree. Keep the engagement-rate formula identical across periods. If you are unsure how the denominators differ, our engagement rate calculator shows both bases side by side.

Sections 4 and 5, top and bottom posts. Five and three, not twenty. The “why it worked” column is the actual work: format, topic, timing, or the honest “we do not know”. Bottom posts are what makes the report credible, and most agencies drop them.

Section 6, goals. Copy the goals verbatim from last month’s report. Rewriting a goal to match the outcome is the fastest way to lose a client’s trust in the whole document.

Section 7 and 8. Learnings must have a number attached. Actions must have a name and a date attached. An action with no owner will not happen.

What most people get wrong

Reporting vanity metrics with no denominator. “12,000 impressions” means nothing without last month’s number and the post count that produced it. Every raw number in the template sits next to a comparison for this reason.

Changing the metric definition mid-year. Engagement rate over impressions and engagement rate over followers give very different figures. Pick one, write it in the appendix, and never quietly switch it because the other one looks better.

Mixing data sources. Native Instagram insights and a third-party scheduler will not agree exactly, because they count and refresh differently. Pick one source per metric and record it.

Making the report the deliverable. The report is a means to the “next period” table. If nothing in section 8 changes as a result of sections 3 to 7, you wrote a receipt, not a report.

Sending it at a different length every month. A report that is two pages in March and nine in April cannot be compared. Fix the shape, vary only the content.

How often to send it

Monthly for most clients. Weekly reports on organic social are mostly noise: a week is too short for follower growth to say anything, and a single post can distort every ratio. If a client wants weekly contact, send a short publishing update in week two and the full report at month end.

Quarterly is the right cadence for the strategy conversation, which is a different document. Pair this report with a social media audit once or twice a year.

Pulling the numbers without a spreadsheet weekend

The slow part of this template is section 3. If your posts are scheduled through one tool, the per-channel table and the top-post table come out of it directly. BulkPublish has a reports view that groups published posts and their metrics by channel and period, plus CSV export for the periods you want to line up side by side. Agencies running this monthly for several clients usually keep one workspace per client and export each report the same day. There is more on that setup on our agencies page.

The short version

Eight sections: summary, what you published, performance, top five, bottom three, goals, learnings, next actions. Pull data on the same date each month. Keep the engagement-rate formula fixed and write it in the appendix. Include the posts that failed. If section 8 is empty, the report did not do its job.