ConnectWiz + Meta Conversions API
Live integrationThe ad that started the chat learns how it ended
Messaging ads optimize blind unless someone tells Meta what converted. ConnectWiz reports won deals as Purchase events — with real value and proper per-channel identity — into your own Events Manager dataset, behind four gates, with every refusal logged.
Ads
What it does — precisely
Deals become signals
Winning a deal reports a Purchase with its real value; moving into a mapped stage fires the event you chose — from any path: screen, automation or import.
Identity done right
WhatsApp uses the click ID, Messenger the page-scoped ID, Instagram its own — each channel’s proper matching key, hashed as Meta specifies.
Four gates, one door
Tenant enabled? Consent permits ad targeting? Event well-formed and matchable? Not already sent? Every refusal is logged with its reason — auditable, not mysterious.
A health panel
See what was sent and what was refused, and why — conversion plumbing you can actually inspect.
Meta’s own events, echoed right
Purchases Meta detects in-thread are echoed back with the value decoded from Meta’s own scale and the event ID derived from the message — so a webhook retry collapses instead of counting a second sale. An unknown amount sends no value at all: a fake zero would tell Meta the conversion was worthless.
Well-formedness, named
Events are validated before sending — name length, future or stale timestamps, parameter budget, matchability — and each violation is a named refusal in the log, not a mystery.
Under the hood
Conversion plumbing, done the careful way
Why the event names are fixed
A Meta dataset accepts 1,000 distinct event names permanently — they can’t be deleted, and past the ceiling nothing new is recorded at all. So event names come from a fixed vocabulary and variation lives in parameters, where it belongs.
Deterministic event IDs
Each event’s ID is derived from what it describes, not from randomness — so a retry produces the same ID and deduplicates, instead of counting the same sale twice. Randomness would defeat the whole mechanism.
Marked sent only after Meta accepts
The local dedup record is written after Meta’s acceptance, never before — a network failure retries; it can’t suppress itself into a lost conversion.
Normalization that matches Meta exactly
Emails are lowercased but Gmail dots and +tags are kept — because that’s what Meta does. Phones must resolve to 8–15 digits with a country; a countryless local number is dropped, not guessed. A dropped key costs one match; a wrong key costs a wrong person.
Per-channel identity, precisely
WhatsApp events carry the click ID plus phone — the click ID is legitimately absent on some placements, and the phone survives that. Messenger identity counts only as page + page-scoped user together; Instagram uses its own scoped ID; lead events carry the platform’s own lead ID, restricted to Meta-source leads.
A health panel that owns its arithmetic
Freshness, event frequency, strong-match-key coverage, purchase values and every refusal reason — measured over a 28-day window and labeled as our measurements, because presenting our arithmetic as Meta’s score would invent an authority we don’t have.
Setup
How it connects
Paste your dataset
Your Events Manager dataset ID and token — encrypted, yours, revocable.
Map your stages
Choose which pipeline stages fire which conversion events.
Win deals
The reporting happens on its own — gated, deduplicated, logged.
Better together
What it composes with
CRM pipelines
Won deals and mapped pipeline stages are what fire events — the funnel you already run is the signal source.
Lead ads
Meta lead-form submissions already land in the CRM — this integration closes their loop by reporting lead quality back to the ad account.
Security & guarantees
The boring guarantees
Your dataset, your token
Events go to the dataset you paste from your own Events Manager — the access token is encrypted at rest and never rendered back. The data relationship is between your business and Meta.
Consent is a gate, not a setting
An event leaves only when the contact’s consent permits ad targeting — a pending double opt-in doesn’t count, and the refusal is logged by name.
Test mode is visible
A test event code left behind would silently stop real conversions counting — so test mode is surfaced as its own flag in the panel, impossible to forget invisibly.
The double-count question, asked
If you already run a CAPI or Signals Gateway, sending from here too would double-count — dedup can’t save two different IDs for one sale. The panel asks; unanswered means it warns rather than assumes.
The honest fine print
Boundaries, stated
No guessed identities
A phone number without a country code is dropped, not guessed — a wrong match spends someone else’s privacy. And a deal without a value sends nothing, never a fake zero.
Off is a valid state
The whole integration ships off; off is not a degraded mode. Your ad data leaves only when you decide it should.
Connected honestly beats connected loudly.
Every integration here is described by what it really does — direction, ownership and limits included.