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.
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
- Sign in to Crowflow.
- Open Connections and click Connect Meta Ads.
- Sign in with the Facebook identity that has admin access to the ad account(s) you want synced.
- 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
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.