Reels views vs crossposted_views vs facebook_views: which to report
Instagram Reels insights list views, crossposted_views and facebook_views separately. Which to report, and how to trace Sume-made variants.

Report views for plays on Instagram, facebook_views for plays on Facebook, and crossposted_views only when you want the Instagram and Facebook total. Do not add the three together: Meta's page defines crossposted_views as plays "aggregated across Instagram and Facebook", so summing it with the other two double counts.
Everything about the metrics comes from Meta's IG Media insights reference, read 2026-10-02. Sume does not read or store Instagram insights; the Sume part of this post is about keeping variants you generated traceable to the numbers you pull.
What does each Reels metric mean?
The page lists these for Reels, with the page's own wording where it is short.
| Metric | Meta's definition (short) | Status on the page |
|---|---|---|
| views | Total times the media was played on Instagram | In development |
| facebook_views | Plays on Facebook | Listed |
| crossposted_views | Plays aggregated across Instagram and Facebook | Listed |
| reposts | Reposts minus deleted reposts | Listed |
| reach | Unique users who saw the reel at least once | Estimated |
| total_views | Cross-platform aggregated views | Facebook Login only |
Which one belongs on a report?
Pick by what the reader asked. A brand manager asking how the Reel did on Instagram wants views. A team that publishes to both apps wants crossposted_views, labeled as a combined figure. Put reach beside it, because views count plays and reach counts unique users.
The same page notes impressions is deprecated for media created after July 2, 2024, though still available for older content. If a legacy dashboard mixes older and newer Reels, split them at that date or the series will break.
- Instagram only: views.
- Facebook only: facebook_views.
- Both apps, one number: crossposted_views, labeled combined.
- Unique audience: reach, estimated.
Which login do I need?
The page tags total_comments, total_likes and total_views as Facebook Login only, because they aggregate across surfaces with ads. If your app uses Instagram Login, plan around the plain metrics. Confirm per metric before you promise a client a column.
Several metrics are marked in development. Treat them as subject to change and request them defensively: handle a missing key instead of assuming it exists.
How do I keep Sume-made variants traceable?
If you cut several versions of a Reel, give each a stable name in your own sheet: Instagram media id, the Sume job id of the cut, and the metric pull date. Video trim returns a new artifact per job and leaves the source untouched, so the lineage is clean.
For many variants at once, bulk runs take an Idempotency-Key per batch; the docs advise minting a fresh one per batch, because replaying a spent key returns the earlier result. Sume does not attribute views to variants; that join is yours.
How do I avoid reporting the wrong number?
Write the definition under every chart title. A reader who sees a column labeled Views will assume it means everything; if it is Instagram-only, say so. If you show crossposted views, label it combined and do not display the other two in the same stacked bar.
Finally, handle absence. Several of these metrics are marked in development on Meta's page, so a request can come back without a key. Store null, not zero: a zero is a claim that nobody watched, while a missing value is only a gap in your data.
Sources
Related posts
More in Developers
- Clickable transcript from Sume STT word timestamps in Python
Turn a Sume speech-to-text result into HTML where each word seeks the audio player to its start time. Runnable Python, with the result envelope handled safely.
- Jan allow-all MCP permissions and smart routing with Sume tools
Jan can auto-approve every MCP tool call and narrow which servers it queries. What each does to paid Sume calls, and how to keep a spend check.
- Jan MCP tool call timeout of 30 seconds vs Sume jobs_wait
Jan times out MCP tool calls after 30 seconds by default, while a Sume jobs_wait slice can run 50 to 55 seconds. How to set them so a render never looks failed.
- Does a canceled Sume job send a webhook? Jobs do, runs do not
A canceled generation job delivers job.canceled with status ERROR, but a canceled or skipped Format, Action or Agent run sends no webhook. Handle both paths.
Written by Sume