IndiSell Docs Dashboard →
Grow revenue

Set up Meta Pixel & Conversions API

Where to find your Meta Pixel ID and Conversions API token, and how IndiSell fires and deduplicates browser and server events.

IndiSell fires purchase events to Meta both in the browser (Pixel) and server-side (Conversions API), deduplicated by order id — so you get CAPI's reliability without double-counting.

What IndiSell needs

IndiSell field (Conversions → Meta)What it isLooks like
Meta Pixel IDYour pixel / dataseta 15–16 digit number
Conversions API access tokenAuthorises server-side eventsa long token
Test event code (optional)For verifying setupTEST12345

Step 1 — Pixel ID

1
Open Events Manager

Go to Meta Events Manager and select your Pixel / Dataset (create one via Connect data sources → Web if you don't have it).

2
Copy the ID

The Dataset ID (a.k.a. Pixel ID) shows under the dataset name — a long number. Paste it into Meta (Facebook) Pixel ID.

Step 2 — Conversions API token

1
Settings → Conversions API

In the dataset, open Settings → scroll to Conversions API → Generate access token.

2
Copy the token

Copy it once (it's shown once) and paste into Conversions API access token in IndiSell. It's encrypted at rest.

Step 3 — Verify (optional)

1
Grab the test code

Events Manager → your dataset → Test events tab → copy the Test event code (TESTxxxxx).

2
Paste & place a test order

Put it in Test event code, place a test order, and watch it appear in the Test events tab. Remove the code when you're done.

How the events actually fire

IndiSell sends three events — InitiateCheckout (checkout opened), AddPaymentInfo (payment method chosen), and Purchase (order placed) — on two paths:

PathNeedsFires forNotes
Browser PixelPixel ID onlyEvery shopper, all trafficRuns in the shopper's browser; ad-blockers / iOS ITP silently eat ~10–30%.
Conversions APIPixel ID + access tokenThe Purchase, server-sideSends hashed phone/email + fbp/fbc + IP; recovers what the browser drops.

Both carry the same event_id = the order id, so Meta deduplicates them — you never double-count.

Is the Conversions API token required?

No — the Pixel works with just the Pixel ID. With only the ID set, the browser Pixel still fires all three events. The token is what turns on the server-side Purchase.

It's optional but strongly recommended: without it you get browser-only tracking (lower match quality, conversions lost to ad-blockers and iOS). With it, IndiSell sends the server Purchase deduplicated against the browser event — the setup Meta recommends.

Does it only fire for shoppers from Meta ads?

No. The Pixel fires for every visitor and every purchase — organic, direct, Google, email, or Meta ads. What's ad-specific is attribution: Meta credits a sale to an ad only when the shopper arrived with a click id (fbclid → fbc, or a matching fbp). Non-ad orders still fire and feed audience building + pixel learning; they just aren't credited to ad spend. Passing fbc/fbclid via CAPI is what lets Meta attribute the server-side Purchase back to the ad that was clicked.

Multiple pixels

⚠️
IndiSell fires to the one Pixel ID you configure here — not to every pixel on your Meta account.

If your store has several pixels (common after agency changes, or from Shopify's "Facebook & Instagram" app stacking them):

  • Server-side (CAPI) goes to only the one configured pixel.
  • Browser-side, Purchase fires to every pixel already initialised on the page — so if your theme/another app loaded 5 more, they'll receive the browser event too, but with no CAPI backing.

Meta's best practice is one pixel per website: pick the pixel your ads optimise against, put its ID here, and remove the extras in Events Manager. Segment with custom conversions and share audiences across ad accounts instead of running parallel pixels — multiple pixels fragment attribution and audiences.

💡
Server-side events include the OTP-verified phone (hashed), which improves Meta's match quality — the same advantage that makes IndiSell's Google enhanced conversions strong.