> ## Documentation Index
> Fetch the complete documentation index at: https://docs.upstackdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Connect Meta Ads to Upstack Data

> Connect your Meta Ads account under System → Data Sources so Upstack Data imports spend, impressions, clicks, and campaign structure for ROAS reporting.

> [!NOTE]
>
> **Data direction:** This is a **source** — data flows **into** Upstack from this platform for analytics, reporting, and enrichment.

Connecting Meta Ads as a source brings ad spend and campaign performance data into Upstack, enabling cost-per-acquisition (CPA) reporting, return on ad spend (ROAS) calculations, and blended attribution across paid and organic channels.

> [!TIP]
>
> * Sign in to Upstack Data at [app.upstackdata.com](https://app.upstackdata.com) and open **System → Data Sources**.
> * Click the **Facebook** card, then click **Connect Facebook**.
> * Sign in to Facebook in the popup and approve access for Upstack.
> * Select your **ad accounts**, click **Save & Complete Setup**, and check that the card shows **Connected**.

## Prerequisites

> [!NOTE]
>
> **Prerequisites:**
>
> * An Upstack Data account ([sign up for free](https://app.upstackdata.com))
> * Access to your workspace in the Upstack dashboard

You'll also need:

* A Facebook login with access to the **ad accounts** you want to connect
* At least one ad account with active or historical campaigns
* Popups allowed for app.upstackdata.com (the Facebook sign-in opens in a popup)

> [!NOTE]
>
> This is a **source** connection — it pulls cost and performance data **into** Upstack. To send conversion events **to** Meta, see the [Meta CAPI destination guide](https://docs.upstackdata.com/destinations/catalog/meta-capi.md).

## Setup

**1. Open Data Sources**

Sign in to Upstack Data at [app.upstackdata.com](https://app.upstackdata.com), then open **System → Data Sources** in the left-hand menu (or go directly to [app.upstackdata.com/integrations](https://app.upstackdata.com/integrations)).

![Upstack Data Sources page under System, with the Facebook card showing Not Configured](https://mintcdn.com/upstackdata-afbed50d/iBK5HcAVuU80LdGi/images/data-sources/data-sources-page.png?fit=max\&auto=format\&n=iBK5HcAVuU80LdGi\&q=85\&s=c003e75bbe36146b76c9dc7356fc7606)

**2. Open the Facebook settings**

Click the **Facebook** card. The **Facebook Integration Settings** dialog opens with the connection status.

![Facebook Integration Settings dialog with status Not Configured and the Connect Facebook button](https://mintcdn.com/upstackdata-afbed50d/iBK5HcAVuU80LdGi/images/data-sources/facebook-integration-settings.png?fit=max\&auto=format\&n=iBK5HcAVuU80LdGi\&q=85\&s=ad9bbd612e4381ebf503a1653adbf1b3)

**3. Connect Facebook**

Click **Connect Facebook**. In the popup, sign in with the Facebook account that has access to your ad accounts and approve access for Upstack. If Facebook shows a different account than the one you need, switch accounts in the popup before continuing.

When the popup closes, the card status changes to **Pending** until you finish the next step.

**4. Select ad accounts**

Back in the dialog, the **Ad Accounts** section lists every ad account your Facebook login can access, with each account's name and ID. Select one or more accounts to sync. If an account is missing, click **Refresh**.

> [!WARNING]
>
> **Select the correct accounts.** Upstack imports spend for every selected account and uses it for ROAS calculations. Selecting an account that doesn't advertise this store skews your cost metrics.

**5. Save**

Click **Save & Complete Setup**. The dialog closes and the **Facebook** card shows **Connected** with the number of ad accounts connected.

The initial import covers up to 36 months of history and usually completes within 2–4 hours. After that, Upstack checks for updated metrics every 15 minutes, re-pulling the most recent 2 days so late-arriving spend is captured.

> [!NOTE]
>
> If you close the dialog before saving, Upstack asks you to confirm. Choosing **Close & Finish Later** leaves the card in **Pending**, and nothing syncs until you select an ad account and save.

## Change, reconnect, or disconnect

Click the **Facebook** card on **System → Data Sources** to manage the connection:

* **Add or remove ad accounts:** click **Edit**, change the selection, and click **Save Changes**.
* **Reconnect:** if the card shows **Error** or **Disconnected**, click **Reconnect** and sign in again.
* **Disconnect:** click **Disconnect** to stop syncing Meta Ads spend.

## What Data Flows In

Upstack imports performance data at the account, campaign, ad set, and ad level, by day and by hour:

| Data | Includes |
| - | - |
| **Delivery** | Spend, impressions, reach, frequency |
| **Clicks** | Clicks, link clicks, outbound clicks, CTR, CPC, CPM |
| **Meta-reported results** | Actions and action values (such as purchases and purchase value), cost per action, purchase ROAS |
| **Video** | Video plays and watch milestones (25%–100%, ThruPlays) |

Upstack also imports the campaign structure (campaigns, ad sets, and ads), so you can drill down from campaign to ad. This includes names, status, objective, bid strategy, budgets, bid amount, optimization goal, and billing event.

> [!NOTE]
>
> Spend is stored in the ad account's currency and each day follows the ad account's time zone. Reports convert spend to your [reporting currency](https://docs.upstackdata.com/concepts/reporting-currency.md) using daily exchange rates.

## You'll Know It's Working When...

> [!TIP]
>
> **Verification checklist:** Complete all items below to confirm your setup is working correctly. If any check fails, see the troubleshooting section below or the relevant [troubleshooting guide](https://docs.upstackdata.com/troubleshooting/destination-token-expired-or-auth-error.md).

* [ ] The **Facebook** card on **System → Data Sources** shows **Connected** and the number of ad accounts connected
* [ ] Meta Ads spend appears in the **Attribution** dashboard within 2–4 hours of connecting
* [ ] ROAS populates for campaigns that have both spend data and attributed conversions

## Troubleshooting

> [accordion] No data appearing after connecting
>
> Check that the **Facebook** card shows **Connected**, not **Pending**. A **Pending** card means no ad account was saved: click the card, select your accounts, and click **Save & Complete Setup**.
>
> If the card shows **Connected** and no data appears after 4 hours:
>
> 1. Verify the selected ad accounts had spend in the last 36 months (the import window)
> 2. Click the card and confirm the right ad accounts are selected
> 3. Contact support with your Pixel ID

> [accordion] An ad account is missing from the list
>
> The list shows the ad accounts your Facebook login can access. Click **Refresh** to reload it. If the account is still missing, make sure your Facebook user has been given access to that ad account in Meta Business Settings, then click **Reconnect** and sign in again.

> [accordion] Spend numbers don't match Meta Ads Manager
>
> Small discrepancies between Upstack and Meta Ads Manager are normal while the most recent days are still being re-pulled.
>
> **Common causes of larger discrepancies:**
>
> * **Time zone** — each day follows the ad account's time zone. If your Upstack reporting timezone differs, compare the same date range in both time zones.
> * **Currency** — Upstack converts spend from the ad account's currency to your reporting currency with daily exchange rates, so totals can differ slightly from Ads Manager's.
> * **Ad accounts** — make sure every ad account that spends for your store is selected.

> [accordion] Card shows Error
>
> The saved Facebook sign-in no longer works, usually because access was revoked or the Facebook password or permissions changed. Syncing stops until you reconnect.
>
> 1. Click the **Facebook** card on **System → Data Sources**
> 2. Click **Reconnect** and sign in to Facebook again
> 3. Check that your ad accounts are still selected
>
> Recent days are re-pulled automatically after you reconnect. If spend for older dates is still missing, contact support.

***

**Still stuck?** Contact [support@upstackdata.com](mailto:support@upstackdata.com) with your Pixel ID and a description of the issue. We typically respond within a few hours.

## Related

> [card] [Meta CAPI Destination](https://docs.upstackdata.com/destinations/catalog/meta-capi.md)
>
> Send conversion events **to** Meta — the outbound counterpart to this inbound source.

> [card] [Attribution and Reporting](https://docs.upstackdata.com/concepts/attribution-and-reporting.md)
>
> How Upstack blends ad spend data with conversion events to calculate ROAS and CPA.

> [card] [Connect Google Ads](https://docs.upstackdata.com/sources/catalog/google-ads/how-to-connect-google-ads-to-upstack-data.md)
>
> Import Google Ads spend data to get a complete picture of your paid media performance.

> [card] [Data sources overview](https://docs.upstackdata.com/sources/catalog/overview.md)
>
> Every data source and what each card status means.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.