Social Media Engagement

With this flow, you can obtain aggregated engagement data from different social networks. The output is two tables—the first is table pages_engagement containing daily metrics for each social media platform and the second is posts_engagement containing all posts from selected social media.

The flow, in a nutshell:

  • First, the Social Media Engagement source components will collect data from your selected social networks. Currently, these networks are available:

    • Facebook
    • Instagram
    • YouTube
    • LinkedIn
    • Twitter – has announced the end of the free API
  • We then add NULL values if any columns are missing, convert dates to a standard format, and add information about the source’s social network to the source column.

  • Finally, the combined data will be exported to the destination tables.

Output Tables

You will obtain the following two tables:

Output Tables

Output Table: pages_engagement

This table contains daily overall engagement metrics for the whole page from selected social media. The primary keys are: date and social network.

metric Facebook Instagram LinkedIn Twitter YouTube
page_followers ✓ ✓ ✓ ✓ ✗
page_posts_impressions ✓ ✓ ✓ ✗ ✗
page_views_total ✓ ✓ ✓ ✗ ✗

Output Table: posts_engagement

This table contains engagement data for all posts from selected social media. The primary key is a UID composed of a date, source social media and the ID of a post within the social media platform.

metric Facebook Instagram LinkedIn Twitter YouTube
likes ✓ ✓ ✓ ✓ ✓
comments ✗ ✓ ✗ ✗ ✓
shares ✓ ✗ ✗ ✓ ✗
views ✗ ✗ ✗ ✗ ✓
all_reactions likes
shares
likes
comments
likes likes
shares
likes
comments
favourites

Availability of Historical Data

Each social network allows access to the history of page engagement differently:

  • Facebook – maximum 93 days ago
  • Instagram – maximum 30 days ago
  • LinkedIn – without known limit
  • Twitter – since the first run of a component
  • YouTube – currently not available in this template

Data Sources

These data sources are available in Public Beta:

Data Destinations

These data destinations are available (click the links for detailed documentation):

How to Use Template

The process is simple. We will guide you through it, and, when needed, ask you to provide your credentials and authorize the destination component.

First decide which data source and which data destination you want to use. Then select the corresponding template from the Templates tab in your Keboola project. When you are done, click + Use Template.

Add New Template

This page contains information about the template. Click + Use Template again.

Add Social Media Engagement

You’ll be asked to write a name for the template instance you are about to create. You can use the template as many times as you want and still keep everything organized.

Add Social Media Engagement - Template Name

After clicking Next Step, you will see the template builder. Fill in all needed credentials and perform the required OAuth authorizations.

Important: Make sure to follow all the steps very carefully to prevent the newly created flow from failing because of any user authorization problems. If you are struggling with this part, go to the section Authorizing Data Destinations below.

Follow the steps one by one and authorize at least one data source from the list. Finally, the destination must be authorized as well.

Social Media Engagement - Steps

When you are finished, click Save in the top right corner. The template builder will create your new configuration, and when it is done, you will see the newly created flow.

Click Run Template and start building your visualizations a few minutes later.

Social Media Engagement - Flows

Authorizing Data Sources

To use a selected data source component, you must first authorize the data source. You need to use at least one of the following socia-media-engagement data sources.

Facebook Pages

For the Facebook Page component, log in with Facebook and choose the page from which you want to get data. You can set the period from which you want to obtain data, or keep the default 30 days. Continue by saving the configuration.

Facebook Pages Data Source

Instagram Page

To access the data from Instagram, you must have an Instagram Business Account connected to the Facebook page used for authorization. You can set the period for which you want to obtain data, or keep the default 30 days. Continue by saving the configuration.

Instagram Page Data Source

LinkedIn Page

For the LinkedIn Page source component, authorize access with your account and select the page from which you would like to extract data. You can set the period from which you want to extract data, or keep the default 30 days. Continue by saving the configuration.

LinkedIn Pages Data Source

Twitter Page

To access your data from Twitter, authorize the account and fill in the user name.

Twitter Page Data Source

YouTube Channel

To access data from your YouTube Channel, authorize access via Open Authentication and save the configuration.

YouTube Channel Data Source

Authorizing Data Destinations

To create a working flow, you must select at least one data destination.

BigQuery Database

BigQuery Destination

To configure the destination component, you need to set up a Google Service Account and create a new JSON key.

A detailed guide is available here.

Google Sheets

Google Sheets Destination

Authorize your Google account.

Duplicate the sheet into your Google Drive and paste the file ID back to Keboola. It is needed for correct mapping in your duplicated Google sheet.

Snowflake Database Provided by Keboola

If you do not have your own data warehouse, follow the instructions and we will create a database for you:

  1. After clicking Save, the template will be used in your project. You will see a flow.
  2. Go there and click on Snowflake Data Destination to configure it. You will be redirected to the data destination configuration and asked to set up credentials.
  3. Select Keboola Snowflake database.
  4. Then go back to the flow and click Run.

DWH Provided by Keboola DWH Provided by Keboola DWH Provided by Keboola DWH Provided by Keboola

Everything is set up.

Snowflake Database

If you want to use your own Snowflake database, you must provide the host name (account name), user name, password, database name, schema, and a warehouse.

Snowflake Destination

We highly recommend that you create a dedicated user for the destination component in your Snowflake database. Then you must provide the user with access to the Snowflake Warehouse.

Warning: Keep in mind that Snowflake is case sensitive and if identifiers are not quoted, they are converted to upper case. So if you run, for example, a query CREATE SCHEMA john.doe;, you must enter the schema name as DOE in the destination component configuration.

More info here.

MySQL Database

You need to provide a host name, user name, password, and a database name (MySQL schema).

We highly recommend that you create dedicated credentials for the writer in your database.

More info here.

MySQL Destination

PostgreSQL Database

You need to provide a host name, driver, port number, user name, password, database name, and a schema.

We highly recommend that you create dedicated credentials for the writer in your database.

More info here.

PostgreSQL Destination

Most Common Errors

Before turning to the Keboola support team for help, make sure your error is not a common problem that can be solved without our help.

Missing Credentials to Snowflake Database

If you see the error pictured below, you have probably forgotten to set up the Snowflake database.

Click on the text under Configuration in the top left corner. This will redirect you to the Snowflake Database component. Now follow the Snowflake Database provided by Keboola on the page Authorizations/destinations.

Then go to the Flows tab and Run the flow again.

Job - Snowflake