Skip to main content

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.

Data direction: This is a source — data flows into Upstack from this platform for analytics, reporting, and enrichment.
Connecting Facebook 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.

Prerequisites

Prerequisites:
  • An Upstack Data account (sign up for free)
  • Access to your workspace in the Upstack dashboard
You’ll also need:
  • A Meta Business Manager account with admin access
  • At least one Facebook Ads account with active or historical campaigns
  • The Ad Account ID you want to connect (found in Meta Business Settings → Ad Accounts)
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.

Setup

1

Authenticate with Meta Business

In the Upstack dashboard, navigate to Integrations → Sources and click Connect Facebook Ads.Click Sign in with Meta to begin the OAuth flow. Log in to your Meta Business Manager account and grant Upstack permission to read your advertising data.
Upstack requests read-only permissions: ads_read and read_insights. No permissions to create, modify, or spend on campaigns are requested.
2

Select ad accounts

After authentication, Upstack displays all ad accounts associated with your Meta Business Manager. Select the account(s) you want to sync.You can connect multiple ad accounts if you manage separate accounts for different brands or regions. Each account appears as a separate source in the Upstack dashboard.
Select the correct accounts. Upstack imports spend data for the selected accounts and uses it for ROAS calculations. If you connect the wrong account, your cost metrics won’t match your conversion data.
3

Authorize and start sync

Review the data access summary and click Confirm. Upstack immediately begins syncing your ad account data.The initial sync imports the last 90 days of campaign performance data. After the initial sync, Upstack pulls updated metrics every 6 hours.

What Data Flows In

MetricDescriptionGranularity
SpendTotal amount spent per campaign/ad set/adDaily
ImpressionsNumber of times ads were shownDaily
ClicksLink clicks on adsDaily
CPMCost per thousand impressionsDaily (calculated)
CPCCost per clickDaily (calculated)
CTRClick-through rateDaily (calculated)
ReachUnique accounts that saw adsDaily

Campaign Structure

Upstack also imports the full campaign hierarchy:
  • Campaigns — name, objective, status, budget
  • Ad Sets — name, targeting, placement, bid strategy
  • Ads — name, creative ID, status
This structure enables drill-down reporting from campaign-level ROAS down to individual ad performance inside the Upstack dashboard.
Upstack syncs data at the ad level and aggregates up. This means you can report at any level of the campaign hierarchy — campaign, ad set, or ad — without any additional configuration.

You’ll Know It’s Working When…

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.
  • Your Facebook Ads source shows Connected status in the Upstack dashboard under Integrations → Sources
  • Campaign data appears in the Sources → Facebook Ads detail page within 30 minutes of initial connection
  • Spend metrics are visible in Analytics → Attribution reports alongside your conversion data
  • ROAS calculations populate for campaigns that have both spend data and attributed conversions

Troubleshooting

Check the sync status in Integrations → Sources → Facebook Ads. The initial 90-day backfill can take up to 30 minutes depending on the volume of campaigns.If no data appears after 1 hour:
  1. Verify the connected ad account has campaigns with spend in the last 90 days
  2. Check that your Meta Business Manager token hasn’t been revoked (go to Meta Business Settings → Users → System Users and verify the Upstack integration is still authorized)
  3. Try disconnecting and reconnecting the source
Small discrepancies (under 5%) between Upstack and Meta Ads Manager are normal due to timezone differences and Meta’s post-attribution adjustments.Common causes of larger discrepancies:
  • Timezone mismatch — Upstack normalizes spend to UTC. If your Meta account uses a different timezone, daily totals may shift between days.
  • Attribution window differences — Upstack imports raw spend (actual dollars spent), not attributed spend. If you’re comparing to a Meta report using attributed metrics, the totals will differ.
  • Multiple ad accounts — ensure you’ve connected all ad accounts that contribute spend for your store.
Meta OAuth tokens can expire or be revoked if your Business Manager permissions change.If the source status shows an error:
  1. Go to Integrations → Sources → Facebook Ads
  2. Click Reconnect to re-authenticate with Meta
  3. Re-select your ad accounts and confirm
Data sync resumes automatically after reconnection. Any data missed during the disconnection is backfilled during the next sync cycle.

Still stuck? Contact support@upstackdata.com with your Pixel ID and a description of the issue. We typically respond within a few hours.

Meta CAPI Destination

Send conversion events to Meta — the outbound counterpart to this inbound source.

Attribution and Reporting

How Upstack blends ad spend data with conversion events to calculate ROAS and CPA.

Connect Google Ads

Import Google Ads spend data to get a complete picture of your paid media performance.

Integration Catalog

Browse all available sources and destinations.