Meta
Platform Summary
Meta Pixel and Conversions API contracts.
Scope
Primary execution surface: hybrid.
Developer Source Map
| Source | Reason |
|---|---|
| developers.facebook.com/docs/marketing-api/conversions-api/deduplicate-pixel-and-server-events | Event Contracts |
| developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters | Normalization Rules; User Data Contracts |
| developers.facebook.com/docs/marketing-api/conversions-api/parameters/server-event | Event Contracts |
| developers.facebook.com/docs/meta-pixel/advanced/advanced-matching | Normalization Rules; User Data Contracts |
| Meta Conversions API Parameters | events, payload, user data |
| Meta Pixel Advanced Matching | user data, normalization, hashing |
RudderStack Cross-Check
RudderStack is used here only as secondary engineering evidence for discovery and cross-check.
| Destination | Type | Link |
|---|---|---|
facebook_pixel | Discovery lead | source |
facebook_conversions | Discovery lead | source |
facebook_offline_conversions | Discovery lead | source |
Verified Contracts
Event Contracts
| Object / Event | Field | Applies To | Type | Requirement | Exact Format | Normalization | Hashing | Examples | Caveat | Primary Source | Status | Confidence |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
event | action_source | server | string | Required | Source of conversion (for example website, app, phone_call, physical_store). | Not clearly specified | Not clearly specified | ["email","website","app","phone_call","chat","physical_store","system_generated","business_messaging","other"] | Required for Conversions API events. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/server-event | Verified | High |
event | currency | hybrid | string | Conditional | 3-letter currency code in Purchase examples. | Not clearly specified | Not clearly specified | USD | Meta examples show Purchase with currency next to value. | developers.facebook.com/docs/marketing-api/conversions-api/deduplicate-pixel-and-server-events | Verified | Medium |
event | event | hybrid | string | Required | Browser event name; for deduplication it must match server event_name. | Not clearly specified | Not clearly specified | Purchase | Deduplication compares Pixel event with CAPI event_name. | developers.facebook.com/docs/marketing-api/conversions-api/deduplicate-pixel-and-server-events | Verified | High |
event | event_id | hybrid | string | Conditional | Unique event identifier used for deduplication. | Not clearly specified | Not clearly specified | evt-12345 | Optional in schema, recommended for Pixel + CAPI deduplication. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/server-event | Verified | High |
event | event_name | hybrid | string | Required | Standard event or custom event name. | Not clearly specified | Not clearly specified | Purchase | Used for deduplication with browser/app events together with event_id. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/server-event | Verified | High |
event | event_source_url | server | string | Conditional | Browser URL where the event happened; should match the verified domain. | Not clearly specified | Not clearly specified | - | Marked optional globally, but required for website events shared using CAPI. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/server-event | Verified | High |
event | event_time | server | integer | Required | Unix timestamp in seconds (GMT); must be within the last 7 days. | Not clearly specified | Not clearly specified | - | Meta returns an error if event_time is more than 7 days in the past. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/server-event | Verified | High |
event | eventID | hybrid | string | Conditional | Unique ID in the 4th argument of fbq track call. | Not clearly specified | Not clearly specified | evt-12345 | For deduplication, Pixel eventID must match CAPI event_id. | developers.facebook.com/docs/marketing-api/conversions-api/deduplicate-pixel-and-server-events | Verified | High |
event | value | hybrid | number | Conditional | Numeric event value (example shown for Purchase). | Not clearly specified | Not clearly specified | 123.45 | Meta examples show value and currency in Purchase events. | developers.facebook.com/docs/marketing-api/conversions-api/deduplicate-pixel-and-server-events | Verified | Medium |
User Data Contracts
| Object / Event | Field | Applies To | Type | Requirement | Exact Format | Normalization | Hashing | Examples | Caveat | Primary Source | Status | Confidence |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
default | country | server | string | Conditional | SHA-256 hashed lowercase ISO alpha-2 country code | lowercase; include country code; ISO alpha-2 | SHA-256 | <sha256(us)> | Always include the customer country. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters | Verified | High |
default | country | browser | string | Conditional | Lowercase two-letter country code | lowercase; include country code | Not clearly specified | us | ISO alpha-2 country code. | developers.facebook.com/docs/meta-pixel/advanced/advanced-matching | Verified | High |
default | ct | server | string | Conditional | SHA-256 hashed lowercase city without spaces or punctuation | lowercase | SHA-256 | <sha256(sanfrancisco)> | Roman letters preferred; UTF-8 if needed. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters | Verified | High |
default | ct | browser | string | Conditional | Lowercase, spaces removed | lowercase; remove spaces | Not clearly specified | sanfrancisco | Lowercase and remove spaces. | developers.facebook.com/docs/meta-pixel/advanced/advanced-matching | Verified | High |
default | db | server | string | Conditional | SHA-256 hashed YYYYMMDD birthdate | YYYYMMDD | SHA-256 | <sha256(19900131)> | Use YYYYMMDD before hashing. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters | Verified | High |
default | db | browser | string | Conditional | Digits only, YYYYMMDD | digits only; YYYYMMDD | Not clearly specified | 19900131 | Birthdate as year-month-day digits only. | developers.facebook.com/docs/meta-pixel/advanced/advanced-matching | Verified | High |
default | em | server | string | Conditional | SHA-256 hashed email | Not clearly specified | SHA-256 | <sha256(alice@example.com)> | Trim and lowercase before hashing; owner docs require SHA-256. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters | Verified | High |
default | em | browser | string | Conditional | Lowercase email | lowercase | SHA-256 | alice@example.com | Owner docs accept lowercase unhashed or normalized SHA-256 hashed email addresses. | developers.facebook.com/docs/meta-pixel/advanced/advanced-matching | Verified | High |
default | em | browser | string | Conditional | SHA-256 hashed lowercase email | lowercase | SHA-256 | <sha256(alice@example.com)> | Same owner-doc contract as the plain row; this row covers the hashed form. | developers.facebook.com/docs/meta-pixel/advanced/advanced-matching | Verified | High |
default | external_id | browser | string | Conditional | Any unique advertiser-side ID | Not clearly specified | Not clearly specified | - | Any stable advertiser-side ID. | developers.facebook.com/docs/meta-pixel/advanced/advanced-matching | Verified | High |
default | fn | server | string | Conditional | SHA-256 hashed lowercase first name | lowercase | SHA-256 | <sha256(alice)> | Lowercase only before hashing. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters | Verified | High |
default | fn | browser | string | Conditional | Lowercase letters only | lowercase | Not clearly specified | alice | Lowercase only, no punctuation. | developers.facebook.com/docs/meta-pixel/advanced/advanced-matching | Verified | High |
default | ge | server | string | Conditional | SHA-256 hashed single lowercase gender initial | lowercase | SHA-256 | - | Use f or m before hashing. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters | Verified | High |
default | ln | server | string | Conditional | SHA-256 hashed lowercase last name | lowercase | SHA-256 | <sha256(smith)> | Lowercase only before hashing. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters | Verified | High |
default | ln | browser | string | Conditional | Lowercase letters only | lowercase | Not clearly specified | smith | Lowercase only, no punctuation. | developers.facebook.com/docs/meta-pixel/advanced/advanced-matching | Verified | High |
default | ph | server | string | Required | SHA-256 hashed digits-only phone, country code required | include country code | SHA-256 | <sha256(16505551234)> | Remove symbols and letters; country code is required. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters | Verified | High |
default | ph | browser | string | Conditional | Digits only, including country code and area code | digits only; include country code | Not clearly specified | 16505551234 | Digits only, no plus sign. | developers.facebook.com/docs/meta-pixel/advanced/advanced-matching | Verified | High |
default | st | server | string | Conditional | SHA-256 hashed two-letter lowercase state or province code | lowercase | SHA-256 | <sha256(ca)> | Use the 2-character ANSI abbreviation code. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters | Verified | High |
default | st | browser | string | Conditional | Lowercase two-letter state or province code | lowercase | Not clearly specified | ca | Two-letter state or province code. | developers.facebook.com/docs/meta-pixel/advanced/advanced-matching | Verified | High |
default | zp | server | string | Conditional | SHA-256 hashed lowercase postal code | lowercase | SHA-256 | <sha256(94105)> | Use no spaces or dash; U.S. ZIP uses first 5 digits. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters | Verified | High |
default | zp | browser | string | Conditional | String postal code | Not clearly specified | Not clearly specified | 94105 | Postal code as a string. | developers.facebook.com/docs/meta-pixel/advanced/advanced-matching | Verified | High |
Normalization Rules
| Object / Event | Field | Applies To | Type | Requirement | Exact Format | Normalization | Hashing | Examples | Caveat | Primary Source | Status | Confidence |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
default | client_ip_address | server | string | Required | Do not hash; send the real IP address | Not clearly specified | Do not hash | - | Must never be hashed. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters | Verified | High |
default | client_user_agent | server | string | Required | Do not hash; send the browser user agent | Not clearly specified | Do not hash | - | Required for website events shared using the CAPI. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters | Verified | High |
default | ge | browser | string | Conditional | Single lowercase letter: f or m | lowercase | Not clearly specified | ['f', 'm'] | Use f or m; leave blank if unknown. | developers.facebook.com/docs/meta-pixel/advanced/advanced-matching | Verified | High |
Candidate / Needs Review Items
User Data Contracts
| Object / Event | Field | Applies To | Type | Requirement | Exact Format | Normalization | Hashing | Examples | Caveat | Primary Source | Status | Confidence |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
default | external_id | server | string | Recommended | Hashing recommended; stable advertiser-side ID | Not clearly specified | Hashed (algorithm not explicitly specified) | - | Same format as when sent through CAPI. external_id requirement is recommendation-level in source, not strict field contract. | developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters | Needs manual review | Medium |
Excluded Items
No excluded rows in this revision.
Last Reviewed
2026-03-30