# Weekly Metricool social post archive in Google Sheets

> Every Monday at 6am, last week's posts from every brand land in one shared spreadsheet, so your team works off a single rolling history.

- Workflow type: code
- Services: Metricool, Google Sheets
- Categories: Marketing, Operations
- Published: 2026-08-07

## What it does

- Every Monday morning, collects last week's published posts for every brand in your Metricool account
- Covers Instagram posts, reels and stories plus Facebook page and group posts, skipping any network a brand has not connected
- Adds one row per post to your tracking spreadsheet with the brand, network, publish date, link, post type, reach, engagement and engagement rate
- Only ever adds to the bottom of the sheet, so it builds into a rolling archive you can pivot and chart yourself

## What you'll need

- A Metricool account on a plan that includes data export, currently Advanced or Custom
- At least one brand in Metricool with Instagram or Facebook connected
- A Google account with edit access to the spreadsheet you want to use
- A spreadsheet with a header row for brand, network, publish date, post link, post type, impressions or reach, engagement and engagement rate

## Prompt

Every Monday at 6am, export last week's social post performance from Metricool into a Google Sheet so my whole team works off one shared history. Build this as a code workflow on a cron trigger. Every step is fixed, so there should be no AI summarization anywhere in it: the point is a clean, append-only archive I can pivot and chart myself instead of re-exporting by hand.

Start by listing my brands with Metricool's Get Admin Simple Profiles. Metricool is brand-scoped, so use this to resolve the numeric blogId for each brand before pulling any stats, and carry the brand name through to the output rows.

Work out the date window once per run: the previous seven days, meaning the Monday to Sunday week that has just ended. Apply that same window to every brand and every network so the archive never overlaps itself or leaves a gap between runs.

For each brand, pull that window from all five sources: Get Stats Instagram Posts, Get Stats Instagram Reels, Get Stats Instagram Stories, Get Stats Facebook Posts and Get Stats Fbgroup Posts. Not every brand has every network connected. If a network returns no access or no data for a brand, skip it and carry on with the rest rather than failing the whole run.

Flatten every post from every network into one row with a fixed column order: brand name, network, publish date, post link, post type, impressions or reach, engagement, engagement rate. Use whichever of impressions or reach that network reports for that post type so the column is always populated, and where Metricool does not return an engagement rate directly, calculate it as engagement divided by impressions or reach.

Append the rows to my tracking spreadsheet with Google Sheets Append Values, one row per post, written after the last existing row. Never overwrite or rewrite rows that are already there. Each week's run just adds to the bottom, so the sheet builds into a rolling archive.

## How to customize

- Change the timing: run it daily, monthly, or on a different day and hour instead of Monday at 6am
- Choose which networks to include, for example Instagram only, or drop Facebook groups if you do not use them
- Adjust the column layout to match a sheet you already keep, such as adding a campaign or owner column

## FAQ

### Do I need a paid Metricool plan for this?

Yes. Metricool includes the data export access this needs on its higher tier plans, currently Advanced and Custom. If you are on a lower plan you will need to upgrade before this can pull your numbers.

### What if a brand only has Instagram connected?

That is fine. Each brand is checked network by network, and anything that is not connected is quietly skipped instead of stopping the run. You will simply get no Facebook rows for that brand.

### Does this work with more than one brand?

Yes. It lists every brand in your Metricool account and pulls each one in turn, and every row carries its brand name so you can filter or pivot the sheet by brand.

### Will it overwrite what is already in my spreadsheet?

No. Rows are only ever added below the last existing row. Nothing already in the sheet is edited or deleted, which is what turns it into a permanent archive over time.

### Can I use this to build charts and reports?

That is the point. Because the data lands as plain rows with a consistent column order, you can build pivot tables, charts and dashboards on top of it without re-exporting anything by hand.

Use this prompt in General Input: https://www.generalinput.com/prompts/weekly-metricool-social-post-archive-in-google-sheets