> 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/facebook-public-data/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>Use page IDs instead of aliases</strong></td><td>Numeric page IDs (e.g., 123456789) are more reliable than public aliases. If you have multiple pages, store their IDs in a spreadsheet for easy reference and to avoid typos.</td></tr><tr><td><strong>Verify "Followers and Public Content" settings</strong></td><td>Before connecting a page, go to page settings and confirm that "Followers and Public Content" is set to public. This is required for any data to be exported — even if the page is otherwise public.</td></tr><tr><td><strong>Start with one page, then scale</strong></td><td>Test your first data flow with a single page ID to confirm the setup works. Once you're confident, add multiple page IDs (one per line) to consolidate all your pages into one data flow.</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 daily or weekly, not hourly</strong></td><td>Facebook's API updates data on a delay (usually 1–3 hours). Hourly refreshes waste quota and return the same data. A daily or weekly schedule is sufficient for most use cases.</td></tr><tr><td><strong>Refresh posts with a rolling window</strong></td><td>For "Public posts statistics", use a date range that covers the last 7–30 days instead of fetching all-time data. This keeps refresh times fast and avoids duplicate rows from posts you've already imported.</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>Combine multiple pages with Append transformation</strong></td><td>If you're importing from many pages, enter all page IDs in one data flow, then use an Append transformation to stack them into a single table. This is faster than running separate data flows for each page.</td></tr><tr><td><strong>Use Join to correlate with other data</strong></td><td>Combine post statistics with campaign or revenue data in Google Sheets or BigQuery using a Join transformation. Match by date to understand the relationship between organic Facebook engagement and business outcomes.</td></tr></tbody></table>

## Common pitfalls

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

* Use numeric page IDs when possible
* Set a reasonable date range for post data (7–30 days)
* Test with one page before adding multiple
* Schedule refreshes daily or weekly, not hourly
* Confirm page settings are fully public before connecting
  {% endcolumn %}

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

* Use full Facebook URLs or display names instead of page IDs
* Try to import data from personal profiles (only pages work)
* Run multiple data flows for the same page simultaneously
* Expect real-time data (allow 1–3 hours for Facebook to update)
* Leave date ranges too broad for post data (very old posts slow down imports)
  {% endcolumn %}
  {% endcolumns %}

{% hint style="danger" %}
**Do not share your full page URL or access token in public.** While Coupler.io uses OAuth (so your password is never stored), keep your Coupler.io data flow URLs private to avoid accidental exposure of your page data.
{% 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/facebook-public-data/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.
