π€ Deduplicate and send server-side conversions to Meta Conversions API
β‘ 21 views Β· π€ CRM & Sales Operations
Description
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
fbcvalue from a rawfbclidwhen 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, unhashedexternal_id, and optionaltest_event_code. - Sends the event to the Meta Graph API endpoint for your pixel/dataset and verifies
events_receivedin the response body.
Setup
- Create an n8n Data Table with a
dedupe_keytext 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_tokenand 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.
π Nodes Used
HTTP Request, Webhook, Data table
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File