Blog

Social Media ROI Aggregator Automation Recipe

05 April 2025

Automatically pull Instagram, Twitter, LinkedIn, and YouTube performance metrics into Airtable with a no-code Make.com scenario.

Who This Is For

Solo entrepreneurs, indie hackers, and micro-SaaS founders juggling multiple social platforms and trying to measure content ROI without drowning in spreadsheets or manual dashboards.

Outcome

You’ll get a fully importable Make.com automation scenario that:

  • Pulls performance metrics from Instagram, Twitter/X, LinkedIn, and YouTube
  • Aggregates them into a unified view in Airtable
  • Updates daily (or on-demand) so you can track what content drives engagement and traffic

No coding required. Just import, connect your accounts, and watch your metrics roll in.

This recipe complements our AI Content ROI Calculator and Content Repurposing ROI Calculator, giving you the raw data to plug into those tools and optimize your content strategy.

How It Works

Trigger: Manual or scheduled run (daily recommended)

Steps:

  1. Fetch Instagram post metrics (likes, comments, reach)
  2. Fetch Twitter/X post metrics (likes, retweets, impressions)
  3. Fetch LinkedIn post metrics (reactions, comments, clicks)
  4. Fetch YouTube video metrics (views, likes, watch time)
  5. Normalize metrics into a shared schema
  6. Write/update records in Airtable

Outcome: A single Airtable base with all your social media performance, sortable by platform, date, or engagement rate.

Implementation Guide

Prerequisites

  • A Make.com account
  • Connected Instagram, Twitter/X, LinkedIn, and YouTube accounts in Make
  • An Airtable base with a table matching the schema below

Airtable Table Schema

Create a table with these fields:

  • Platform (Single select: Instagram, Twitter, LinkedIn, YouTube)
  • Post ID (Text)
  • Post URL (URL)
  • Caption (Text)
  • Published At (Date)
  • Likes (Number)
  • Comments (Number)
  • Shares (Number)
  • Impressions (Number)
  • Clicks (Number)
  • Views (Number)
  • Watch Time (sec) (Number)
  • Engagement Rate (Percent)

Import & Setup Steps

  1. Download the JSON recipe (see below)
  2. Go to Make.com > Scenarios > Create a new scenario
  3. Click “Import from JSON” and upload the file
  4. Connect each module to your respective social media accounts
  5. Map each data field to the matching Airtable column
  6. Run manually or schedule daily

JSON Recipe

{
  "scenario": {
    "name": "Social Media ROI Aggregator",
    "modules": [
      {
        "id": 1,
        "type": "trigger.manual",
        "label": "Manual Trigger"
      },
      {
        "id": 2,
        "type": "instagram.get_media_list",
        "label": "Get Instagram Posts",
        "connection": "Instagram Connection",
        "parameters": {
          "limit": 10
        }
      },
      {
        "id": 3,
        "type": "twitter.get_tweets",
        "label": "Get Twitter Posts",
        "connection": "Twitter Connection",
        "parameters": {
          "count": 10
        }
      },
      {
        "id": 4,
        "type": "linkedin.get_posts",
        "label": "Get LinkedIn Posts",
        "connection": "LinkedIn Connection",
        "parameters": {
          "limit": 10
        }
      },
      {
        "id": 5,
        "type": "youtube.get_videos",
        "label": "Get YouTube Videos",
        "connection": "YouTube Connection",
        "parameters": {
          "max_results": 10
        }
      },
      {
        "id": 6,
        "type": "core.transform",
        "label": "Normalize Instagram Data",
        "mapper": {
          "Platform": "Instagram",
          "Post ID": "{{id}}",
          "Post URL": "https://instagram.com/p/{{shortcode}}",
          "Caption": "{{caption}}",
          "Published At": "{{timestamp}}",
          "Likes": "{{like_count}}",
          "Comments": "{{comment_count}}",
          "Impressions": "{{impressions}}",
          "Engagement Rate": "{{engagement_rate}}"
        }
      },
      {
        "id": 7,
        "type": "core.transform",
        "label": "Normalize Twitter Data",
        "mapper": {
          "Platform": "Twitter",
          "Post ID": "{{id}}",
          "Post URL": "https://twitter.com/user/status/{{id}}",
          "Caption": "{{text}}",
          "Published At": "{{created_at}}",
          "Likes": "{{favorite_count}}",
          "Comments": "{{reply_count}}",
          "Shares": "{{retweet_count}}",
          "Impressions": "{{impression_count}}",
          "Engagement Rate": "{{engagement_rate}}"
        }
      },
      {
        "id": 8,
        "type": "core.transform",
        "label": "Normalize LinkedIn Data",
        "mapper": {
          "Platform": "LinkedIn",
          "Post ID": "{{id}}",
          "Post URL": "{{permalink}}",
          "Caption": "{{text}}",
          "Published At": "{{created_time}}",
          "Likes": "{{likes}}",
          "Comments": "{{comments}}",
          "Shares": "{{shares}}",
          "Clicks": "{{clicks}}",
          "Engagement Rate": "{{engagement_rate}}"
        }
      },
      {
        "id": 9,
        "type": "core.transform",
        "label": "Normalize YouTube Data",
        "mapper": {
          "Platform": "YouTube",
          "Post ID": "{{id}}",
          "Post URL": "https://youtube.com/watch?v={{id}}",
          "Caption": "{{title}}",
          "Published At": "{{published_at}}",
          "Views": "{{view_count}}",
          "Likes": "{{like_count}}",
          "Comments": "{{comment_count}}",
          "Watch Time (sec)": "{{watch_time}}",
          "Engagement Rate": "{{engagement_rate}}"
        }
      },
      {
        "id": 10,
        "type": "airtable.create_record",
        "label": "Create Airtable Records",
        "connection": "Airtable Connection",
        "parameters": {
          "base_id": "appXXXXXXXXXXXXXX",
          "table_id": "Social Metrics",
          "records": [
            "{{6.output}}",
            "{{7.output}}",
            "{{8.output}}",
            "{{9.output}}"
          ]
        }
      }
    ],
    "edges": [
      {"source": 1, "target": 2},
      {"source": 1, "target": 3},
      {"source": 1, "target": 4},
      {"source": 1, "target": 5},
      {"source": 2, "target": 6},
      {"source": 3, "target": 7},
      {"source": 4, "target": 8},
      {"source": 5, "target": 9},
      {"source": 6, "target": 10},
      {"source": 7, "target": 10},
      {"source": 8, "target": 10},
      {"source": 9, "target": 10}
    ]
  }
}

Troubleshooting FAQ

Q: I get an error connecting to Instagram?

A: Instagram’s API is restrictive. Ensure your Make connection uses a business or creator account with valid permissions.

Q: My engagement rate isn’t showing?

A: Engagement rate must be calculated manually or via a helper module. Add a formula in Airtable or a Make function to compute: (Likes + Comments + Shares) / Impressions.

Q: YouTube videos aren’t syncing?

A: Make sure your YouTube connection is using a channel with uploaded content. Private videos won’t sync.

Q: How do I schedule this?

A: In Make, click the ⚙️ icon on the trigger module and set a recurrence (e.g., daily at 9am).

Next Step

Want to turn these metrics into actionable insights? Try our AI Content ROI Calculator or Content Repurposing ROI Calculator to quantify what content is worth your time.

If you're reselling AI prompt packs or digital tools, use this data to validate what content drives affiliate clicks — then automate lead capture with our AI Prompt Pack Resale Calculator.

Download this automation recipe and start tracking your content ROI in minutes.

← Back to blog