All help articles
Getting started

Connect Meta Ads

Sign in with Facebook, pick your Meta ad accounts, and Crowflow pulls campaign-level daily insights into your Sheet. Same shape as Google and Microsoft, with a Meta-specific definition of Conversions.

5-min read · Last updated 29 May 2026

What we’ll do

When you connect Meta, Crowflow asks for the ads_read scope — read-only access to insights for the ad accounts you pick. We use the Marketing API at version v22.0 and the /act_X/insights endpoint at campaign level with daily granularity.

You can revoke Crowflow’s access at any time from your Meta Accounts Center → Apps and websites.

Connect your account

  1. Sign in to Crowflow.
  2. Open Connections and click Connect Meta Ads.
  3. Sign in with the Facebook identity that has admin access to the ad account(s) you want synced.
  4. Approve the ads_readpermission. You’re returned to Crowflow with a long-lived token (~60 days).

We auto-refresh the long-lived token before it expires, so a daily-sync workspace never sees a stale connection. If you’re away for long enough that the token does expire, Crowflow flips the connection to Reconnect needed.

App Review & test users

Before your Crowflow app passes Meta App Review, only test users added under your Meta app’s Roles tab can grant ads_read. Real customers will see a permission error during OAuth or get an empty account list back. App Review approval typically takes 3–8 weeks.

During App Review you’ll be asked to demo the full Crowflow flow with a recorded screencast: signing in, picking an ad account, pulling insights, and pushing them to a Sheet. See your Meta for Developers dashboard → App Review → Permissions and Features → ads_read to start.

Pick accounts to sync

On the Meta Ads connection page, click Load accessible accounts. Crowflow calls /me/adaccounts and lists every ad account you have read access to.

Toggle the accounts you want synced. Your plan tier sets a maximum total across Google, Microsoft, and Meta combined — see plan limits.

What syncs, what doesn’t

Same opinionated daily schema as the other platforms:

  • Date
  • Platform (Meta Ads)
  • Campaign name
  • Impressions
  • Clicks
  • Conversions (see next section)
  • Spend (in account currency)

Meta returns much more in insights than we sync — breakdowns by age, gender, placement, device, time-of-day, etc. We deliberately don’t pull those. If you need deeper detail than campaign-level daily, Crowflow isn’t the right tool — try Funnel.io or Supermetrics.

What counts as a Conversion?

Meta returns an actions array per row with dozens of possible action types (link clicks, engagement, video views, etc.). Crowflow sums only the ones that represent a business outcome:

  • Standard events: lead, complete_registration, purchase, subscribe, submit_application, start_trial, schedule, contact, find_location
  • Pixel offsite conversions: lead, purchase, complete_registration, subscribe, initiate_checkout, add_to_cart, custom
  • Onsite conversions (Meta-hosted): lead_grouped, purchase, complete_registration, messaging_conversation_started_7d
  • App events: mobile_app_install, mobile purchase, complete_registration, add_payment_info

Engagement-style actions (link_click, post_engagement, page_engagement, video_view, post_reaction) are notcounted. If your account uses custom action types we haven’t mapped, email hello@crowflow.iowith the names you see — we’ll extend the list.

First sync & refresh

Click Refresh nowfrom the dashboard. The first sync backfills up to your plan’s history window (30 days on Free, 13 months on Starter / Pro), chunked monthly. Subsequent daily syncs pull the last 30 days.

A partial run that times out can resume — already-synced months are skipped on the next click, same as Google.

Troubleshooting

“listAdAccounts returned 0 accounts.” Either the Meta identity you connected has no ad-account access, or your app is still pending App Review and the signed-in user isn’t a Meta-app-role test user. Add them under your app’s Roles tab, or wait for App Review.

Token expired / Reconnect needed.Meta’s long-lived token is good for ~60 days. Crowflow auto-refreshes within the last 7 days of validity; if the connection sits idle past then, the next refresh will fail and the dashboard prompts a reconnect.

Conversions column shows 0.Either your campaigns genuinely had no conversions in the period, or they fire an action type we don’t map. See What counts as a Conversion? and email us if you think we missed one.

Related help