Skip to main content
Meta (Facebook + Instagram)

§ 10 · Platform guides

Meta (Facebook + Instagram)

Set up Meta Conversions API with automatic fbp/fbc propagation, event_id deduplication, and server-side delivery through TrackLayer.

Meta (Facebook + Instagram)

Meta Conversions API with automatic fbp/fbc propagation and event_id dedup.

Use this guide when you want TrackLayer to receive browser or server events once, then forward them to Meta in the format Meta expects. The goal is simple: one event record, one deduplicated delivery path, and a clean Test Events view in Events Manager before you send production traffic.

Setup

  1. Open Meta Events Manager and copy the Pixel ID for the data source you want to use. In the same business, generate a Conversions API Access Token. If the token belongs to a system user, confirm it still has permission to manage the ad account and pixel.

  2. In TrackLayer, open Platforms and choose Meta. Paste the Pixel ID and Access Token into the Meta connector. Save the connection. If TrackLayer shows a credential validation error, fix that before firing any test traffic.

  3. Fire a test event from your site or from your server integration. A standard purchase, lead, or add_to_cart event is enough. If your storefront already has the TrackLayer browser collector installed, use a real browser session so fbp, fbc, IP, and user agent can be captured normally.

  4. Go back to Events Manager and open Test Events for the same pixel. You should see the event arrive as a Conversions API event. If you are using a browser pixel and TrackLayer together, verify that Meta shows the events as deduplicated rather than counted twice.

  5. Decide whether to keep the browser pixel running. If you only want server-side delivery, turn the client pixel off after validation. If you still need client-side pixel features such as audience building or certain on-page remarketing behaviors, keep it on and rely on event_id deduplication.

How the event flows

Browser / app
  -> TrackLayer /ingest
  -> normalize + attach identifiers
  -> server-side CAPI request
  -> Meta Conversions API

TrackLayer does not ask you to maintain separate browser and server payloads. You send the event once. We normalize common fields such as event_name, event_time, event_id, value, currency, and user identifiers, then shape the final Meta request on the server side.

What we handle for you

TrackLayer fills in the operational parts that usually make Meta setups noisy:

  • event_id dedup so browser and server events collapse into one conversion in Events Manager
  • fbp and fbc propagation when the identifiers are available on the landing page or checkout flow
  • payload shaping to improve Event Match Quality (EMQ) instead of shipping partial payloads blindly
  • API version bumps on the Meta endpoint so you are not manually rewriting requests every time Meta changes the path version

That means your implementation work stays focused on collecting correct source data, not on matching every Meta schema change by hand.

Data to send

For Meta to match reliably, send as many stable identifiers as you can. Email and phone should already be normalized before they reach TrackLayer. For purchases, include the order reference, value, and currency. For click-through traffic, preserve the landing-page query string so fbclid can become fbc. If you strip query parameters during redirects, Meta will still receive the event, but attribution quality often drops.

If you are sending events from your backend, keep the original browser context when possible. IP, user agent, and click identifiers improve match rates. When those are unavailable, Meta may still accept the event, but EMQ will be lower and attribution can look incomplete compared with the browser pixel.

Troubleshooting

No events in Test Events

Make sure you are checking the same pixel ID that TrackLayer is configured to use. This is the most common mistake. After that, confirm the Access Token is valid and that your event is actually reaching TrackLayer before you debug Meta.

Low match quality

Low EMQ usually means user identifiers are missing or malformed. Check whether email, phone, IP, user agent, fbp, or fbc are absent on the incoming event. Also confirm you are not losing click parameters on redirects or cross-domain hops.

Test event code missing

If you expect a test code in Events Manager, remember that some flows only need the standard Test Events console view, not a separate code field. If your team is using a manual Meta test code workflow, pass the code consistently from the test session through TrackLayer so the event lands in the expected console.

Once Test Events looks correct, move on to normal traffic and watch Event Match Quality, dedup behavior, and rejected-event counts for the first day.

-> Back to all platforms

We use essential cookies to keep the site secure and functional. Analytics and third-party tags run only with your consent. See our Cookie Policy.

We use essential cookies to keep the site secure and functional. Analytics and third-party tags run only with your consent. See our Cookie Policy.