Blog
Social Media Strategies15 min read

Free Social Media Calendar Template (Google Sheets, Excel and Notion) and How to Fill It

Three copyable social media calendar templates (weekly, monthly and a post tracker), step by step setup in Google Sheets, Excel and Notion, and filled examples for a small business and an agency.

Sophie ReynoldsBy Sophie Reynolds
A spreadsheet social media calendar with color coded status rows next to a weekly grid of posts

A social media calendar template is a spreadsheet or database where every planned post gets one row: the date and time, the network, the format, the topic, the caption, the image or video, the link, who owns it, its status and how it performed. You don't need to download anything or give anyone your email. Below are three layouts you can copy straight into Google Sheets, Excel or Notion: a weekly grid, a monthly overview and a post tracker with the 13 columns that matter.

By the end you'll have a working calendar set up with dropdowns and status colors, a filled example to copy from, and a 30 minute weekly routine to keep it alive.

What a social media calendar template needs (and what to skip)

Most templates you find are built to show off a product, so they have 25 columns and 6 tabs. Nobody fills those in after week 2. A template that survives has three layers:

  1. A monthly overview. One screen that shows the themes, launches and holidays for the month. This is where you decide what the month is about.
  2. A weekly grid. Days down the side, networks across the top. This is where you see if a week is balanced, or if you have 3 promos in a row.
  3. A post tracker. One row per post with every detail. This is the tab you live in. The other two are views of it.

Skip these on day 1: a hashtag bank tab, an annual calendar, a character count formula, a separate tab per network. You can add them later if you miss them. A separate tab per network is the worst of the four, because the same post on Instagram and Facebook ends up in two places and you update one and forget the other.

If you want the bigger picture first (how to pick themes, how many posts, how far ahead to plan), read our guide on how to build a social media content calendar. This post is the hands-on template.

Template 1: the post tracker (the one you will live in)

The post tracker is the heart of any social media content calendar template. Create a sheet called Tracker and put these headers in row 1, one per column from A to M:

Date, Time, Network, Format, Pillar, Hook, Caption status, Asset, Link/UTM, Owner, Status, Approved, Result

The 13 columns and what goes in each

ColColumnWhat goes in itInput type

A

Date

Publish date

Date

B

Time

Publish time, in the audience's time zone

Text or time

C

Network

Instagram, Facebook, LinkedIn, TikTok...

Dropdown

D

Format

Photo, carousel, short video, text, link

Dropdown

E

Pillar

Which content theme the post serves

Dropdown

F

Hook

The first line, written out

Text

G

Caption status

Not started, Draft, Final

Dropdown

H

Asset

Link to the image, video or folder

Link

I

Link/UTM

The tracked link, if the post has one

Link

J

Owner

The one person responsible

Dropdown

K

Status

Idea, Drafting, Needs approval, Scheduled, Published

Dropdown

L

Approved

Ticked when the client or boss says yes

Checkbox

M

Result

One number after 7 days, plus a word

Text

If you work for several clients, insert a Client column before Date. Everything else stays the same.

Keep the full caption in a linked doc or in a notes column to the right of M, not in the middle of the sheet. Long captions make every row 10 lines tall and the sheet becomes unreadable. The Hook column carries the first line, which is the part you actually need to see while planning.

For the Pillar dropdown, use 3 to 5 themes your audience cares about, for example "Behind the scenes", "How to", "Customer stories", "Offers". For the Time column, start with the hours in our best times to post on social media guide and replace them with your own data after a month.

A filled example

Here is what 4 rows look like for a small dental clinic in Denver, planned by an agency:

DateTimeNetworkFormatPillarHookStatusResult

Oct 5, 2026

8:00 am

Instagram

Carousel

How to

5 things your dentist sees in 10 seconds

Scheduled

212 saves

Oct 6, 2026

12:00 pm

Facebook

Photo

Team

Meet Dana, who has cleaned 9,000 smiles

Needs approval

Oct 8, 2026

7:30 am

Google Business Profile

Photo

Offer

New patient exam: book this week

Drafting

Oct 9, 2026

6:00 pm

Instagram

Short video

Myths

Does whitening damage enamel?

Idea

The other columns (Caption status, Asset, Link/UTM, Owner, Approved) sit in the same rows. They are left out here so the table fits on a phone.

Template 2: the weekly social media calendar template

The weekly grid is for balance, not for detail. Days go down the side, networks go across the top, and each cell holds the format and the topic in a few words. In Google Sheets you can build it by hand on a second tab called Week, or fill it with formulas that read from the Tracker. By hand is fine for 1 business.

Use it as your social media posting schedule template: the empty cells show you where you're not posting, and the filled ones show if the mix is off.

Example week for a small bakery

Harbor Street Bakery in Portland, Maine posts 4 times a week on Instagram, 3 times on Facebook and once on Google Business Profile. That's enough for a 2 person shop. Posting 3 good times a week beats 7 rushed ones.

DayInstagramFacebookGoogle Business Profile

Mon Oct 5

Reel: shaping 200 croissants at 5 am

Tue Oct 6

Photo: new pumpkin loaf, $9

Wed Oct 7

Carousel: 4 ways to revive day-old bread

Same carousel as album

Thu Oct 8

Offer: dozen bagels, $14 through Sunday

Fri Oct 9

Photo: customer of the week

Same photo, longer story

Sat Oct 10

Story-style reel: Saturday line at 8 am

Sun Oct 11

Read it as a manager would: 1 behind the scenes, 1 product, 1 how to, 1 offer, 1 customer story, 1 atmosphere post. Only 1 of 6 topics is a straight sale. Sunday is empty on purpose, because the bakery is closed and a post would send people to a locked door.

Template 3: the monthly social media calendar template

The monthly overview is where an agency or a busy owner decides what each week is about before anyone writes a caption. Rows are weeks, columns are clients (or networks, if you only have one business). Each cell holds the theme, any fixed date, and the planned number of posts.

Example month for an agency with 3 clients

Northline Studio, a 3 person agency, runs social for a dental clinic, a yoga studio and a heating and cooling company. This is their October 2026 overview:

WeekBright DentalOakwood YogaSummit Heating

Oct 5

Myths month starts. 5 posts

New 6 am class. 4 posts

Furnace check offer. 4 posts

Oct 12

Meet the team. 5 posts

Teacher spotlight. 4 posts

Filter how to. 4 posts

Oct 19

Kids' Halloween candy tips. 5 posts

Beginner workshop Oct 24. 5 posts

Reviews week. 3 posts

Oct 26

Halloween photo booth Oct 31. 5 posts

Workshop recap. 3 posts

Cold snap prep. 4 posts

Four weeks, 3 clients, 51 posts. The overview shows two things at a glance. First, the yoga studio has a real event on October 24, 2026, so its week 3 needs a countdown and the week after needs a recap. Second, the heating company's offer runs in week 1, before the first cold week, which is when people start searching for furnace repair.

How to set up the template in Google Sheets

This is the social media content calendar template for Google Sheets in 4 parts. It takes about 20 minutes the first time.

Build the Lists tab and dropdowns

  1. Create a new spreadsheet and name the first tab Tracker. Type the 13 headers from the table above into row 1.
  2. Add a second tab called Lists. Put one list per column: networks in column A, formats in B, pillars in C, owners in D, statuses in E, caption statuses in F.
  3. Go back to Tracker and select column C from row 2 down (click C2, then press Ctrl+Shift+Down on Windows or Cmd+Shift+Down on Mac).
  4. Click Insert > Dropdown. A panel opens on the right.
  5. Under Criteria, choose Dropdown from a range and type the range, for example Lists!A2:A20.
  6. Click Done. Every cell in the column now has a dropdown.
  7. Repeat for Format (D), Pillar (E), Caption status (G), Owner (J) and Status (K).

By default Google Sheets rejects any value that isn't in the list, which is what you want for Status. For Pillar you may want some flexibility: open Advanced options and under "If the data is invalid" choose Show a warning. These options are described in Google's help page on creating dropdown lists in Google Sheets.

Color each row by status

  1. Select the data range, for example A2:M500.
  2. Click Format > Conditional formatting.
  3. Under "Format cells if", choose Custom formula is.
  4. Type =$K2="Published" and pick a light green fill.
  5. Click Add another rule and repeat with =$K2="Needs approval" (light yellow) and =$K2="Scheduled" (light blue).
  6. Click Done.

The dollar sign locks the column, so every cell in the row checks the Status column of its own row. Google's help page on conditional formatting rules uses the same pattern for coloring a whole row. Now you can scroll a month of posts and see in one second which ones still need a yes.

Add the approval checkbox

  1. Select column L from row 2 down.
  2. Click Insert > Checkbox.

That's it. If you'd rather store "Yes" and "No" than TRUE and FALSE (handy when you filter or count), use Data > Data validation, choose Checkbox and tick "Use custom cell values", as the Google page on adding checkboxes explains.

Share a view with a client

  1. Click Data > Create filter view.
  2. Filter the Client column to one client, and sort by Date.
  3. Click Save View at the top right, then rename it to the client's name.
  4. Copy the URL from your browser. That link opens the sheet with the filter applied, as described in Google's page on filter views.
  5. Click Share, add the client's email and give them Commenter access, so they can comment on a row without changing it.

How to set up the template in Excel

The social media content calendar template for Excel uses the same columns and the same Lists tab. The steps differ slightly.

  1. Type the 13 headers into row 1 of a sheet called Tracker, and add one example row below them.
  2. Click any cell in the range, then click Home > Format as Table, choose a style and make sure My table has headers is ticked. (On Excel for the web, use Insert > Table.) Excel adds filter buttons to every header, per Microsoft's guide to creating and formatting tables.
  3. On a Lists sheet, type each list in its own column and turn each one into a table with Ctrl+T.
  4. Back on Tracker, select the Status column cells, then click Data > Data Validation.
  5. In Allow, choose List. In Source, select the status cells on the Lists sheet (without the header). Keep In-cell dropdown ticked and click OK.
  6. Repeat for Network, Format, Pillar, Caption status and Owner. For the Approved column, a simple Yes/No list works in every Excel version.
  7. For colors, select the table body, click Home > Conditional Formatting > New Rule, choose "Use a formula to determine which cells to format", enter =$K2="Published" and pick a fill. Add one rule per status.

Microsoft's page on drop-down lists points out the main benefit of step 3: when the source list is a table, adding or removing an item updates every dropdown that uses it. Use the filter buttons on the Client and Status headers to get a per-client or "needs approval" view.

How to set up the template in Notion

A social media calendar template in Notion is a database with a calendar view. It looks nicer than a spreadsheet and clients like it, but it's slower to bulk edit.

  1. On a new page, type /database and choose Database: Full page. Name it "Social calendar".
  2. Rename the default Name property to Hook. Every post's title is its first line.
  3. Click + next to the right-most property to add the others: Date (Date, turn on "Include time"), Network (Select), Format (Select), Pillar (Select), Owner (Person), Status (Status), Approved (Checkbox), Asset (Files & media), Link/UTM (URL), Result (Text). Add Client (Select) if you are an agency.
  4. Open the Status property and edit its options. Notion's Status property groups options into To-do, In progress and Complete. Put Idea in To-do, Drafting, Needs approval and Scheduled in In progress, and Published in Complete.
  5. Click + next to the current view name and choose Calendar. Notion needs a Date property for this, which you added in step 3.
  6. In the view settings, go to Layout > Show calendar by and pick Date. Under Property visibility, show Network and Status on the cards. Under Show calendar as, pick Week for the weekly grid, or leave Month for the monthly overview. These settings are covered in Notion's help page on calendar views.
  7. Add a Board view grouped by Status. This is your approval queue: drag a card from Needs approval to Scheduled when the client says yes.
  8. For each client, add a view with a filter on Client, and share only that view's page with the client.

Write the caption inside the post's page body. That keeps the database clean and gives the client a place to comment line by line.

The 6 columns people forget

Most free templates have Date, Network and Caption. These 6 are the ones that save a week of confusion later:

  1. Hook. The first line decides if anyone reads the rest. Writing it in its own column forces you to write it first, and it lets you scan a month of hooks for repeats. If you're stuck, draft 5 options with the free AI caption generator and pick one.
  2. Asset. A link to the exact file, not "the photo from the shoot". When the designer is out sick, anyone can find it.
  3. Link/UTM. Any post with a link gets tagged parameters, so your analytics show which network sent the sale. Google's help page on campaign URL builders defines them: utm_source (the referrer, like instagram), utm_medium (like social), utm_campaign (like october_offer) and utm_content (to tell two creatives apart). Example: https://harborstreetbakery.com/bagels?utm_source=facebook&utm_medium=social&utm_campaign=bagel_dozen_oct.
  4. Owner. One name per row. "Team" means nobody.
  5. Approved. A checkbox or a date. When a client says "I never approved that", you have the answer in one cell.
  6. Result. One number, filled in 7 days after the post goes out. Without this column the calendar is a to-do list. With it, it becomes your best source of ideas, and it feeds straight into a monthly social media report.

Two small extras worth adding once the basics stick: a character count for short networks (X allows 280 characters, Bluesky 300), or check drafts with the character counter instead of building a formula.

How to run the template in 30 minutes a week

A template only works if someone opens it every week at the same time. Here is the routine that works for a small business owner or for one agency client. Block 30 minutes on Thursday or Friday, before the weekend eats the time.

  1. Minutes 0 to 5: fill in results. Filter Status to Published and Date to last week. Type one number into Result for each post. Mark the best post with a star.
  2. Minutes 5 to 10: read the overview. Open the monthly tab. What's next week's theme, and is there a fixed date (a launch, an event, a holiday)?
  3. Minutes 10 to 20: add next week's rows. Copy last week's rows, change the dates, and fill Pillar, Format and Hook. Reuse the format of your best post from step 1 with a new topic.
  4. Minutes 20 to 25: send for approval. Set Status to Needs approval, then send the client the filter view link or the Notion page with one line: "Next week's 6 posts, please approve or comment by Monday 10 am."
  5. Minutes 25 to 30: schedule what's approved. Load the approved posts into the native schedulers or into your scheduling tool, and set Status to Scheduled.

Captions are the part this routine doesn't cover. Write them in a batch right after step 4, or on a separate day, so the 30 minute planning block stays 30 minutes.

When a spreadsheet stops being enough

A spreadsheet is the right tool for 1 business and 2 or 3 networks. It starts to fail in predictable ways:

  • You copy every post twice. Once into the sheet, once into the scheduler. The two drift apart, and the sheet says Scheduled for a post that never went out.
  • Approvals live in email. The checkbox says yes, but the "yes" is buried in a thread and the client edited the caption in their reply.
  • The Result column stays empty. Nobody has time to open 4 apps and copy numbers every Friday, so the calendar stops teaching you anything.
  • You have more than 3 clients. 3 files per client (tracker, week, month) times 5 clients is 15 files to keep in sync.

When 2 or more of these are true, look for a tool that keeps the plan and the publishing in the same place: a calendar you can filter by client, approval from a link that doesn't need a login, publishing through each network's official API, and results pulled back into the same post record automatically. If Instagram is your main network, our Instagram scheduler page shows what that looks like for one network.

SocialScheduler is built for this stage. Each Sunday the AI plans the client's week, writes the posts in the client's voice, makes the images, carousels and short videos, and sends it for approval (in the app, or from an email link the client opens without logging in). It then publishes at the hours that client's audience is online and reads the results back so the next plan uses them. A planned week costs 10 credits, publishing costs nothing, and the Free plan covers 1 client and 3 accounts with 20 credits a month, so you can run 2 weeks of real plans before deciding.

If you stay with the spreadsheet, that's a fine choice for a single business. Keep the 13 columns, run the 30 minute routine every week, and look at the Result column before you plan anything new.

What to do next: copy the 13 headers into a blank sheet today, build the Lists tab, and fill in next week only. Don't plan a whole month on day 1. After 4 weeks of results, fill the monthly overview for the month after.

Frequently asked questions

How do I create a social media calendar?

Create one sheet with a row per post and columns for date, time, network, format, pillar, hook, asset, link, owner, status, approval and result. Add dropdowns for the repeated values, color rows by status, and fill it one week ahead in a fixed 30 minute slot each week.

Does Google Sheets have a social media calendar template?

Google Sheets has no built-in template made for social media, but you can build one in about 20 minutes with the 13 columns above, dropdowns from a Lists tab (Insert > Dropdown), conditional formatting by status and a checkbox column for approvals.

Is there a free social media calendar template in Excel?

Yes. Type the 13 headers into a sheet, press Ctrl+T to turn them into a table with filters, and add dropdowns with Data > Data Validation > List. It's free and works in any recent Excel version, including Excel for the web.

Can I use Notion as a social media calendar?

Yes. Create a database with a Date property, a Status property and Select properties for network, format and pillar, then add a Calendar view (Month or Week) and a Board view grouped by Status for approvals. Notion is great for sharing with clients but slower than a spreadsheet for editing many rows at once.

What is the 5-3-2 rule for social media posts?

The 5-3-2 rule says that out of every 10 posts, 5 share useful content from others, 3 are your own content, and 2 are personal or human posts. It's a rule of thumb for balance, and you can track it with a Pillar column in your calendar.

How far ahead should I plan a social media calendar?

Plan themes a month ahead and write posts 1 week ahead. A month of finished posts goes stale when news, weather or a product change hits, while a 1 week window leaves room to react and still gives clients time to approve.

What should a social media posting schedule include?

At minimum: the date and time of each post, the network, the format and the status. The columns that make it useful over time are the hook, the asset link, the tracked link, the owner, the approval and a result filled in 7 days after posting.

Newsletter

Subscribe for the Latest Social Media Tips

Get exclusive insights, new feature updates, and productivity hacks to level up your social media scheduling game. Join our community today!

Ready when you are

Add a client. The agent plans the rest.

Connect their accounts, fill in a short brief, choose who approves. The first week is planned in minutes.

Free Social Media Calendar Template: Sheets, Excel, Notion