Analytics

Per-post metrics

How each post performed

The overview dashboard shows the shape of your workspace. When you want to understand why a week looked the way it did, drill into individual posts. Every post in OpenPost has a detail view with its cross-channel performance side by side.

Opening a post’s metrics

From any list — calendar, queue, recent posts — click the post. The detail view has three tabs: Content, Metrics, and History. Metrics is where the numbers live.

Metrics show up as soon as the post is published. The first refresh usually lands within 15 minutes; subsequent refreshes follow the per-channel cadence described in the overview page.

What you see

FieldTypeDescription
Top rowaggregateSum across every channel: impressions, engagement, engagement rate, reach.
Per-channel rowbreakdownOne row per channel with the same metrics. Missing values are dashed — some platforms don't expose every metric for every post.
Time serieschartHour-by-hour impressions for the first 48 hours, then day-by-day.
Top commentslistUp to 5 highest-engaged comments per channel (where the platform exposes them).
Click-throughstableIf UTM-tagged links were used, click counts per destination URL.

Compare two posts

Select two posts from the list (cmd/ctrl-click) and hit Compare. The comparison view lays out metrics side by side. Useful for:

  • A/B tests (same content, different channels or times)
  • Subject-line experiments on a thread hook
  • Image vs. video variants of the same post
Use the composer’s Duplicateaction to clone a post with one variable changed. That way “compare two posts” is always an apples-to-apples read.

Per-post metrics via API

curl
curl https://api.openpost.so/v1/analytics/posts/pst_abc \
  -H "Authorization: Bearer $OP_KEY"
json
{
  "post_id": "pst_abc",
  "published_at": "2026-04-12T14:00:00Z",
  "totals": {
    "impressions": 14832,
    "reach": 11204,
    "engagement": 412,
    "engagement_rate": 0.0278,
    "link_clicks": 89
  },
  "by_channel": {
    "x":         { "impressions": 9120, "engagement": 201, "link_clicks": 52 },
    "linkedin":  { "impressions": 3980, "engagement": 178, "link_clicks": 31 },
    "instagram": { "impressions": 1732, "engagement":  33, "link_clicks":  6 }
  },
  "by_hour": [
    { "hour": "2026-04-12T14:00:00Z", "impressions":  820 },
    { "hour": "2026-04-12T15:00:00Z", "impressions": 2104 }
  ]
}

Late-arriving data

Metrics from social platforms are not final for the first 48–72 hours. You’ll see counts climb as the post’s long tail plays out, especially on TikTok and YouTube where “discovery” traffic can arrive days or weeks later. OpenPost keeps refreshing until the platform stops returning changes.

When metrics are “final”

Platform-dependent

Max we refresh for

30 days after publish

After 30 days

Snapshot frozen

Backfill requests

Not supported by APIs

Don’t treat first-hour numbers as a signal that a post “failed.” Many channels seed a small test audience first and ramp up over the next 24 hours.
Last updated April 2026 Edit this page