Best Practices
Recommended setup
Start with profile-level reports
Begin with "Profile: account overview" to get baseline account metrics without date filtering. Once you're comfortable, add post and story reports for deeper analysis.
Use date filters strategically
For reports that support date ranges, use the date picker to pull only the data you need. This keeps file sizes manageable and makes analysis faster. For monthly reporting, pull data for the past month only, then append monthly files over time.
Separate organic and paid data
If you run ads on your posts, enable "Show promoted posts ad ids in separate rows" to split organic and paid performance. This lets you analyze paid reach separately from organic growth.
Append monthly data for trends
Instead of one large annual export, create monthly data flows and use Append to combine them. This makes it easier to spot seasonal trends and keeps individual exports manageable.
Data refresh and scheduling
Schedule after manual success
Always run a successful manual data flow first before scheduling. This confirms permissions are correct and the data looks as expected.
Daily updates for post performance
For "Post: performance totals," schedule daily or every other day. Instagram metrics stabilize within 24–48 hours, so more frequent updates may not add much value.
Weekly updates for account trends
For account-level reports like "Profile: performance insights" or follower demographics, schedule weekly to capture trends without overloading your sheet with daily changes.
Performance optimization
Use BigQuery for large histories
If you're maintaining more than a year of daily performance data (10k+ rows), export to BigQuery instead of Google Sheets. It's faster, more reliable, and easier to query.
Filter by published dates for post reports
When using "Post: performance totals," set a "published after" date to exclude very old posts. This reduces the dataset size and speeds up the import.
Common pitfalls
Do
Test with a short date range first before scheduling full-year imports
Keep separate data flows for different report types (post metrics vs. account metrics)
Check for empty columns and verify they're API limitations, not errors
Append data from multiple months to create historical trends
Don't
Pull 12+ months of data in a single run if your account has heavy posting activity (causes timeouts)
Mix multiple report types in the same data flow (use separate flows and join if needed)
Assume that empty metric columns mean missing data (reels don't have impressions via API)
Schedule all data flows at the same time if you manage multiple accounts
Scheduling monthly with the last day of month: If you schedule a data flow to run on the 31st and a month has fewer days, the schedule will skip that month. Use a different date (e.g., the 28th) for monthly scheduling, or run manually for months with fewer days.
Last updated
Was this helpful?
