Analytics and metrics

How Gunvald collects, calculates, and displays Meta analytics — and what requirements Meta sets for showing the data.

How analytics works

Gunvald fetches Facebook and Instagram performance metrics directly through the Meta Graph API. The data is stored in Supabase and then assembled on the Dashboard analytics page. Metrics update automatically when sync jobs succeed and Meta returns the figures.

Data flow step by step

1. OAuth permissions

Connect your Facebook and Instagram accounts in the Social view and approve all requested permissions.

Without the required permissions, Meta does not provide reach and engagement insights to apps.

2. Sync

Server jobs (cron) fetch metrics for the selected pages and accounts once per day.

If needed, you can run a sync manually — the data is updated in the next run.

3. Storage

Metrics are written to the Supabase tables meta_metrics_daily and meta_post_metrics.

Daily values and top-post figures are assembled from these tables.

4. Interface

The Dashboard analytics page shows the figures, trends, and top content for the selected date range.

If data is missing or zero, the UI explains the state instead of breaking.

Meta minimum requirements

100 followers or fans

Meta provides reach and engagement insights only after a Facebook page or Instagram Business account has roughly 100 followers. Smaller accounts may receive API error code #100 or #10.

Broad permissions

Approve at least these scope-level permissions: pages_show_list, pages_manage_posts, pages_read_engagement, pages_manage_metadata, instagram_basic, instagram_content_publish, instagram_manage_insights, and business_management.

Wait for the next sync

Once the account meets the thresholds and the permissions are approved, the numbers appear during the next automatic run (typically within 24 hours). A manual sync speeds things up if you want an update right away.

Which metrics are shown?

Core KPI figures

  • Reach and views/impressions (daily total)
  • Engagement (likes, comments, shares, saves)
  • Follower counts and daily change
  • Number of posts

Top posts and timing

  • Top-N posts ranked by total engagement
  • Optimal times recommendations (fallback defaults are used when data is missing)
  • Channel split (Facebook vs. Instagram)

If the numbers do not appear

Troubleshooting

  • Check that the follower count is above Meta’s threshold (≈100).
  • Open the Social view and reconnect the channels while approving all requested permissions.
  • Wait for the next sync (or ask support to run it manually). You can also review logs in the admin console if you have access.
  • Make sure the Facebook page uses a Business profile and the Instagram account is set to Business or Creator.

Need help with permissions? Review the connection guide or contact support.

Connect social accounts →
Gunvald - AI-sisältö- ja someautomaatiotyökalu PK-yrityksille