Analytics9 min readApr 3, 2026

Multi-Platform Social Media Analytics — Track Performance Across 12 Platforms

You post to TikTok, Instagram, YouTube, LinkedIn, Threads, Facebook, X, Bluesky, and Pinterest. That means 9 different analytics dashboards, 9 different metric definitions, and zero cross-platform comparison. Here is how to unify all of that into one view and one API.

The problem with platform-native analytics

Every social media platform has its own analytics dashboard. Instagram calls them "Insights," YouTube has "Studio Analytics," TikTok shows "Creator Tools," and LinkedIn has a completely separate "Analytics" tab that only shows data for the last 365 days. None of these dashboards talk to each other.

The friction compounds fast. You want to know which platform drove the most engagement for your video last Tuesday. That means opening TikTok Analytics (engagement = likes + comments + shares), Instagram Insights (engagement = likes + comments + saves + shares), YouTube Studio (engagement = likes + comments + subscriber change), and LinkedIn Analytics (engagement = reactions + comments + reposts). Four platforms, four definitions of "engagement," four separate date pickers.

12 platforms = 10 separate login sessions

Each uses different metric names and formulas

No way to compare side-by-side natively

Export = manual CSV download from each one

For agencies managing 10+ client accounts, multiply that by the number of brands. The monthly reporting cycle becomes a multi-day spreadsheet exercise. And by the time you compile the data, it is already stale.

Dashboard mockup: unified analytics

CodivUpload normalizes metrics from all 12 platforms into a single dashboard. Engagement rate, reach, and posting frequency are calculated using a consistent formula so you can compare TikTok performance against LinkedIn without mental gymnastics.

Unified Analytics — This Week
0%
Engagement Rate0%

4.2% across all platforms

Total Reach0%

48,200 unique viewers

Posts This Week0%

12 posts published

Per-Platform Breakdown

TikTok

12,400

Instagram

8,530

YouTube

2,140

LinkedIn

5,870

Facebook

4,210

Threads

3,640

X (Twitter)

6,920

Bluesky

2,380

Pinterest

2,110

Week of Mar 24 - 30 — 48,200 total reach

Updated 4 min ago

The outer ring shows engagement rate (green), the middle ring shows reach progress toward your weekly target (blue), and the inner ring tracks posts published this week (gray). Below, each platform's view count is broken down individually.

Key metrics that matter

Not all metrics deserve equal attention. Vanity numbers like raw follower count look impressive in screenshots but tell you nothing about content performance. These five metrics actually drive decisions:

MetricWhat It MeasuresGood Benchmark
Engagement Rate(likes + comments + shares) / reach3 - 6%
ReachUnique viewers who saw your contentConsistent growth trend
ImpressionsTotal number of views (includes repeats)2 - 3x reach
Click-through RateClicks / impressions1 - 3%
Best Performing PlatformHighest engagement for your content typeVaries by niche

CodivUpload calculates engagement rate using (likes + comments + shares) / reach across all platforms, giving you a normalized number you can compare across TikTok, Instagram, LinkedIn, and every other connected account.

Analytics via API

The dashboard is useful for quick checks, but the real power is in the API. Every post published through CodivUpload carries structured performance data that you can pull programmatically. No screen-scraping, no CSV exports, no third-party connectors.

GET /v1/posts — Fetch post analytics
import CodivUpload from "@codivupload/sdk";

const codiv = new CodivUpload({ apiKey: process.env.CODIV_API_KEY });

// Pull all completed posts with their platform-level metrics
const { data: posts } = await codiv.posts.list({
  status: "completed",
  limit: 50,
});

// Each post includes platform_statuses with per-platform data
for (const post of posts) {
  console.log(post.title, post.created_at);

  for (const status of post.platform_statuses) {
    console.log(
      `  ${status.platform}: ${status.views} views, `
      + `${status.likes} likes, ${status.comments} comments`
    );
  }
}

The response includes the normalized engagement rate, raw view count, likes, comments, and shares for each platform the post was published to. If a post went to TikTok, Instagram, and LinkedIn, you get three platform_statuses entries, each with the corresponding metrics.

Rate limit: The analytics endpoint supports 100 requests per minute per API key. For bulk data pulls (e.g., syncing the last 30 days into a data warehouse), use the cursor pagination parameter to page through results efficiently.

Building custom dashboards

The API makes it straightforward to build internal reporting tools, white-label client dashboards, or automated email reports. Here is a typical flow:

1

Pull data from the API

Use the /v1/posts endpoint with date range filters. Request completed posts from the last 7 or 30 days. Each response includes per-platform metrics.

2

Aggregate by platform and time period

Group the data by platform. Sum views, average engagement rates, count posts. This gives you the raw numbers for charts and tables.

3

Render charts in your frontend

Use any charting library (Recharts, Chart.js, D3) to visualize the aggregated data. Bar charts for platform comparison, line charts for trends over time.

4

Automate delivery

Set up a cron job or scheduled function that pulls fresh data every Monday morning, renders a summary, and emails it to your team or clients as a PDF or HTML report.

weekly-report.ts — Aggregate and email
// Example: weekly analytics summary
const posts = await codiv.posts.list({
  status: "completed",
  created_after: "2026-03-24T00:00:00Z",
  created_before: "2026-03-31T00:00:00Z",
  limit: 200,
});

const byPlatform: Record<string, {
  views: number; likes: number; posts: number
}> = {};

for (const post of posts.data) {
  for (const s of post.platform_statuses) {
    if (!byPlatform[s.platform]) {
      byPlatform[s.platform] = { views: 0, likes: 0, posts: 0 };
    }
    byPlatform[s.platform].views += s.views;
    byPlatform[s.platform].likes += s.likes;
    byPlatform[s.platform].posts += 1;
  }
}

// byPlatform now has aggregated data ready for charts
// → { tiktok: { views: 124000, likes: 8400, posts: 12 }, ... }

This pattern works whether you are building a React dashboard with Recharts, a Next.js server component that renders static HTML for email, or a Python script that dumps data into BigQuery. The API returns JSON — what you do with it is up to you.

Cross-platform insights

Individual platform analytics tell you how a post performed on that platform. Cross-platform analytics tell you something more valuable: how your content strategy performs across your entire distribution network. When you can see all 12 platforms in one view, patterns emerge that are invisible when you look at each platform in isolation.

Which platform drives the most engagement for YOUR content

A fitness creator might assume TikTok is their best channel because it has the most followers. But when they check cross-platform engagement rate, they discover Threads has 5.3% engagement vs TikTok's 2.1%. The audience on Threads is smaller but significantly more active. That changes the content priority.

Optimal content type per platform

Video posts might dominate on TikTok and YouTube, but carousel images outperform video on LinkedIn by 2x in engagement rate. Text-only posts on X get 40% more impressions than image posts. These content-type correlations only surface when you compare the same content across platforms.

Posting time correlation with engagement

Your Instagram audience peaks at 7pm EST, but your LinkedIn audience is most active at 8am EST. A post scheduled at noon catches neither at their peak. Cross-platform time analysis lets you stagger publish times per platform rather than blasting the same timestamp everywhere.

These insights are the reason analytics tools exist. Raw numbers from one platform are table stakes. The cross-platform comparison is where you find the decisions that actually move the needle: which platforms to double down on, which content formats to retire, and where your audience actually lives.

Dashboard mockup: per-post performance

Beyond the aggregate view, CodivUpload shows per-post performance broken down by platform. Here is what a single cross-posted video looks like in the post detail view:

5 productivity hacks that actually work in 2026

Published Mar 28, 2026 at 10:30 AM EST

Completed3 platforms
TikTok

45,200

views

3,400

likes

182

comments

Instagram

12,800

views

1,200

likes

94

comments

YouTube

2,100

views

89

likes

12

comments

Total — 60,100 views, 4,689 likes, 288 comments

Each platform row shows views, likes, and comments for that specific post. The totals at the bottom aggregate across all platforms, giving you the true reach of a single piece of content across your distribution network.

Why API-first analytics beats scraping

Some analytics tools work by scraping platform dashboards or requiring you to export CSVs manually. This approach has three fundamental problems that get worse over time.

First, scraping breaks every time a platform updates its UI. TikTok changed their analytics page layout three times in 2025 alone. Each change breaks the scraper, your data pipeline goes stale, and you do not realize it until someone asks why last week's report is empty.

Second, CSV exports are point-in-time snapshots. You get the data as of the moment you clicked "Export." If a post goes viral two days later, your report does not reflect it. You would need to re-export and re-process everything.

Third, scraping violates most platforms' terms of service. One ban and you lose access to the data entirely.

CodivUpload tracks analytics at the post level through official platform APIs. When you publish a post through CodivUpload, the system records the platform response (post ID, URL, initial metrics) and can refresh metrics on subsequent API calls. The data flows through authenticated, rate-limited, ToS-compliant channels. It does not depend on HTML layout or button positions — it depends on structured API contracts that platforms maintain for backward compatibility.

Getting started with unified analytics

Connect your platforms, publish one post, see every metric in one place

CodivUpload supports TikTok, Instagram, YouTube, LinkedIn, Threads, Facebook, X (Twitter), Bluesky, and Pinterest. Connect your accounts through OAuth, publish a post to multiple platforms, and the analytics dashboard populates automatically. For programmatic access, generate an API key in Settings and use the SDK or raw HTTP requests.

12 platform analyticsUnified engagement rateAPI + SDK accessPer-post breakdownCSV export

Related resources

Explore more about cross-platform publishing, scheduling best practices, and API integration with these guides.

One dashboard. twelve platforms. Zero tab-switching.

Connect your accounts in 2 minutes and see unified analytics across every platform you publish to.

Get Started Free