Skip to main content
Analytics8 min read

Social Media Analytics API: Which Metrics Matter per Platform

Social media analytics only help when the number means the same thing on every report. Reach on Instagram is not the same as impressions on Facebook, and subscribers on YouTube have nothing to do with followers on TikTok. An analytics API is useful in proportion to how well it keeps those numbers separate. This guide covers what each platform in the Wahdx Connection workflow reports, and how the publishing analytics endpoint tracks volume and outcomes without mixing the two.

Why per-platform metrics matter

Platforms measure different things, so merging them into one number produces a report nobody can act on. TikTok reports followers, likes, video counts, and top videos. Instagram reports reach, profile views, interactions, accounts engaged, and follower demographics. Threads reports views, likes, replies, reposts, and quotes. Facebook reports unique impressions, post engagements, page views, and follows. YouTube reports subscribers, views, video counts, and per-video performance. An integration should keep each set separate and return null where a platform does not provide a value.

The metric map per platform

Use this as a quick reference when designing dashboards or reports. Each platform answers a different question: reach, engagement, impressions, or subscribers, so report those separately instead of folding them into one headline number.

Analytics available per platform
PlatformKey metrics
TikTokFollowers, likes, video count, top videos
InstagramReach, profile views, interactions, accounts engaged, demographics
ThreadsViews, likes, replies, reposts, quotes
FacebookUnique impressions, post engagements, page views, follows
YouTubeSubscribers, views, video count, per-video performance

Publishing analytics: volume and outcomes

Separate from audience metrics, the publishing analytics endpoint reports the volume of publishing activity per platform: request counts, provider-item attempts, provider-accepted counts, published counts, failed counts, and skipped counts. Aggregation runs server-side, so the response stays small regardless of volume. A single request can fan out to several accounts and thread items, which is why request counts and attempt counts differ: request_count answers how many requests targeted a platform, while attempt_count answers how many account and item attempts were processed.

What an analytics integration should check

When you build analytics into a product, verify four things. First, metrics require an active connected account with the insights permission for that platform. Second, some metrics exist only for a subset of platforms, so the response should tolerate null values. Third, choose a scope and range, since reviewing all accounts or a single account over 7, 30, or 90 days changes the picture. Fourth, publishing analytics depend on the publishing ledger being enabled; without it the endpoint returns 404 and publishing behavior is unchanged.

Choosing scopes and ranges

Analytics are only as useful as the window you review. The workflow lets you pull metrics across all active accounts or drill into a single account, over 7, 30, or 90 days. For campaign reporting, match the range to the campaign rather than the calendar. For ongoing dashboards, the 30-day window is the most stable baseline across platforms. For agency reporting, the account group view keeps the numbers organized per client without a second integration. Keep the requested range consistent across platforms in one report, so a 7-day Instagram number is not compared against a 30-day Facebook number. Demographic breakdowns appear only where the platform exposes them, so a dashboard that always renders every field will need to handle gaps gracefully.

Limitations to design around

Two limits shape what you can build. Audience and content insights require an active connection with the insights permission, so expired accounts drop out of analytics until reconnected. Publishing analytics require the ledger mode to be enabled, and the endpoint returns 404 in shadow or off mode without changing publishing behavior. There is no webhook for metric updates, so reports refresh by polling on a schedule that matches how often the team needs the numbers, and the dashboard can cache the last good response so a platform hiccup does not blank the report.

From publishing to reporting

Because analytics are tied to the same connected accounts used for publishing, the workflow that sends content is also the reporting layer. After a campaign, pull reach, engagement, and top content per platform, then pull publishing volume from the analytics endpoint to show what was sent and what was accepted. Both come from the platform or from your own ledger, not from estimates, so every number traces back to the platform that reported it. A report that cannot say where a number came from is not worth sharing.

Turning metrics into decisions

An analytics API is worth the integration work when it changes the next decision. The top-content ranking does that directly: it sorts posts by views, likes, comments, shares, or saves, so the format that outperformed last month is easy to schedule again. Reach and engagement together separate distribution from resonance: a post with wide reach but flat engagement needs a different fix than one with strong engagement that few people saw. Publishing analytics close the loop on capacity, showing how many requests targeted each platform and how many were accepted and published, which feeds quota and retry planning. For agencies, per-account metrics turn client reporting into a stable output: pull the account’s numbers, the account group’s numbers, or the whole workspace’s numbers, and the report matches the workflow. Every number stays attached to the platform that reported it, so followers from TikTok are not added to subscribers from YouTube, and reach from Instagram is not mixed with impressions from Facebook. A useful report ends with an action: which format to schedule again, which account needs reconnection, and whether the quota supports the plan.

A reporting cadence that survives

Set a simple cadence and stick to it. Pull metrics after each campaign for the campaign window, pull publishing analytics weekly for volume, and let the 30-day view be the standing dashboard baseline. Handle nulls as data rather than errors, because a platform that does not expose demographics is itself information about what the report can promise. Pick one day a week for the volume check and keep the campaign window for the results, so the two numbers stay comparable. When the metrics are per platform and per account, readers can act on the report without asking where a number came from.

Questions

Which analytics are available per platform?

TikTok returns followers, likes, video counts, and top videos. Instagram returns reach, profile views, interactions, accounts engaged, and demographics. Threads returns views, likes, replies, reposts, and quotes. Facebook returns unique impressions, post engagements, page views, and follows. YouTube returns subscribers, views, and video counts.

What is the difference between request_count and attempt_count?

One publishing request can fan out to many accounts and thread items. request_count counts unique requests targeting a platform, while attempt_count counts provider-item attempts.

Do analytics require special permissions?

Yes. Profile and content insights require an active connected account with the insights permission granted for that platform.

Keep reading