---
title: "Connect Meta Ads to Rig | Rig guide"
description: "Create the Meta app and system user, generate a never-expiring token with ads_read, read_insights and business_management, then assign your ad account."
canonical: "https://rig.so/guides/connect-meta-ads"
format: markdown
---

Search guides, references, playbooks…⌘K

Browse guides

# Connect Meta Ads to Rig

Sync campaigns, ad sets, ads and creative performance across Facebook and Instagram into your warehouse. This is the longest connector setup Rig has, because Meta makes you build an app and a system user before it will give you a token. Done once, it never expires.

Requirements

An account that can create apps and system users in Meta Business Manager

Time required

15 mins

One token covers Meta Ads and Instagram Business
Facebook Ads, Instagram Ads and Instagram Business all authenticate with the same system user access token. Do this setup once, then paste the same token into both connectors. If you want organic Instagram too, add the Instagram scopes listed below while you are here rather than generating a second token later, and follow the [Instagram Business guide](https://rig.so/guides/connect-instagram-business) for the extra asset it needs.

## Create the app

1. Go to `business.facebook.com`, then `Settings` → `Apps`.
2. Click `Create app`, which takes you across to the developer site.
3. Name it **Rig data sync** and add your own email, or your technical team's. If the email is already prefilled, leave it.
4. Click `Next`, go to `Use cases`, scroll down and choose **Other**.
5. `Next`, then choose **Business**.
6. `Next`, confirm everything looks right, then `Create app`.
7. In the app, go to `Add products` and add the **Marketing API**.

## Create the system user

The app is the thing Meta issues a token for. The system user is the identity that token acts as, and it is what you will later assign your ad accounts and Pages to.

1. Back in Business Manager, go to `Settings` → `System users`.
2. Click `Add user`, name it **Rig data sync**, select **Employee**, and create it.
3. Go to `Apps`, select the Rig app, click `Assign access`, choose the system user, tick **Develop app**, and click `Assign`.

## Generate the token

1. Go back to `System users` and select the Rig system user.
2. Click `Generate token` at the top, and select the app you created.
3. `Next`, then set expiration to **Never**. A token that expires means the sync stops silently in sixty days.
4. Select the permissions below, then `Generate token` and copy it.

The permissions list is a search box rather than a menu you can scan, so work through it by typing each term and ticking what comes up:

- Type `ads`, tick `ads_read`
- Type `insights`, tick `read_insights`
- Type `business`, tick `business_management`

Those three are all Meta Ads needs. If you are also connecting Instagram Business on this token, add `instagram_basic`, `instagram_manage_insights`, `pages_show_list` and `pages_read_engagement` now. Every one of these is read-only.

## Assign your assets

Scopes say what kind of thing the token may read. Assignment says which specific accounts it may read them from, and without it a perfectly valid token returns nothing. Work from the asset side, under `Business settings` → `Accounts`.

For Meta Ads, one assignment is enough:

- **Ad accounts** → your ad account → `Assigned users` → `Add people` → the Rig system user → toggle on **View performance** → `Save`

If you added the Instagram scopes above because you are connecting Instagram Business too, assign these as well. Skip them otherwise, since assigning an asset you have no scope for achieves nothing:

- **Pages** → your Page → `Add people` → Rig → toggle on **Insights**
- **Instagram accounts** → your Instagram account → `Add people` → Rig → toggle on **Insights**

Leave everything else off. The Page toggles include creating and managing content, deleting posts, and commenting or messaging, and Rig needs none of them. Insights alone is what a read-only sync requires.

Assignment runs from the asset to the user, not the other way round. The system user's own `Assigned assets` tab is mostly a read-out of what you did here, so if something looks missing, fix it on the asset rather than on the user.

## Connect it in Rig

New to Rig? Watch how to find Connections

1. In Rig, open `Connections` and go to `Sources & actions`.
2. Search for **Meta Ads** and open the card.
3. **System user access token**: paste the token.
4. **Account ID**: leave it blank. Rig discovers the account from the token itself, and this field is only there for the case where you need to pin one explicitly.
5. Click `Test`, then `Sync`.

## Troubleshooting

- **Credentials test as valid but nothing syncs**: the token works and the assets are not assigned to it. Go back to the assignment step. This is the usual failure, and it does not look like a permissions problem because the connection reports itself healthy.
- **You assigned the assets and it still returns nothing**: give it a few minutes and re-run the sync. Newly granted permissions are not always visible to the API immediately.
- **Still nothing, and the business itself may not be connected to the app**: in `System users`, open the Rig app under `Apps`, click `Connect assets` → `Add accounts` → **Other business assets**, select your business, and add it. Then test again.
- **The screens do not match this guide**: Meta reorganises Business Manager fairly often. The sequence holds even when the labels move: create an app, create a system user, assign the user to the app, generate a never-expiring token with the scopes above, then assign each asset to the user.

Was this guide helpful?

Yes No

---

- [This page as HTML](https://rig.so/guides/connect-meta-ads)
- [Site map for language models](https://rig.so/llms.txt)
- [API and agent documentation](https://rig.so/developers)
