← All docsChannel setup · Meta

Meta — Pixel and Conversions API

Server-side dispatch to Meta. Pair the Pixel ID with a long-lived Conversions API access token, optionally enable hybrid mode for first-party fbp/fbc cookies.

Reading time: ~5 minLast updated: 2026-05-02

What you'll need

  • A Meta Business account with a Pixel attached to your domain.
  • Admin or "Manage Pixel" permission on the Pixel.
  • About 5 minutes.

1. Find the Pixel ID

  • Open Meta Events Manager at business.facebook.com/events_manager.
  • Pick the Pixel that should receive Beaconry events.
  • The Pixel ID (16 digits) is shown at the top. Copy it.

2. Generate a Conversions API access token

  • In the same Pixel view, click Settings → Conversions API → Set up direct integration → With Dataset Quality API.
  • Click Generate access token.
  • Important: in the scope picker, select only the Pixel for this Beaconry install. Do not grant the token to other Pixels you don't intend to track from here.
  • Verify the result shows Expires: Never. Beaconry needs a long-lived system-user token, not a 60-minute graph token.
  • Copy the token immediately. Meta only shows it once.

3. Paste credentials into Beaconry

WordPress Admin → Beaconry → Tracking → Meta. Paste the Pixel ID and the access token. Save the form.

The token is encrypted at rest with AES-256-CBC using your WordPress auth salts. If you prefer constants, define BCNR_META_PIXEL_ID and BCNR_META_CAPI_TOKEN in wp-config.php and leave the form fields blank.

4. (Optional) Set a Test Event Code

While you're staging, in Meta Events Manager open the Test Events tab and copy the TEST* code. Paste it into Beaconry's "Test Event Code" field. Every event Beaconry sends will be tagged with that code and routed to Test Events instead of going live.

Remove the test code before you launch a campaign, otherwise live conversions never reach Meta's reporting layer.

5. Send the test event

Click Send Meta test event on the Tracking tab. Beaconry fires a synchronous ViewContent through CAPI and reports the response inline.

HTTP 200 with no error means credentials work. With Test Event Code set, the event lands in Events Manager → Test Events within a few seconds. Without the test code, it appears in Reports → Realtime within ~30 seconds.

6. Recommended Meta dataset settings

These are inside Meta, not Beaconry. They unlock match-rate and avoid common pitfalls.

Required:

  • Domain Verification. Business Settings → Brand Safety → Domains. iOS 14.5+ requires this for any conversion attribution.
  • Trusted domains list. Pixel → Settings → Traffic Permissions. Add every production domain you advertise from.
  • Aggregated Event Measurement. Up to 8 priority events per verified domain, ordered by importance (Purchase > SubmitApplication > Lead > ViewContent).

Turn off:

  • Automatic Advanced Matching. GDPR risk. Beaconry already hashes the same fields server-side under your control.
  • Automatic event tracking without code. Heuristic conflicts with the explicit Beaconry events.
  • Conversions API Gateway / Signals Gateway / Partner Integration. Beaconry is the direct CAPI integration.

7. (Optional) Hybrid mode — browser pixel

Server-side CAPI alone covers 100 percent of consenting visitors. Hybrid mode loads fbevents.js in parallel so Meta sees the visitor's first-party fbp and fbc cookies. Beaconry deduplicates browser and server events via the same stable event_id.

Toggle it on in Beaconry → Tracking → Meta → Hybrid mode. Better match-rate, slightly more bytes shipped to the visitor. Off by default.

What ships automatically

  • PageView on every consented page load.
  • ViewContent at 50 percent scroll plus 10 seconds of engagement.
  • Lead on every Kadence Blocks Form or Fluent Forms submission.
  • WooCommerce funnel: AddToCart, InitiateCheckout, Purchase. Stable per-order event_id for browser-pixel deduplication.

Troubleshooting

  • "Invalid OAuth access token". The token is short-lived. Re-issue with "Expires: Never".
  • Events not in Test Events. Test Event Code missing or expired. Generate a fresh one in Events Manager.
  • Match Quality is "Poor". Domain Verification or AEM setup is missing inside Meta. Beaconry sends the right fields, Meta needs domain trust to use them.