Program Health
A daily snapshot of your creator program: alerts, trends, KPIs, and watchlists in one place.
The Program Health page gives program managers a single view to answer "is my program healthy today?" without digging through individual creator or video pages. It refreshes on demand and covers alerts, key performance indicators, posting and engagement trends, and creator watchlists.
Campaign filter#
The All campaigns selector at the top scopes every metric on the page to a single campaign. When a campaign is selected, all KPIs, charts, alert thresholds, and watchlists narrow their creator and video sets to that campaign, including nested sub-campaigns, member creators, and videos added to the campaign directly (the same scope Insights uses). The subtitle on each widget updates to reflect the scope.
Select All campaigns (the default) to see program-wide numbers.
The page covers the last 30 days including today, in your time zone, and counts tracked posts only, the same as the dashboard and Insights. See How metrics are calculated.
Alerts band#
The alert bar at the top collapses all active alerts into a single row. Tap or click anywhere on the bar to open the Active Alerts sheet, where each alert is shown in full with a dismiss button. Dismissed alerts move to Alert History (the bell icon).
Over-posting suppression#
Fires when a creator published ≥ 7 videos in a day and ≥ 2 of them had fewer than 100 views 2+ hours after posting: a signal that TikTok likely suppressed distribution. See Over-posting & Suppression for details.
Similar usernames#
Fires when three or more active creators have similar handles: a shared prefix or suffix of at least 5 characters (e.g. brandwith*), or handles that differ by only one or two characters. TikTok may apply network-level distribution limits to accounts it groups together. See Similar Creator Pools for details.
Flagged comments#
On paid plans, fires when comments posted in the last 7 days ask whether a post is an ad (or the creator was paid), or use words like scam or unsafe. The alert quotes up to three of them with the creator and the video's date, and links to the flagged comments in Comment Insights. Dismissing it hides it until a newer flagged comment arrives.
Private accounts#
Fires when a tracked account is currently private. Its profile still updates, so it never fails and never auto-disables, but no new post can be discovered, so goals read as missed and payout periods hold. See Private accounts.
Roster churn#
Fires when more creators were deactivated than added in the last 7 days. A net-negative roster change can indicate creator drop-off or a pruning campaign.
Engagement rate drop#
Fires when the program-wide engagement rate of the last complete week (Mon to Sun) is ≥ 20% below the week before. The current, partial week is not compared, because its posts are too new for a fair read. Check for content quality shifts, algorithm changes, or audience fatigue.
Sudden view drops#
Fires for creators whose last 3 videos averaged fewer than 50% of their 30-day median view count. Only videos at least 72 hours old are compared on both sides, so a creator who just posted isn't flagged while their new videos are still picking up views. This is a possible shadowban or suppression signal for individual creators.
At-risk goals#
Fires when one or more creator goals are at risk of being missed or have already been missed in the current period. Lists the top affected creators and their progress.
KPI strip#
Four compact stat cards show program-wide numbers at a glance.
| Card | What it measures |
|---|---|
| Active Creators | Count of active creators right now, with a week-over-week delta |
| Total Views | Current view counts of tracked videos posted in the last 30 days (today and the 29 days before), vs videos posted in the 30 days before that. This is lifetime views of those posts, not views gained during the window |
| Posts This Week | Tracked posts published so far this week (Mon to Sun), vs the same elapsed window last week |
| Data Freshness | % of the tracked posts in the window whose video stats (views, likes…) were scraped in the last 48 hours. Below 80% turns orange: some numbers on the page are stale |
Charts#
Daily Posts Volume#
A stacked bar chart of posts published per day over the last 30 days, overlaid with the prior-30-day period (each day compared with the day 30 days earlier) as a comparison series. Use this to spot posting cadence changes: a sudden drop or spike is usually worth investigating.
Engagement Rate Trend#
Program-wide engagement rate per week (Mon to Sun) for the last 8 weeks. ER is calculated as (likes + comments + shares + saves) / views, the same formula used across Insights. The current week is partial and usually reads high, because its posts are still gaining views. A sustained downward trend here should trigger a content quality review.
Avg Views / Video#
Average views per video per week (Mon to Sun) for the last 8 weeks. Divergence between this and the ER Trend chart can indicate algorithm distribution changes (views up, ER flat) or content relevance shifts (views flat, ER up).
Follower Growth#
Sum of follower counts across all active creators (summed across each creator's accounts), plotted daily over the last 30 days. Each account contributes its most recent follower count as of that day, so the line doesn't depend on which accounts happened to be updated that day; an account added mid-window counts at its first known value before then. Sharp drops usually reflect a creator deactivation or a platform account ban rather than organic loss.
Goal Status#
A donut chart titled Goal Status showing the split of active creator goals by status: On Track, At Risk, and Missed. Only goals judged for the current period are counted. The legend shows counts and percentages. Use this to quickly assess whether your program's goal commitments are being met.
Watchlists#
Stale Creators#
Active creators who have not published a tracked post in the last 14 days. A post still counts after its tracking has expired, so creators silent for longer than your expiry window stay on the list. Sorted by longest silence first. Click a creator to open their detail page and investigate.
Update Failures#
Active creators we keep failing to update. A failure count of 3+ usually indicates a handle change, a platform account ban, or persistent rate limiting. After 5 consecutive failures a creator is auto-disabled. Click a creator to view their profile and check for issues.
Posting Consistency#
Top and bottom creators by posts per week over the last 30 days (all active creators are ranked). Use this to identify who is driving your posting volume and who is falling behind. When there are 5 or fewer creators in scope, only the ranked list is shown.
Underperformers#
Creators who are simultaneously in the bottom 25% for engagement rate (same formula as above, including saves) AND posting fewer than 1 video per week in the last 30 days. These creators may need coaching, a content refresh, or removal from the program.
Active Campaigns#
All campaigns with tracked videos, ranked by total views on posts published in the last 30 days. Bar length is relative to the top campaign. Click a campaign name to open its detail page.
Tracking Gaps#
Creators where the number of tracked posts is more than 10% below the platform's reported post count within an account's tracking window, a sign some posts may have been missed. It also flags creators that haven't been checked for new videos in over 48 hours. trackagoat closes these gaps automatically: flagged creators are prioritized for a deep re-scan (see Discovery completeness), so real gaps are typically filled within a cycle or two. Click a creator to see their post list.
Refreshing data#
The page fetches all data in a single batched request on load. Data is cached for 60 seconds: navigating away and back within that window serves the cached response. To force a fresh fetch, reload the page.
Data Freshness reflects the state of the data-collection pipeline as of the last page load. If freshness is below 80%, check the scraping guide for troubleshooting steps.
From an agent or the API#
The same health check is available to scripts and AI agents: GET /api/v2/projects/{projectId}/program-health returns the verdict, KPIs, alerts and watchlists as compact JSON, and the MCP server exposes it as the get_program_health tool. Both accept a campaign and a 7, 14, 30 or 90-day window (30 by default, like this page).