Skip to main content
Connectors

Metricool connector

Set up the Metricool connector in Kaivo: authentication, configuration, the 21 BigQuery tables it syncs, and answers to common questions.

Written By Lauri Raivio

Last updated 15 days ago

Kaivo is a fully managed data platform that syncs your Metricool data into a Google BigQuery warehouse and keeps it up to date automatically. There is no pipeline to build and no infrastructure to run, so you can spend your time analysing your marketing and sales data instead of moving it.

What is the Metricool connector

Sync your Metricool social media data into BigQuery with Kaivo to analyse posts and performance across networks.

CategoryMarketing & Sales
AuthenticationAPI key
SetupSelf-service

Getting started with the Metricool connector

  1. Sign up for Kaivo and create a workspace.
  2. Connect your Metricool account.
  3. Choose which tables to sync.
  4. Wait for the initial sync to finish.
  5. Query your data in BigQuery or your favourite AI or BI tool.

Authenticating Metricool

Authenticate with your User Token.

FieldDescription
User Token

User token to authenticate API requests. Find it in Account Settings → API section of your Metricool account.

Configuring the Metricool connector

When you set up the connector, you provide:

FieldDescription
User ID

Your Metricool account ID.

Blog IDs

IDs of the brands (social media profiles) you want to sync from Metricool.

Start Date

Any data before this date will not be fetched.

Tables and columns synced from Metricool

Kaivo syncs 21 tables from Metricool into a dedicated dataset in your BigQuery warehouse. Click any table to see its columns and types.

ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
descriptionSTRING
deletedBOOL
engagement_ratioFLOAT64
facebookSTRING
facebook_adsSTRING
facebook_page_idSTRING
fb_business_idSTRING
first_connection_dateFLOAT64
hashSTRING
idFLOAT64
instagramSTRING
is_sharedBOOL
join_dateFLOAT64
labelSTRING
linkedin_companySTRING
owner_user_idFLOAT64
owner_usernameSTRING
pictureSTRING
pinterestSTRING
roleSTRING
tiktokSTRING
tiktokadsSTRING
timezoneSTRING
user_idFLOAT64
youtubeSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
display_nameSTRING
favoriteBOOL
idFLOAT64
is_demoBOOL
pictureSTRING
providerSTRING
provider_idSTRING
screen_nameSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
typeSTRING
blog_idFLOAT64
clicksFLOAT64
commentsFLOAT64
createdFLOAT64
engagementFLOAT64
impressionsFLOAT64
impressions_organicFLOAT64
impressions_paidFLOAT64
impressions_uniqueFLOAT64
impressions_unique_organicFLOAT64
impressions_unique_paidFLOAT64
linkSTRING
linkclicksFLOAT64
page_idSTRING
pictureSTRING
post_idSTRING
reactionsFLOAT64
sharesFLOAT64
spendFLOAT64
textSTRING
timestampFLOAT64
video_time_watchedFLOAT64
video_viewsFLOAT64
video_views_organicFLOAT64
video_views_paidFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
blog_idFLOAT64
datetimeSTRING
metricSTRING
valueFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
descriptionSTRING
blog_idFLOAT64
blue_reels_play_countFLOAT64
created__date_timeSTRING
created__timezoneSTRING
engagementFLOAT64
lengthFLOAT64
page_idSTRING
post_impressions_uniqueFLOAT64
post_video_avg_time_watched_secondsFLOAT64
post_video_reactionsFLOAT64
post_video_social_actionsFLOAT64
post_video_view_time_secondsFLOAT64
reel_idSTRING
reel_urlSTRING
thumbnail_urlSTRING
video_urlSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
blog_idFLOAT64
datetimeSTRING
metricSTRING
valueFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
blog_idFLOAT64
created__date_timeSTRING
created__timezoneSTRING
media_idSTRING
media_typeSTRING
page_idSTRING
story_idSTRING
story_urlSTRING
thumbnail_urlSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
blog_idFLOAT64
datetimeSTRING
metricSTRING
valueFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
commentsFLOAT64
costFLOAT64
cost_per_interactionFLOAT64
display_nameSTRING
engagementFLOAT64
favoriteBOOL
followersFLOAT64
idFLOAT64
is_demoBOOL
likesFLOAT64
pictureSTRING
postsFLOAT64
providerSTRING
provider_idSTRING
reelsFLOAT64
screen_nameSTRING
updatedFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
typeSTRING
blog_idFLOAT64
business_idSTRING
clicksFLOAT64
commentsFLOAT64
contentSTRING
createdSTRING
engagementFLOAT64
filterSTRING
image_urlSTRING
impressionsFLOAT64
impressions_totalFLOAT64
interactionsFLOAT64
likesFLOAT64
post_idSTRING
reachFLOAT64
savedFLOAT64
sharesFLOAT64
timestampFLOAT64
urlSTRING
user_idSTRING
video_views_totalFLOAT64
viewsFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
blog_idFLOAT64
datetimeSTRING
metricSTRING
valueFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
typeSTRING
blog_idFLOAT64
business_idSTRING
clicksFLOAT64
commentsFLOAT64
contentSTRING
createdSTRING
engagementFLOAT64
filterSTRING
image_urlSTRING
impressionsFLOAT64
impressions_paidFLOAT64
impressions_totalFLOAT64
interactionsFLOAT64
likesFLOAT64
post_clicks_paidFLOAT64
post_interactions_paidFLOAT64
reachFLOAT64
reach_paidFLOAT64
reel_idSTRING
savedFLOAT64
sharesFLOAT64
spendFLOAT64
timestampFLOAT64
urlSTRING
user_idSTRING
video_viewsFLOAT64
video_views_paidFLOAT64
video_views_totalFLOAT64
viewsFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
blog_idFLOAT64
datetimeSTRING
metricSTRING
valueFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
typeSTRING
blog_idFLOAT64
business_idSTRING
contentSTRING
exitsFLOAT64
impressionsFLOAT64
media_urlSTRING
ownerSTRING
permalinkSTRING
post_idSTRING
reachFLOAT64
repliesFLOAT64
taps_backFLOAT64
taps_forwardFLOAT64
thumbnail_urlSTRING
timestampFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
blog_idFLOAT64
datetimeSTRING
metricSTRING
valueFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
typeSTRING
blog_idFLOAT64
clicksFLOAT64
commentSTRING
commentsFLOAT64
company_idSTRING
createdFLOAT64
created_timestampFLOAT64
engagementFLOAT64
impressionsFLOAT64
likesFLOAT64
pictureSTRING
post_idSTRING
sharesFLOAT64
urlSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
blog_idFLOAT64
datetimeSTRING
metricSTRING
valueFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
typeSTRING
average_time_watchedFLOAT64
blog_idFLOAT64
comment_countFLOAT64
cover_image_urlSTRING
create_timeSTRING
durationFLOAT64
embed_linkSTRING
engagementFLOAT64
full_video_watched_rateFLOAT64
heightFLOAT64
impression_sources__followFLOAT64
impression_sources__for_youFLOAT64
impression_sources__personal_profileFLOAT64
impression_sources__searchFLOAT64
impression_sources__soundFLOAT64
like_countFLOAT64
open_idSTRING
reachFLOAT64
share_countFLOAT64
share_urlSTRING
titleSTRING
total_time_watchedFLOAT64
video_descriptionSTRING
video_idSTRING
view_countFLOAT64
widthFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
blog_idFLOAT64
datetimeSTRING
metricSTRING
valueFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
blog_idFLOAT64
createdFLOAT64
created_atFLOAT64
favorite_countFLOAT64
favoritesFLOAT64
has_mediaBOOL
has_photoBOOL
has_tagsBOOL
has_urlsBOOL
has_videoBOOL
idFLOAT64
id_strSTRING
is_retweetBOOL
langSTRING
link_clicksFLOAT64
metrics_v2__organic_impressionsFLOAT64
metrics_v2__organic_likesFLOAT64
metrics_v2__organic_repliesFLOAT64
metrics_v2__promoted_impressionsFLOAT64
metrics_v2__promoted_likesFLOAT64
metrics_v2__promoted_repliesFLOAT64
metrics_v2__total_engagementFLOAT64
metrics_v2__total_impressionsFLOAT64
metrics_v2__total_likesFLOAT64
metrics_v2__total_repliesFLOAT64
promotedBOOL
retweetBOOL
retweet_countFLOAT64
retweetsFLOAT64
textSTRING
tweet_idSTRING
updated_atFLOAT64
user_idFLOAT64
user_nameSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
average_view_durationFLOAT64
blog_idFLOAT64
commentsFLOAT64
dislikesFLOAT64
has_revenue_dataBOOL
likesFLOAT64
published_at__date_timeSTRING
published_at__timezoneSTRING
sharesFLOAT64
thumbnail_urlSTRING
titleSTRING
video_idSTRING
viewsFLOAT64
watch_minutesFLOAT64
watch_urlSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

How the Metricool sync works

After the first load, Kaivo keeps your BigQuery warehouse up to date for you. Where Metricool supports it, each sync pulls only new and changed records so it stays fast; otherwise it refreshes the whole table. Every record keeps its original ID, so you won't get duplicate rows.

Frequently asked questions

How long does the initial sync take for Metricool?

It depends on how much history is in your Metricool account. Most initial syncs finish within minutes, while large accounts can take a few hours. After that, syncs only fetch new and changed records, so they're much faster.

Can I sync only some tables or columns?

Yes. You pick which tables to sync when you set up the connection and can change the selection later. Tables you don't select are never copied to your warehouse.

What happens when Metricool's schema changes?

New fields are never added automatically. You choose which fields to sync, so data you haven't selected (sensitive personal data, for example) never lands in your warehouse. When a new field appears, it becomes available for you to add. What happens to removed or renamed fields depends on a table's sync mode: full-refresh tables always match what's currently in Metricool, so dropped fields disappear, while incremental tables keep their existing columns and history, so an old field stays and newly added fields fill in over time.

How do I handle GDPR or data deletion requests?

Your data lives in your own Kaivo-managed BigQuery warehouse, so the most direct option is to delete or anonymise specific records right in BigQuery. If you delete data in Metricool instead, full-refresh tables drop it on the next sync, while incremental tables keep it, so you would remove the row in BigQuery or ask us to run a full refresh. To remove everything, delete the Metricool connector in Kaivo and all of its synced data is deleted with it.

Common use cases for Metricool data

Cross-network reporting

Use the posts and timelines tables to compare performance across Facebook, Instagram, and more.

Content performance

Join posts and reels with their timelines to see what content performs best over time.

Competitor view

Use the competitors tables to benchmark your performance against others.

Use Metricool data in your AI and BI tools

Once Metricool data lands in your Kaivo-managed BigQuery warehouse, you can explore it with AI tools or any BI tool that connects to BigQuery. Here's how the most common destinations work with Metricool data.

Claude

Use Kaivo's MCP server to give Claude secure, workspace-scoped access to your data. Setup guide →

Power BI

Microsoft's BI tool with a native BigQuery connector. Supports direct query and scheduled refresh. Setup guide →

Data Studio

Free Google BI tool with native BigQuery support. One-click connection to your Kaivo warehouse; great for SMB teams on Google Workspace. Setup guide →

Tableau

The premium analytics standard, with native BigQuery integration. Setup guide →

Google Sheets

Use Connected Sheets to query BigQuery directly from a spreadsheet, with no SQL. Setup guide →

Excel

Connect via Power Query's BigQuery connector. Setup guide →

Metabase

Open-source BI tool with strong BigQuery support. Setup guide →

See our pricing page for Metricool connector pricing and plan details.

Was this helpful?

Still need help? Share an idea