Meta — manual setup

Manual flow for connecting Meta's Conversions API. Use this when OAuth doesn't work for your Business Manager — common for agency-managed Business Managers, accounts with custom roles, or pixels owned by a different business than your AdsPing-linked account.

Prefer OAuth? Click Connect Meta on the pixel detail page — it grants the same access in one consent screen and AdsPing rotates the token automatically. The manual flow below is for situations where OAuth fails, your client wants to issue their own token, or you're standing up a long-lived System User token.

Before you start

Make sure these three things are true. If any aren't, fix them first — otherwise the steps below won't complete.

  • You have admin access to the Business Manager that owns the pixel. "Owns" means the pixel was created inside that Business — visible at business.facebook.com/settings/owned-pixels. Personal Facebook accounts can't generate Conversions API tokens — pixels need to live inside a Business.
  • The pixel exists and is associated with your domain. If you don't have one yet, create it: Events Manager → + Connect Data SourcesWeb Connect → name + URL.
  • (Recommended) Your domain is verified in Business Manager. Domain verification isn't strictly required for Conversions API to forward events, but it unlocks Aggregated Event Measurement (AEM) — which you need for iOS 14.5+ campaigns. Verify at business.facebook.com/settings/owned-domains.
Naming change: Meta is rolling out a rename from "Pixel" to "Dataset" across Events Manager (started late 2024). The numeric ID stays the same — only the label in the UI changes. Some accounts still see "Pixel ID" everywhere; others see "Dataset ID". AdsPing accepts either label — paste the number.
1

Open Meta Events Manager

Sign in with the email tied to your Business Manager. Personal Facebook accounts that aren't linked to a Business can browse Events Manager but can't generate API tokens.

Direct link: business.facebook.com/events_manager2/list/dataset. If Facebook redirects you to a personal feed, you're not signed in to Business Manager — switch accounts via the avatar in the top-right.

Note:If you manage multiple Business Managers (common for agencies), Events Manager scopes to one at a time. The Business name is shown in the top-left header — click it to switch.

Screenshot pending

Meta Events Manager — Business switcher

Top-left dropdown shows the active Business Manager. Click to see the list of Businesses you have access to. Real screenshot to be inserted here.

Switch to the Business that owns the pixel before continuing.
2

Locate your dataset (formerly "pixel")

Events Manager opens to the "Data sources" list. Each row is one pixel/dataset.

Click the row that matches your domain. If you have many datasets and aren't sure which is which, the dataset name + URL hints are usually enough. Pixel IDs that match your install snippet on your site (fbq('init', '…')) are the ones to pick.

business.facebook.com/events_manager2/list/dataset
  • Data sources
  • Custom conversions
  • Partner integrations
  • Events Manager Settings

Data sources

Click a row to open the dataset detail

Acme Inc — Web Pixel

Dataset ID · 1234567890123456 · acme.com

Active
1Click to open

Acme Inc — App SDK

App ID · 9876543210987654

Old test pixel

Dataset ID · 5555555555555555

Screenshot pending

Meta Events Manager — Data sources list

Real screenshot of your Events Manager Data sources list. Useful so users see exactly which row layout to look for.

Real screenshot — to be added
3

Copy the Pixel ID (Dataset ID)

The 15-16 digit numeric ID that uniquely identifies your pixel. It's the same value Meta calls "Pixel ID" in older UI and "Dataset ID" in the newer rollout.

The ID appears in three places on the dataset detail page:

  • In the URL. business.facebook.com/events_manager2/list/dataset/1234567890123456
  • In the page header subtitle, right under the dataset name.
  • On the Settings tab → "Dataset" section, with a copy-to-clipboard icon.

Any of the three is fine — pick the easiest one for you.

business.facebook.com/events_manager2/list/dataset/1234567890123456/overview

Acme Inc — Web Pixel

Dataset ID · acme.com · 1234567890123456
2Copy this number
⋯ Open menu
OverviewTest eventsDiagnosticsHistorySettings

Last 7 days

2,431

+12% events

Event Match Quality

7.4 / 10

Browser + Server

Active events

8 types

PageView, Lead, …

Screenshot pending

Meta Events Manager — dataset detail page header showing Pixel ID

Capture the top of the dataset detail page so the Pixel/Dataset ID location is unambiguous. Highlight or arrow it if possible.

Real screenshot — to be added

Note:Old test pixels reuse 16-digit IDs. Always copy from the dataset you actually use in production. Mismatched IDs are the #1 reason new setups don't show events.

4

Generate an access token

Settings tab → scroll to "Conversions API" → click "Generate access token". Meta shows the token exactly once — copy it the moment it appears.

Open the Settings tab (last tab in the row). Scroll past the "Dataset" basics section until you see Conversions API. Inside that block, the "Set up manually" option (or simply "Generate access token") is what you want.

business.facebook.com/events_manager2/list/dataset/.../settings
OverviewTest eventsDiagnosticsHistorySettings

Conversions API

Send web events server-side, bypassing browser tracking limitations

Use the Conversions API to share web events directly from your server. This complements the browser pixel and helps you recover events that ad blockers and iOS 14.5+ tracking limitations would otherwise drop.

Set up via partner

Pick from a list of integrations (Shopify, Zapier, …). AdsPing isn't in this list.

Set up manually

Generate an access token to use with your own server. ← pick this for AdsPing.

3Click here
+ Generate access token

Clicking "Generate access token" opens a dialog with the token, plus an option to attach a description (so future-you can tell which integration it's for).

business.facebook.com/events_manager2/list/dataset/.../settings

Generate access token

Use this token with your custom server-side integration. Treat it like a password — it has full read/write on this dataset.

Description (optional)

AdsPing — production

Your access token

EAARtokenAbCdEfGhIj1234567890KlMnOpQrStUvWxYz...📋 Copy

⚠ Save this somewhere safe — Meta won't show it again. If lost, generate a new one.

Screenshot pending

Meta Events Manager — Conversions API token generation modal

Capture the dialog that pops up when you click 'Generate access token'. Mask the actual token value before sharing — just show the dialog layout.

Real screenshot — to be added
Token expiration: Tokens generated this way are tied to the user who created them. They expire if the user's Facebook session expires and they're signed out for ~60 days. For production, the recommended path is a System User token (never expires, survives staff turnover) — covered at the bottom of this page.
5

Paste both values into AdsPing

Pixel detail page → Meta card → Manual setup. Two fields, two paste-and-save.

adsping.io/dashboard/pixels/abc-1234/settings

Meta CAPI — Manual setup

Server-side conversion forwarding to Meta CAPI

1234567890123456
4Paste Pixel ID

The 15–16 digit number from step 3 above

EAARtokenAbCdEfGhIj1234567890KlMnOpQrStUvWxYz...
5Paste token

The long string from step 4 — usually starts with EAA...

TEST12345

You'll fill this in later when testing — see step 6

SaveCancel

When you click Save, AdsPing immediately calls Meta's Graph API at GET /v20.0/{pixel_id} using your token. If the token is valid and has access to the pixel, the Meta card flips green within ~2 seconds. If not, AdsPing surfaces the exact error (e.g. (#190) The access token could not be decrypted) so you know what to fix.

Note:AdsPing encrypts the token with AES-256-GCM before storing it. Plaintext is never written to disk or logs — even our own ops team can't read it back.

6

Verify the connection

Don't fire fake conversions into your production attribution data. Use Meta's Test Events tab and AdsPing's per-pipeline Test Event Code to verify before going live.

  1. Go to Meta Events Manager → your dataset → Test events tab.
  2. Copy the test event code shown at the top (format TEST12345).
  3. In AdsPing → pixel detail → Pipelines section → click the pencil on the Meta pipeline.
  4. Paste the code into Test Event Code field → Save.
  5. The pipeline gets an orange "Test mode" badge in the list — visual confirmation events are routed to Meta's test stream.
  6. Trigger an event on your site. Within ~2 seconds it should appear in Meta's Test Events tab with source = Server. If your browser pixel is also installed, you'll see Both with a Deduplicated badge.
  7. When verified, clear the Test Event Code on the AdsPing pipeline → Save. Production events flow into your normal attribution from then on.
business.facebook.com/events_manager2/list/dataset/.../test-events
OverviewTest eventsDiagnosticsHistorySettings

Test events

Validate setup without affecting production reporting

Your test code: TEST12345

Send any event with this code in the body and it'll show up here instead of production reporting.

PageViewServer

Just now · event_id=abc-123 · em ✓ ph ✓ fbp ✓

LeadBoth · Deduplicated

2 seconds ago · event_id=def-456 · em ✓ ph ✓ fbp ✓ fbc ✓

Seeing events with Both · Deduplicated means AdsPing's server-side fire and Meta's browser pixel are arriving with the same event_id and Meta merged them. That's the gold standard — server reliability with browser fingerprint match signals.

Common issues

(#190) The access token could not be decrypted

The token you pasted is malformed (extra whitespace, partial copy) or was revoked. Go back to step 4, generate a fresh token, and paste again. Make sure you copy the entire string — Meta's token boxes have horizontal scroll that can hide the tail end.

(#200) Permissions error

The token is valid but doesn't have ads_management on the dataset. Two possible fixes:

  • The user who generated the token isn't a pixel admin — go to Business Manager → Owned Pixels → click the pixel → Add People → grant Manage.
  • The pixel isn't owned by the same Business as the user. Move the pixel to the right Business (or generate the token from a user inside the owning Business).

Events look correct in AdsPing but not in Meta

  • Test Events tab requires a Test Event Code — without it events go to production, not Test Events.
  • Meta's production reporting has 1-3 minute delay during peak hours. The Test Events tab is real-time though.
  • If Diagnostics tab shows your events but they're flagged with warnings (e.g. "missing user_data fields"), match quality is low — fix the underlying data issue (typically missing email/phone capture in the form).

Match Quality below 6

  • The single biggest contributor: email + phone on form-submit events. Make sure your form fields use the standard attributes name="email" and name="phone" — pb.js scrapes these automatically.
  • fbp cookie not present = browser pixel never loaded on this user's session. Check that pb.js is in <head> (not bottom-of-body) and that pixel auto-injection is firing.
  • fbc click ID requires the visitor to have arrived with ?fbclid= in the URL. Direct visitors won't have it — that's normal and not fixable.

System User token (advanced — recommended for production)

Tokens generated through the "Generate access token" UI button (steps 4 above) are User Access Tokens — they belong to you personally. If you leave the company, get logged out, or rotate Facebook passwords, the token can stop working without warning.

For long-running production setups, generate a System User Access Token instead. System Users are non-human Business accounts; their tokens never expire and survive staff turnover. The setup is two extra clicks.

Create a System User

  1. Go to business.facebook.com/settings/system-users.
  2. Click + Add → name it adsping-prod (or similar) → Role: Admin.
  3. Save.

Grant pixel access to the System User

  1. Click the System User you just created → Add Assets Pixels.
  2. Pick your pixel → set permission to Manage Pixel (= the toggle for full read/write).
  3. Save.

Generate a token

  1. Same System User detail page → Generate New Token.
  2. Pick the App: any Meta app you have access to (or create a stub one).
  3. Permissions: tick ads_management + business_management.
  4. Token expiration: Never.
  5. Generate → copy the token.

Paste this System User token into AdsPing's Meta card (same field as the User Token in step 5). Same token format, same Graph API endpoints — AdsPing can't tell them apart, but Meta's backend trusts the System User token indefinitely.

Recap: User token = quick to set up, expires unpredictably. System User token = ~5 extra minutes to set up, never expires. For Pazartesi launch, use a User token; switch to System User before the trial ends.

Next