Updated September 28, 2026
9 min read
Templates

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.

GB
Written byGabor Barta— Co-founder, Oppira

Gabor leads product and content at Oppira. He has spent over a decade building tools and writing about competitive intelligence, social media analytics, and growth marketing for B2B SaaS companies.

Published September 28, 2026

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.

The twelve columns of the template, what goes in each, and an example value
ColumnWhat goes in itExample value
DatePlanned publish date and time, in one time zone for the whole sheetTue Oct 13, 9:00 am
ChannelOne channel per row. A post going to two channels is two rowsLinkedIn
PillarThe recurring theme this post belongs to, from a fixed listCost of doing it by hand
FormatText, single image, carousel, short video, link post, storyCarousel
HookThe first line, or the working title if the copy is not written yet"I spent 6 hours confirming appointments last month"
GoalWhat this post should change: reach, replies, clicks, sign-upsSaves and replies
Call to actionThe one thing you ask the reader to doReply with your admin time
LinkDestination URL with its UTM parameters, or "none"none
OwnerOne named person who gets it to publishedMia
StatusIdea, Drafted, In review, Approved, Scheduled, PublishedDrafted
AssetLink to the image, video or design fileDrive link to carousel v2
ResultFilled a week after publishing, against the goal column41 saves, 12 replies
The twelve columns of the template, what goes in each, and an example valueThe goal and result columns are the pair most templates leave out, and without them the calendar can tell you what happened but never whether it worked.

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.

Example week for your company, a two-channel team (template rows, shortened)
DateChannelPillarFormatHookGoalCall to actionStatus
MonLinkedInCost of doing it by handText"Six hours of reminder calls is a working day you did not bill"RepliesReply with your numberApproved
TueInstagramFront-desk habitsCarousel"The 3 booking settings that cause no-shows"SavesSave it for your front deskDrafted
WedLinkedInProof from customersSingle image"How a physio clinic replaced reminder calls with one text"ClicksRead the story (link)In review
ThuInstagramBehind the productShort video"What happens when a client cancels 2 hours before"ReachFollow for the next oneIdea
FriLinkedInOpen slotAnyReserved for news or a competitor moveDependsDependsIdea
Example week for your company, a two-channel team (template rows, shortened)Owner, link, asset and result columns are hidden here for width. In the real sheet every row carries all twelve.

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.

Monthly overview tab: posts per pillar per week (example month)
PillarWeek 1Week 2Week 3Week 4Month totalTarget share
Cost of doing it by hand12115About 30%
Front-desk habits11114About 25%
Proof from customers10113About 20%
Behind the product11013About 15%
Open slot11114Kept free
Monthly overview tab: posts per pillar per week (example month)Target shares are an example, not a rule. Set your own from what the positioning needs most, then compare planned against published at month end.

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.

  1. 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.
  2. 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.
  3. 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.
  4. Approved. The reviewer marks it approved. From here only the owner edits, and only for typos, so what gets published is what got approved.
  5. 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].
  6. 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

  1. Create an in-cell dropdown list Google Docs Editors Help, September 2026.Official instructions for dropdowns in Google Sheets.
  2. Scheduled posts for LinkedIn Pages LinkedIn Help, September 2026.States the scheduling window for Page posts, from one hour to three months ahead.
  3. Best Practices for Using the Calendar in Facebook Business Suite Meta Business Help Center, September 2026.Meta native planning calendar for Facebook and Instagram.
Oppira

Turn reading into a reaction

Oppira watches your competitors, keeps your playbook current, and drafts the response. See your market clearly by tomorrow.