---
title: Connect Meta
description: Authorize AdCrunch on a Meta ad account and pick which advertisers to sync.
---

AdCrunch reads from Meta Ads via the Marketing API. You authorize once per ad account; AdCrunch keeps a refresh token and pulls incrementally from then on.

## What we read

- **Campaigns, ad sets (we call these "ad groups"), ads, creatives.** Status, budgets, targeting metadata, and basic copy/creative pointers.
- **Insights.** Daily spend, impressions, clicks, reach, conversions per entity.
- **We do not read** users, comments, page posts, or anything outside the ad-management surface.

:::info[Permission scopes]

AdCrunch requests `ads_read`, `ads_management`, `pages_show_list` and `pages_manage_ads`. `ads_management` is what lets an agent **create campaigns, change budgets, and pause, resume or archive** on this account — there is no read-only tier of the Meta connection today. A created campaign always arrives paused and never starts spending on its own. Nothing can hard-delete anything, change targeting, or move bids. See [Auth & scopes](/mcp/auth) for the full boundary and how every change is recorded.

:::

## Connect

1. **Open the connect flow**

    In the console, **Advertisers → Connect → Meta**.

2. **Authorize on Meta**

    You'll be redirected to Meta. Sign in with the account that owns or has
    access to the ad accounts you want, and grant the requested scopes. Meta
    asks you to pick which **assets** to share as well as which permissions to
    grant: share your Facebook **Page** here, not just the ad account. Ads run
    from a Page, so a connection without one can read everything and create
    nothing.

3. **Pick the ad accounts to sync**

    AdCrunch lists every ad account Meta exposed in the token. Tick the ones you
    want. Each tick creates an advertiser in AdCrunch with a stable `acc_*` ID.

4. **Wait for backfill**

    First sync backfills 90 days of insights. You'll see the advertiser go from
    "syncing" to "ready" in the console.

## After connecting

- The advertiser shows up in [Performance](/use/console/insights) and is queryable via [MCP](/mcp/overview) and the [REST API](/api).
- AdCrunch re-syncs incrementally every few hours. Manual refresh is available from the advertiser page.

## Troubleshooting

:::warning[My ad accounts didn't show up]

Meta only returns accounts the authorizing user has access to. If you're missing an account, ask its admin to grant you access in Business Manager and retry the connect flow.

:::
