Measuring your LinkedIn posts performance

Learn how to build a report to mesure your LinkedIn posts' performance


With almost 830 million users worldwide in over 200 countries, LinkedIn is by far the largest professional networking website around the globe. No surprise that businesses, since its inception, considered it among the go-to destinations to establish their presence online and create a meaningful conversation with their target.

In this short guide, we’ll walk you through everything you need to build a report to track the performance of your LinkedIn posts, that pulls data directly from LinkedIn into your Rows spreadsheet.

Here’s a sneak peek at what you will get:

Screenshot 2022-09-05 at 16.15.02

LinkedIn engagement glossary

Before getting started, let's go briefly through some definitions. LinkedIn 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.

Let's go

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

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

First of all, you need to enable Rows data integration and connect your LinkedIn Page to Rows. Click on the top modal (or this link) then follow the instructions. The typical LinkedIn Auth page will open: enter your LinkedIn 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.

Screenshot 2022-09-05 at 20.29.28

B2 is a data cell. In Rows, a data cell stores more than a string or a number, the typical content of standard spreadsheets' cells. In this case, it has been generated by our GET_PAGE_POSTS_LINKEDIN() function, that uses cell B1 as unique parameter to retrieve data, and encloses the LinkedIn posts of your account:

1                  =GET_PAGE_POSTS_LINKEDIN(B1)

To turn this data cell into a readable table, we clicked on the ... icon to the right of cell B1 and hit Create a table. The wizard will open on the right-hand side.

Screenshot 2022-09-05 at 21.52.41

Here we chose the following table headers, i.e. the metrics you want to display in the table columns: text, post_id, created_time, media_category, post_url. The post_id will then be used as the argument to retrieve further details about the post.

The output table is the following:

Screenshot 2022-09-05 at 21.51.25

As you may see, column F includes a further data cell. Specifically, we used Rows GET_POST_INSIGHTS_LINKEDIN() to pull performance details for any post, using the post_id as the single argument.

We trigger it through AUTOFILL(), a proprietary Rows function that must be always placed in the column header and include the following mandatory arguments: the column title in quotation marks and the formula to be filled in the column itself - in this case, the GET_POST_INSIGHTS_LINKEDIN().

1     =AUTOFILL("Post insights data",GET_POST_INSIGHT_LINKEDIN(B2)

As a result, column F 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 ... icon in cell F2 and hit View data: a right end side panel will open, showing a structured document (in JSON format).

Screenshot 2022-09-05 at 20.30.23

Next to each data point, there is a COPY button. We hit it and paste the content in cell G2: you will obtain 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 H2, and the second includes the path to follow to retrieve that specific data point.

1     =AUTOFILL("Impressions",PARSE(G2,"['impressionCount']")

To automate the data retrievement for all posts, without having to drag down the formula, we enclosed it in the AUTOFILL() and did the same for all the following metrics: impressions, clicks, shares, likes, comments, and engagement. The final result is a comprehensive view of all your LinkedIn posts with the main metrics.

Schedule automation

Instead of coming back to the spreadsheet and triggering the function manually, you can also use Rows proprietary SCHEDULE() function to fetch posts automatically based on your target frequency, i.e. weekly.

Add SCHEDULE() function to cell B3 of the Setup table: use B2 - our GET_PAGE_POSTS_LINKEDIN() - as the first argument and pick a refresh schedule as a second, i.e. "every monday 08:00". Rows will update the fetching for you at the defined schedule and populate the 'Post insights' table:

1                    =SCHEDULE(B2,"every monday 08:00")

You might also like