Skip to content

Server-side events · Platform reference

Meta Conversions API checker

The Meta Conversions API lets your server POST web, app, offline and messaging events straight to a Meta Pixel (dataset) ID, alongside or instead of the browser Pixel. Events usually show as received but go unattributed because of weak or wrongly formatted customer information (hashed fbc/fbp, missing IP or user agent, phone without country code), an event_time more than 7 days old, or an event_id that doesn't match the Pixel's eventID.

Read from the official documentation on 9 November 2026. Sources are listed at the end.

Check your own setup

Paste a Meta CAPI JSON payload and the checker flags the problems above: fbc/fbp format (and whether they were hashed), event_time older than 7 days, a missing or invalid action_source, unhashed contact fields, a missing event_id for dedup, and Purchase without value/currency. It can't see your Pixel, so it can't confirm that the browser eventID really matches.

Open the Meta CAPI Event Checker

Endpoint and authentication

POST https://graph.facebook.com/{API_VERSION}/{PIXEL_ID}/events

access_token query parameter carrying the Conversions API access token you generate for the Pixel/dataset

Standard event names

Spelled exactly as Meta expects them. A near miss is treated as a different event.

EventUse it for
Purchasethe only standard event Meta marks as requiring value and currency
Leadlead or form submission
CompleteRegistrationsign-up completed
InitiateCheckoutcheckout started; value and currency optional
AddToCartvalue and currency optional
AddPaymentInfopayment details added
ViewContentkey page or product view
Subscribepaid subscription started
StartTrialfree trial started
Contactcontact made (call, SMS, email, chat)
Scheduleappointment booked
SubmitApplicationapplication submitted
Searchsite search
AddToWishlistwishlist add
CustomizeProductproduct customised
Donatedonation
FindLocationstore locator use

Required and recommended fields

FieldWhat it needs
event_nameRequired. Standard or custom event name; it is also half of the dedup key
event_timeRequired. Unix timestamp in seconds; at most 7 days in the past
user_dataRequired. Customer information object (see matchKeys)
action_sourceRequired. One of email, website, app, phone_call, chat, physical_store, system_generated, business_messaging, other. Meta says that by using the API you agree the value is accurate
event_source_urlMarked optional, but required for website events sent through the Conversions API
user_data.client_user_agentRequired for website events; not hashed; must be set manually for server events
event_idOptional but recommended for deduplication; Meta recommends sending it (and external_id) on all events
custom_data.value + custom_data.currencyRequired for Purchase
data_processing_optionsOptional; if you send LDU, data_processing_options_country is required

Match keys and hashing

KeyNormalise and hash
emSHA-256 required. Trim leading and trailing spaces and lowercase first
phSHA-256 required. Remove symbols, letters and leading zeros; always include the country code, e.g. (650)555-1212 becomes 16505551212
fn / lnSHA-256 required. Lowercase, no punctuation; special characters UTF-8 encoded
dbSHA-256 required. YYYYMMDD, e.g. 19970216
geSHA-256 required. f or m
ctSHA-256 required. Lowercase, no punctuation, no special characters, no spaces (newyork)
stSHA-256 required. US: lowercase 2-letter ANSI code (ca); elsewhere lowercase with no punctuation, special characters or spaces
zpSHA-256 required. Lowercase, no spaces or dashes; US first 5 digits only; UK area+district+sector (m11ae)
countrySHA-256 required. Lowercase ISO 3166-1 alpha-2 (us)
external_idSHA-256 recommended, not required. Any unique advertiser ID
client_ip_addressNever hash. Valid IPv4 or IPv6, no spaces
client_user_agentDo not hash
fbcDo not hash
fbpDo not hash
lead_idDo not hash. Integer ID from Meta Lead Ads

Click ids

Click idWhere it comes from
fbcFrom the _fbc cookie. Format fb.${subdomain_index}.${creation_time}.${fbclid}, e.g. fb.1.1554763741205.AbCdEf...; send it unhashed in user_data
fbpBrowser ID from the _fbp cookie. Format fb.${subdomain_index}.${creation_time}.${random_number}, e.g. fb.1.1596403881668.1116446470; unhashed
ctwa_clidClick-to-WhatsApp click ID; do not hash

Deduplication

Time limits and batch sizes

How to test before you trust it

Why events arrive but don't attribute

Sources

Platforms change these rules without notice. If a source says something different from this page, the source wins.

Other platforms

All platforms