Connect Meta Ads

Campaign, ad-set, and ad performance from Meta (Facebook & Instagram) — synced into your picoask warehouse and unified with your other ad platforms.

1What you'll need

  • Admin access to the Meta Business Manager that owns the ad account.
  • Your Ad Account ID — the numeric id (e.g. 1234567890) shown in the Ads Manager URL as act=<id>, or under Business Settings → Accounts → Ad accounts.

2Create a system user & token

picoask reads via a Business Manager system user — a non-human identity whose token doesn't expire when an employee leaves or changes their password.

  • In Business Settings → Users → System users, create a system user (Employee role is enough; Admin is not needed to read ads data).
  • Under Assigned assets, give that system user access to the ad account you want picoask to read.
  • Click Generate new token, pick your app (or the default business app), and select the ads_read permission. Choose the never-expiring / 60-day long-lived option your Business Manager offers.
  • Copy the token — Meta shows it only once.

3Connect in picoask

In your project's Integrations tab, choose Meta Ads → Connect and fill in exactly two things:

  • Ad Account ID — the numeric id from step 1 (no act_ prefix).
  • System-user access token — the long-lived ads_read token from step 2.

picoask validates the credentials against the Meta API before saving. Credentials are stored encrypted and used only by the sync worker.

4What happens next

  • picoask backfills your campaign history, then keeps the data synced on a regular cadence with a lookback window so late-arriving conversions are corrected.
  • Meta data lands in your picoask warehouse in a unified ad-reporting model, so questions like "which channel drove CAC up?" compare Meta, Google Ads, and GA4 side by side — CPC, CTR, ROAS, and CAC are pre-defined.

5Troubleshooting

  • "Invalid OAuth access token" — the token was truncated when pasting, or has expired. Generate a new system-user token and reconnect.
  • "(#200) permission denied" — the system user isn't assigned to this ad account, or the token is missing the ads_read scope. Fix the assignment in Business Settings and generate a fresh token.
  • Account not found — double-check the numeric id; use the ad account's id, not the Business Manager id.
Stuck?

Email contact@picoask.ai with a screenshot of the error and we'll get you connected. See also the picoask docs.