Deduplicate and send server-side conversions to Meta Conversions API
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (6)
- Webhook
n8n-nodes-base.webhook - Edit Fields (Set)
n8n-nodes-base.set - Code
n8n-nodes-base.code - Data table
n8n-nodes-base.dataTable - Crypto
n8n-nodes-base.crypto - HTTP Request
n8n-nodes-base.httpRequest
What it does
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 1. Receives a POST webhook request containing a conversion event in plain JSON. 2. Normalizes the event fields (including event time) and repairs the fbc value from a raw fbclid when needed. 3. Checks an n8n Data Table for an existing dedupe key and stops duplicates before they reach Meta. 4. Records the event’s dedupe key in the Data Table and SHA-256 hashes provided user identifiers (email, phone, name, city, zip, and country). 5. Builds a Meta Conversions API payload, including eventid, action/source fields, unhashed externalid, and optional testeventcode. 6. Sends the event to the Meta Graph API endpoint for your pixel/dataset and verifies eventsreceived in the response body. Setup 1. Create an n8n Data Table with a dedupekey text column and set the table name in the workflow Settings values. 2. Set your Meta pixel/dataset ID and Graph API version in the workflow Settings values. 3. Add a Meta access token as an HTTP Query Auth credential named accesstoken and attach it to the HTTP request to Meta. 4. Copy the webhook production URL and configure your CRM, backend, or form provider to POST conversion events to it.