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.
4.2% across all platforms
48,200 unique viewers
12 posts published
Per-Platform Breakdown
TikTok
12,400
8,530
YouTube
2,140
5,870
4,210
Threads
3,640
X (Twitter)
6,920
Bluesky
2,380
2,110
Week of Mar 24 - 30 — 48,200 total reach
Updated 4 min agoThe 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:
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.
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:
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.
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.
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.
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.
// 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
45,200
views
3,400
likes
182
comments
12,800
views
1,200
likes
94
comments
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.
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.
Related resources
Explore more about cross-platform publishing, scheduling best practices, and API integration with these guides.
Cross-post to 12 platforms at once
How to publish a single post to TikTok, Instagram, YouTube, and 9 more platforms with one API call.
7 scheduling mistakes that kill engagement
Common timing and formatting errors that reduce reach — and how to fix them.
TypeScript SDK guide
Full SDK walkthrough: authentication, posting, scheduling, and reading analytics programmatically.
API documentation
Complete reference for the /v1/posts endpoint, authentication, rate limits, and webhook events.