Social Media Content Calendar Template for Small Teams
Twelve Columns, a Weekly Grid and a Status Flow You Can Copy Into a Spreadsheet Today
Short answer
A social media content calendar template needs twelve columns: date, channel, pillar, format, hook, goal, call to action, link, owner, status, asset and result. Keep one row per post per channel, fill it two to four weeks ahead, and review the result column monthly. Everything else is optional for a small team.
1. What columns should a content calendar template have?
Twelve: date, channel, pillar, format, hook, goal, call to action, link, owner, status, asset and result. Each one answers a question someone would otherwise ask in chat, which is the test for whether a column belongs.
- Content calendar
- A forward plan of what will be published, on which channel and when, ideally with the reason each item exists recorded alongside it.
- Full definition of Content calendar
Copy the table below into the first row of a spreadsheet as headers. The example column shows what a filled cell looks like, using your company as the invented example: a ten-person team selling online booking software to small service businesses such as clinics and salons.
| Column | What goes in it | Example value |
|---|---|---|
| Date | Planned publish date and time, in one time zone for the whole sheet | Tue Oct 13, 9:00 am |
| Channel | One channel per row. A post going to two channels is two rows | |
| Pillar | The recurring theme this post belongs to, from a fixed list | Cost of doing it by hand |
| Format | Text, single image, carousel, short video, link post, story | Carousel |
| Hook | The first line, or the working title if the copy is not written yet | "I spent 6 hours confirming appointments last month" |
| Goal | What this post should change: reach, replies, clicks, sign-ups | Saves and replies |
| Call to action | The one thing you ask the reader to do | Reply with your admin time |
| Link | Destination URL with its UTM parameters, or "none" | none |
| Owner | One named person who gets it to published | Mia |
| Status | Idea, Drafted, In review, Approved, Scheduled, Published | Drafted |
| Asset | Link to the image, video or design file | Drive link to carousel v2 |
| Result | Filled a week after publishing, against the goal column | 41 saves, 12 replies |
Make pillar, format, status and channel dropdowns rather than free text. In Google Sheets that is Insert, then Dropdown [s1]. Free-text pillars drift within a month into near-duplicates that make any later review impossible.
2. What does a filled-in week look like?
For a two-channel team, around five rows: three LinkedIn posts and two Instagram posts, spread across at least three pillars, with one slot left open for whatever the market does that week.
This is the same template filled in for one week. Copy the structure and replace the content with your own pillars; the proportions matter more than the topics.
| Date | Channel | Pillar | Format | Hook | Goal | Call to action | Status |
|---|---|---|---|---|---|---|---|
| Mon | Cost of doing it by hand | Text | "Six hours of reminder calls is a working day you did not bill" | Replies | Reply with your number | Approved | |
| Tue | Front-desk habits | Carousel | "The 3 booking settings that cause no-shows" | Saves | Save it for your front desk | Drafted | |
| Wed | Proof from customers | Single image | "How a physio clinic replaced reminder calls with one text" | Clicks | Read the story (link) | In review | |
| Thu | Behind the product | Short video | "What happens when a client cancels 2 hours before" | Reach | Follow for the next one | Idea | |
| Fri | Open slot | Any | Reserved for news or a competitor move | Depends | Depends | Idea |
3. How should the monthly overview be laid out?
As a second tab: weeks across the top, pillars down the side, a count of posts in each cell. It shows at a glance whether one pillar is eating the month, which the row-per-post view hides.
The row view is where work happens. The overview is where you catch imbalance. Build it with a COUNTIFS formula over the main tab so it updates itself, or fill it by hand in five minutes.
| Pillar | Week 1 | Week 2 | Week 3 | Week 4 | Month total | Target share |
|---|---|---|---|---|---|---|
| Cost of doing it by hand | 1 | 2 | 1 | 1 | 5 | About 30% |
| Front-desk habits | 1 | 1 | 1 | 1 | 4 | About 25% |
| Proof from customers | 1 | 0 | 1 | 1 | 3 | About 20% |
| Behind the product | 1 | 1 | 0 | 1 | 3 | About 15% |
| Open slot | 1 | 1 | 1 | 1 | 4 | Kept free |
A week with a zero is fine. A pillar with zeros three weeks running has been abandoned without anyone deciding to abandon it, and the overview is the only place that shows it.
4. Which statuses does a small team need?
Six: Idea, Drafted, In review, Approved, Scheduled, Published. Fewer and you cannot tell what is stuck; more and nobody updates them. Each status should have one person who moves it forward.
Define who moves each status, write it in a note at the top of the sheet, and the weekly check becomes a filter instead of a meeting.
- Idea. Anyone can add a row with a pillar and a hook. An idea without a pillar goes to a separate backlog tab, because it is not yet part of the plan.
- Drafted. The owner has written the copy and attached or briefed the asset. The row now has a call to action and, if it links anywhere, a tagged URL.
- In review. One named reviewer checks claims, prices, names and tone. Keep it to one reviewer per post; two reviewers is how posts sit for a week.The review guide linked below covers how to keep this step to minutes.
- Approved. The reviewer marks it approved. From here only the owner edits, and only for typos, so what gets published is what got approved.
- Scheduled. The post is loaded into the native scheduler or your tool with its date. LinkedIn Pages, for example, accept scheduled posts from one hour to three months ahead [s2].
- Published. The post is live. Set a reminder to fill the result column seven days later, while the numbers are still fresh and before the next planning session.
5. How far ahead should we fill the template?
Pillars and targets for the month, specific rows two to four weeks out, and final copy in the week of publishing. Filling captions further ahead produces rows you rewrite anyway.
Three horizons, three levels of detail in the same sheet:
- This month: the overview tab, with target shares per pillar and the open slots marked.
- Next two to four weeks: rows with date, channel, pillar, format, hook, goal and owner.
- This week: copy, asset, link and status moving through review.
If you want the full reasoning for deriving the pillars in the first place, that sits in the guide on building a content calendar that follows strategy. This page is the sheet itself; that one is why each row should exist.
6. Which columns can a very small team skip?
A one-person team can drop owner and status and keep the other ten. Never drop goal or result: they are the only columns that let next month learn anything from this one.
Columns worth adding only once you need them: campaign name (if you run several at once), paid boost yes or no (if you boost posts), approval date (if a regulator or client needs an audit trail), and language (if you publish in more than one).
Columns worth refusing: hashtags as a separate column (write them in the copy), "notes" (it becomes a second, unstructured calendar), and anything the scheduler already records for you, such as the exact publish timestamp.
7. When does a spreadsheet stop being enough?
When the same caption has to be rewritten per channel every week, when approvals happen in chat, or when nobody fills the result column. Those are workflow failures a sheet cannot enforce.
A spreadsheet is the right place to start, and plenty of teams never outgrow it. The warning signs are specific: rows marked Published that were never scheduled, results left blank for a month, or two people editing the same row with different versions of the copy.
Key Takeaways
Twelve columns, no more to start
Date, channel, pillar, format, hook, goal, call to action, link, owner, status, asset and result cover what a small team actually asks about.
One row per post per channel
Splitting channels into separate rows is what forces a separate version for each, instead of one caption pasted everywhere.
Goal and result are the pair that matters
Without them the calendar records activity but can never tell you which pillar or format worked.
Use dropdowns for pillar, format, status and channel
Free text drifts into near-duplicates within weeks and makes the monthly review impossible.
Add a monthly overview tab
Posts per pillar per week shows imbalance and abandoned pillars that the row view hides.
Keep one open slot a week
A fully booked calendar forces you to ignore news or drop planned work when the market moves.
Frequently Asked Questions
Sources
- Create an in-cell dropdown list Google Docs Editors Help, September 2026.Official instructions for dropdowns in Google Sheets.
- Scheduled posts for LinkedIn Pages LinkedIn Help, September 2026.States the scheduling window for Page posts, from one hour to three months ahead.
- Best Practices for Using the Calendar in Facebook Business Suite Meta Business Help Center, September 2026.Meta native planning calendar for Facebook and Instagram.
Explore More
Related analyses, benchmarks, and industry insights
Related Guides
Glossary Terms
Turn reading into a reaction
Oppira watches your competitors, keeps your playbook current, and drafts the response. See your market clearly by tomorrow.