How to measure your Facebook and Instagram posts' performance

Learn how marketers use Rows to build a report that measures Facebook and Instagram posts' performance, including reach, impressions, clicks, likes and shares

Intro

With almost 2B daily active users, Facebook is the place to be to conduct your Social Media activity. After the acquisition by Facebook, Instagram's active users ramped up to 500M per day, making it the go-to destination for highly visual communication.

If you have a business or a creator account, Facebook and Instagram offer you a quite complete dashboard to monitor your posts’ performances. But whenever you need to compare, consolidate or simply analyze your latest data, chances are, you need to export a .csv and import it on a spreadsheet.

In this short guide, we’ll walk you through everything you need to create a dynamic report that pulls data directly from Facebook into your Rows spreadsheet. Here’s a sneak peek at what you will get:

Facebook post live

Facebook engagement glossary

Before getting started, let's go briefly through some definitions. Facebook offers its members a broad range of analytics to understand how their posts are performing.

  • Impressions are the total number of exposures to your content. This can include the same person seeing your content multiple times.

  • Likes are the total number of like your post has received

  • Clicks are the total number of clicks generated by your post on any external link present in the text, such as mentions or URLs, including profile visis

  • Shares are the total number of times a post is shared, within or outside the LinkedIn platform.

  • Engagement is the sum of all interactions with the post, divided by total impressions.

Get a Facebook posts report

Check this out

To enable the Facebook or Instagram integration in Rows, you must have respectively:

  • a Facebook page
  • an Instagram Business or Creator account, linked to a Facebook Page

See here how to set up a Creator account on Instagram.


First of all, use our template at the following link Facebook post report and save it in one of your workspace's folders.

To deeply understand how it's been built, let's reverse-engineer it together.

First of all, you need to enable the data connection and connect your Facebook Page to Rows. Click on the top modal (or this link) then follow the instructions. The typical Auth page will open: enter your Facebook credentials and authorize Rows to retrieve your data.

Now you are back on the spreadsheet, ready to set it up. In cell B1 of the Setup table, input the name of the account you want to track, for example, Rows. Cell B2 contains a Date range field to input.

Facebook posts setup table

The following table 'Post Insights' is a Data Table. It has been generated by our GET_PAGE_POSTS_FACEBOOK() function, that uses cell B1 and B2 as parameters to retrieve data in the specified date range, and encloses the Facebook posts of your account:

1                  =GET_PAGE_POSTS_FACEBOOK(B1,,B2)

The output table is the following:

Facebook post table

As you may see, column E includes a further data cell. Specifically, we used Rows GET_POST_METRICS_FACEBOOK() to pull post-specific performance details for any post, using the post_id as the only argument:

1=GET_POST_METRICS_FACEBOOK(B2)

We added it through the formula column option, as follow:

formula column option

As a result, column E includes data cells with post-specific information. As all other data cells in Rows, they need to be expanded to be properly read.

To do this, we clicked on the arrow icon in cell E2 and hit Inspect data: a right end side panel will open, showing a structured document in JSON format.

Data cell inspect facebook

Next to each data point, there is a (+) button. We hit it and select cell where you want to store the metric, e.g. F2. The destination cell will be filled a formula similar to the following, that uses our PARSE() function to read and extract specific data points from any JSON document. The first argument is the data cell E2, and the second includes the path to follow to retrieve that specific data point.

1     =PARSE(E2,"['impressionCount']")

Once added the first metric to cell F2, you can proceed with all others, such as clicks, shares, likes, comments, and engagement. Finally drag them to execute for the whole table.

The final result is a comprehensive view of all your Facebook posts with the main metrics.

Get an Instagram posts report

Check this out

To enable the Facebook or Instagram integration in Rows, you must have respectively:

  • a Facebook page
  • an Instagram Business or Creator account, linked to a Facebook Page

See here how to set up a Creator account on Instagram.


First of all, use our template at the following link Instagram post report and save it in one of your workspace's folders.

The logic of this template is pretty much identical to the previous one. Let's reverse-engineer it together.

First of all, you need to enable the data integration and connect your Instagram account to Rows. Click on the top modal (or this link) then follow the instructions. The typical Auth page will open: enter your Instagram credentials and authorize Rows to retrieve your data.

Now you are back on the spreadsheet, ready to set it up. In cell B1 of the Setup table, input the name of the account you want to track, for example, "RowsHq".

Setup table instagram post

The following table 'Post Insights' is a Data Table. It has been generated by our GET_PAGE_POSTS_INSTAGRAM() function, that uses cell B1 and B2 as parameters to retrieve data in the specified date range, and encloses the Facebook posts of your account:

1                  =GET_PAGE_POSTS_INSTAGRAM(B1)

The output table is the following:

Post insight table instagram post

As you may see, column E includes a further data cell. Specifically, we used Rows GET_POST_METRICS_INSTAGRAM() to pull post-specific performance details for any post, using the post_id as the only argument:

1=GET_POST_METRICS_INSTAGRAM(C2)

We added it through the formula column option, as follow:

formula column option

As a result, column E includes data cells with post-specific information. As all other data cells in Rows, they need to be expanded to be properly read.

To do this, we clicked on the arrow icon in cell E2 and hit Inspect data: a right end side panel will open, showing a structured document in JSON format.

Data cell inspect facebook

Next to each data point, there is a (+) button. We hit it and select cell where you want to store the metric, e.g. F2. The destination cell will be filled a formula similar to the following, that uses our PARSE() function to read and extract specific data points from any JSON document. The first argument is the data cell E2, and the second includes the path to follow to retrieve that specific data point.

1     =PARSE(E2,"['impressionCount']")

Once added the first metric to cell F2, you can proceed with all others, such as clicks, shares, likes, comments, and engagement. Finally drag them to execute for the whole table.

The final result is a comprehensive view of all your Instagram posts with the main metrics.

Schedule automation

Whenever you create a Data Table, Rows allows you to switch on the Schedule refresh option to automate data retrievement at a specific time interval.

To check it in the Post tables, click on the ... menu and toggle it on from the right end panel, as follows

Schedule refresh toggle

This way, the integration will check if there are new new posts at the chosen time interval, e.g. "Every day 08:00".

To make also the GET_POST_METRICS_FACEBOOK in column E fetch updated metrics over time, we need to employ our proprietary SCHEDULE() function.

To do so, add SCHEDULE() function to cell B2 of the Setup table: use the entire column 'Post insights'!E:E as the first argument and pick a refresh schedule as a second one, i.e. "Every day 08:00".

1    =SCHEDULE('Post insights'!E:E,"Every day 08:00")

In so doing, Rows will refresh the data for each post, too.

You might also like

Check also

Social media management is your bread and butter? Please check also:

Discover our Marketing playbook.