Skip to main content

Analytics

ViralToby provides comprehensive analytics to help you understand how your content performs across platforms. The analytics system has two layers: a live dashboard for detailed exploration, and persistent snapshots for historical tracking on your Home page.

Analytics Dashboard

Access the full analytics dashboard from the Analytics tab in the navigation. The dashboard fetches data directly from platform APIs (Instagram, Facebook, YouTube) and presents it across four tabs.


Filters

At the top of the Analytics page, you can narrow all data by:

  • Brand — Show metrics for one brand or all brands combined.
  • Platform — Filter by Instagram, Facebook, YouTube, or Threads. Only platforms you have connected will appear.
  • Time Range — Choose from: Today, Last 48 hours, Last 7 days, Last 14 days, or Last 30 days.

Filter changes apply across all tabs simultaneously.


Overview Tab

The Overview tab gives you a high-level view of your account performance.

Stat Cards

Four cards appear at the top of the Overview tab, each with a growth badge showing change over the selected time range:

CardWhat it shows
FollowersTotal follower count across all connected accounts, with growth delta
ViewsTotal content views in the selected period
LikesTotal likes in the selected period
Engagement RateAverage engagement rate across your posts

Trend Chart

A line chart showing your selected metric over time. Use the metric switcher above the chart to toggle between:

  • Views
  • Followers
  • Likes
  • Engagement Rate

Platform Breakdown

A horizontal proportional bar showing how each platform contributes to your total performance. Useful for understanding which platforms drive the most reach.

Per-Brand Accordion

Each brand appears in a collapsible row. Expand a brand to see:

  • Sparkline charts for key metrics
  • Per-platform metric breakdown
  • Follower count and growth for that brand

Posts Tab

The Posts tab shows a detailed breakdown of your individual published posts.

Summary Cards

Seven cards appear at the top of the Posts tab, summarizing your selected period:

CardDescription
PostsTotal posts published in the period
ViewsTotal views across all posts
LikesTotal likes
CommentsTotal comments
SavesTotal saves
SharesTotal shares
Avg ERAverage engagement rate across posts

Posts Table

Below the summary cards, a sortable table lists individual posts. Click any column header to sort. Columns include:

ColumnDescription
Post titleThe title or caption preview, with a thumbnail
ViewsTotal views on this post
LikesTotal likes
CommentsTotal comments
SavesTotal saves
SharesTotal shares
ER%Engagement rate as a percentage
ScoreA 0–100 performance score rendered as a color-coded bar. Higher scores indicate stronger overall performance relative to your other posts.
info

ViralToby only fetches detailed insights for the posts currently visible on your screen (up to 50 at a time). This keeps API usage efficient and avoids rate limiting.


Answers Tab

The Answers tab turns your posting history into actionable recommendations using AI-generated insights.

warning

The Answers tab requires at least 3 published posts to generate meaningful insights. If you have fewer than 3 posts, this tab will show a prompt to publish more content first.

Best Time to Post

A bar chart grouped by hour of day (0–23) showing average engagement for posts published at each hour. The peak hour is highlighted. Use this to adjust your publishing schedule toward times when your audience is most active.

Best Day

A bar chart grouped by day of week showing average engagement per day. Helps you identify whether your audience is more active on weekdays or weekends.

Best Content Type

A horizontal bar chart comparing average performance across content types (Reels, Carousels, Threads). Shows which format your audience responds to most.

Best Posting Frequency

A recommendation for how often to post based on engagement patterns in your data. More frequent posting is not always better — the recommendation reflects the frequency at which your audience engagement remains strong.


Audience Tab

The Audience tab shows demographic data for your connected social accounts. Data is broken down per brand.

For each brand, you can see:

Data PointDescription
Total followersCurrent total follower count for the brand
Top demographicThe dominant gender + age group combination among your followers
Top locationThe country or city with the highest follower concentration
Age distributionA bar chart showing follower distribution across age groups
Gender splitA donut chart showing the male/female breakdown
Top citiesThe top cities by follower count
Top countriesThe top countries by follower count
warning

Demographic data requires an Instagram Business account with a minimum of 100 followers. If your account does not meet these requirements, or if the platform does not provide demographic data (YouTube, TikTok), this section will show a message explaining why data is unavailable.


Home Page Chart

The Home page displays a summary chart of your performance over time. Unlike the analytics dashboard (which fetches live from APIs), the Home chart uses persistent snapshots stored in the database.

How Snapshots Work

Every time analytics are refreshed (manually, hourly, or on platform connect), ViralToby captures a snapshot of your current metrics and stores it in the analytics_snapshots table:

FieldDescription
FollowersYour current total follower count at the time of capture
ViewsDaily views for the snapshot date
LikesDaily likes for the snapshot date

Why Snapshots Matter

  • Survive restarts -- Unlike the in-memory analytics cache, snapshots are stored in the database and persist across server restarts.
  • Grow over time -- Instagram's API only provides 28 days of historical data, but snapshots accumulate indefinitely. After a few months, your Home chart shows trends that go well beyond the 28-day API limit.
  • Instant load -- The Home chart reads from the database, not from external APIs. It loads instantly with zero external API calls.

First-Time Data

When you first connect a platform, ViralToby immediately fetches analytics and stores snapshots. This includes a backfill of up to 28 days of historical views from Instagram's API, so new users see meaningful data within seconds of connecting.


Toby Score

Toby Score is how Toby rates the performance of its own published content. This is separate from the analytics dashboard -- it is part of Toby's learning loop.

How Scoring Works

  1. After content is published and at least 48 hours have passed, Toby fetches engagement metrics from the platform API.
  2. Metrics (views, saves, shares, likes) are weighted to produce a performance score. Saves and shares are weighted more heavily than likes because they indicate deeper engagement.
  3. The score is stored with the content and used to update strategy scores via Thompson Sampling.

Scoring Weights

By default, Toby uses these engagement weights:

SignalWeightRationale
Saves3xStrongest intent signal -- users want to return to this content
Shares3xDistribution signal -- users think this is worth sharing
Likes0.2xWeakest signal -- low-effort engagement
tip

You can customize these scoring weights in your Toby settings. If your niche values comments or shares differently, adjust the weights to match.

What Toby Scores

Toby only scores content it created (marked with created_by: toby). Manually created content is not included in Toby's learning data -- this prevents your manual posts from confusing Toby's strategy optimization.

Metrics are fetched once per post at scoring time and stored permanently. Toby does not re-fetch metrics for already-scored content, keeping API usage minimal.


Refresh Mechanism

Automatic Background Refresh

ViralToby refreshes analytics automatically every 2 hours via a backend scheduler. This job:

  1. Fetches fresh data from all connected platform APIs (or Zernio where applicable).
  2. Updates the in-memory analytics cache for the dashboard.
  3. Captures new snapshots for the Home chart.
  4. Also runs 45 seconds after server startup to warm the cache.

There is no manual Refresh button. The dashboard shows an "Updated X ago" indicator so you know when data was last fetched. You do not need to take any action.

Zernio-Connected Brands

Brands connected through Zernio get their follower count from the Zernio account data (available on all plans). Daily engagement metrics (views, likes, shares) require the Zernio Analytics add-on. Without the add-on, follower counts still display correctly but engagement breakdowns are unavailable.

On-Connect Refresh

When you first connect a new platform via OAuth, analytics are fetched immediately. You do not need to wait for the next 2-hour cycle.


Rate Limiting and API Usage

ViralToby is designed to stay well within platform API rate limits:

  • Hourly analytics refresh -- Once per hour for all users, not per-minute polling.
  • Per-post insights -- Only fetched for the visible page (max 50 posts at a time), using 10 concurrent threads for speed.
  • Manual refresh cooldown -- 10-minute minimum between manual refreshes.
  • One-time scoring -- Toby fetches post metrics once for scoring and never re-fetches them.

These measures ensure your analytics data stays fresh without risking API throttling or account restrictions.


How Analytics Connects to Toby's Learning

Analytics data flows into Toby's learning system in several ways:

Direct Performance Scoring

Published content metrics feed directly into strategy score updates. When Toby scores a post, it updates the Thompson Sampling distributions for every strategy dimension used in that content (personality, topic, hook, title format).

Trend Detection

The analytics data helps Toby detect when a strategy's effectiveness is declining (drift detection). If saves and shares drop over time for a previously successful strategy, Toby increases its explore ratio to find new winning approaches.

Anomaly Detection

Toby's Analyst agent identifies breakout content -- posts that significantly outperform the baseline. These anomalies receive extra attention: the Reflector writes detailed memories about what made them successful, and the Strategist factors them into future planning.

Audience Insights

Demographic data from the Audience tab (when available) can inform content strategy. If most of your followers are in a specific age group or location, Toby can adapt its content accordingly.

info

Analytics data updates in real-time in the ViralToby dashboard thanks to Supabase Realtime subscriptions. When new snapshots are captured or metrics are updated, the UI reflects the changes without requiring a page refresh.