> 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/ppc/instagram-ads/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 Insights for performance reporting</strong></td><td>The Reports and Insights entity is where the real value is. Use it to pull metrics with breakdowns. The List of Campaigns/Ad Sets/Ads entities give you structure, but not performance numbers.</td></tr><tr><td><strong>Join Insights with campaign/ad set lists</strong></td><td>Insights returns IDs but limited metadata. Use Coupler.io's Join transformation to enrich your Insights data with campaign names, objectives, and ad set details from the List entities.</td></tr><tr><td><strong>Use Append to combine multiple ad accounts</strong></td><td>If you manage multiple Instagram ad accounts, add them as separate sources in one data flow and use the Append transformation to stack all accounts into a single report. Include account_name as a column to keep them distinguishable.</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>Account for Meta's data delay</strong></td><td>Conversion data from Meta's API can take 48–72 hours to finalize, especially with view-through attribution. If you're reporting on conversions, avoid treating yesterday's numbers as final.</td></tr><tr><td><strong>Use "Totals only" for monthly budget reports</strong></td><td>If you're building a spend summary for finance, set Split data by period to "Totals only" and set your date range to a full calendar month. This gives you one clean row per campaign rather than 30+ daily rows.</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>Keep breakdowns focused</strong></td><td>Each breakdown combination multiplies the number of rows returned. Avoid stacking three or more breakdowns unless you specifically need that granularity — it increases API response time and can trigger rate limits.</td></tr><tr><td><strong>Use filters to narrow large accounts</strong></td><td>If your ad account has hundreds of campaigns, use the Graph API filter syntax to scope your Insights report to specific campaigns or objectives. This keeps your report lean and reduces the chance of hitting API rate limits.</td></tr></tbody></table>

## Common pitfalls

{% hint style="danger" %}
**Don't confuse Instagram Ads with Instagram organic data.** This source only pulls paid ad account data via the Meta API. Organic post impressions, profile visits, and follower metrics are not available here — those require a separate Instagram Business account integration.
{% endhint %}

{% columns %}
{% column %}
**Do**

* Set attribution windows deliberately — choose between account-level, ad set-level, or manual to match how you report conversions
* Include `account_name` and `campaign_name` columns in every Insights report for easy filtering downstream
* Test with a short date range and simple breakdown first, then expand once the data looks correct
  {% endcolumn %}

{% column %}
**Don't**

* Use the same attribution window in Coupler.io and Meta Ads Manager if you want numbers to match — verify they're aligned before sharing reports
* Pull year-long date ranges with multiple breakdowns in a single run — break it into shorter periods to stay within API limits
* Rely on yesterday's conversion data as final — give it 48–72 hours before drawing conclusions
  {% endcolumn %}
  {% endcolumns %}


---

# 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/ppc/instagram-ads/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.
