> For the complete documentation index, see [llms.txt](https://docs.coupler.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coupler.io/sources/category/social-media/instagram-insights/best-practices.md).

# Best Practices

## Recommended setup

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Start with profile-level reports</strong></td><td>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.</td></tr><tr><td><strong>Use date filters strategically</strong></td><td>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.</td></tr><tr><td><strong>Separate organic and paid data</strong></td><td>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.</td></tr><tr><td><strong>Append monthly data for trends</strong></td><td>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.</td></tr></tbody></table>

## Data refresh and scheduling

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Schedule after manual success</strong></td><td>Always run a successful manual data flow first before scheduling. This confirms permissions are correct and the data looks as expected.</td></tr><tr><td><strong>Daily updates for post performance</strong></td><td>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.</td></tr><tr><td><strong>Weekly updates for account trends</strong></td><td>For account-level reports like "Profile: performance insights" or follower demographics, schedule weekly to capture trends without overloading your sheet with daily changes.</td></tr></tbody></table>

## Performance optimization

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Use BigQuery for large histories</strong></td><td>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.</td></tr><tr><td><strong>Filter by published dates for post reports</strong></td><td>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.</td></tr></tbody></table>

## Common pitfalls

{% columns %}
{% column %}
**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
  {% endcolumn %}

{% column %}
**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
  {% endcolumn %}
  {% endcolumns %}

{% hint style="danger" %}
**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.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.coupler.io/sources/category/social-media/instagram-insights/best-practices.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
