Quick overview
This workflow receives conversion events via a webhook, normalizes and SHA-256 hashes supported identifiers, deduplicates retries using an n8n Data Table, and sends the event to the Meta Conversions API (Graph API), validating the response body to ensure Meta accepted the event.
How it works
- Receives a POST webhook request containing a conversion event in plain JSON.
- Normalizes the event fields (including event time) and repairs the
fbc value from a raw fbclid when needed.
- Checks an n8n Data Table for an existing dedupe key and stops duplicates before they reach Meta.
- Records the event’s dedupe key in the Data Table and SHA-256 hashes provided user identifiers (email, phone, name, city, zip, and country).
- Builds a Meta Conversions API payload, including
event_id, action/source fields, unhashed external_id, and optional test_event_code.
- Sends the event to the Meta Graph API endpoint for your pixel/dataset and verifies
events_received in the response body.
Setup
- Create an n8n Data Table with a
dedupe_key text column and set the table name in the workflow Settings values.
- Set your Meta pixel/dataset ID and Graph API version in the workflow Settings values.
- Add a Meta access token as an HTTP Query Auth credential named
access_token and attach it to the HTTP request to Meta.
- Copy the webhook production URL and configure your CRM, backend, or form provider to POST conversion events to it.