Syncing metrics
Inklate refreshes post metrics on a background cadence that decays as a post ages, and every published post has a "Sync now" to pull fresh numbers on demand.
Metrics aren’t live — Inklate pulls them from each platform on a schedule and stores a running time series. A background job keeps recent posts fresh, and a per-post Sync now lets you pull the latest numbers whenever you want.
The background cadence
A scheduled job sweeps every organization’s published placements and refreshes the ones that are due. The cadence decays with a post’s age, because engagement front-loads:
- First 7 days — refreshed every 6 hours.
- Day 7 to day 30 — refreshed once a day.
- After 30 days — no longer synced automatically.
Each refresh appends a snapshot to the post’s metric time series (the source of truth) and updates the fast per-placement cache the lists and tiles read from. Because the series is append-only, the per-day “gained” trends on the analytics and per-post views are just the deltas between consecutive snapshots.
Channels that are disconnected, and grants that have expired, freeze: their history stays, but new syncs stop — the platform would refuse the token anyway. Reconnecting the channel resumes syncing.
Sync now
Every published post’s metrics panel has a Sync now control for pulling fresh numbers off the background cadence — useful right after a post takes off, or to revive a post older than 30 days that the cron no longer touches.
It’s rate-limited so a burst of clicks can’t hammer a platform:
- A 15-minute cooldown per post. If everything synced within the last 15 minutes, Sync now tells you it synced recently instead of firing.
- Clicks are debounced and serialized per post, so a run in flight absorbs repeat clicks rather than stacking up.
- A post with no live placements yet has nothing to sync, and says so.
When a sync does fire, the panel shows “Syncing…” and settles on “Synced <time> ago” once the fresh numbers land. Unlike the background job, Sync now ignores the 30-day age cutoff — that’s what lets it revive an older post.
What a sync writes
A sync fetches each due placement’s metrics from its platform in parallel, then writes them in one short transaction: a new snapshot per placement plus a cache refresh. Only real networks are ever synced or shown, and the same five-metric, null-aware contract applies — a platform that doesn’t report a metric writes null, not 0, so no sync ever fabricates a number.
Metrics and coverage
Inklate tracks five metrics on a contract where null ≠ 0 — a metric a platform doesn't report is unknown, not zero. Coverage varies by network and scope.
Inklate for agents
Inklate is agent-native — an AI agent runs your social presence through the same guarded API the dashboard uses, over MCP or REST.