Conversion Sync
Send high-confidence conversion signals back to Meta and Google Ads for better optimization
Conversion Sync
Conversion Sync sends your real business outcomes back to ad platforms so they can optimize for what actually matters — revenue, not just clicks.
Most attribution tools stop at reporting. Conversion Sync closes the loop: when a customer pays, books an appointment, or becomes a qualified lead, Atribu tells Meta and Google about it so their algorithms learn which audiences and creatives drive real results.
Why this matters
Ad platforms optimize based on the signals they receive. If you only send page views and form submissions, their algorithms optimize for volume. If you send actual payment events with real revenue amounts, they optimize for customers who spend money.
Conversion Sync is not a generic event forwarder. It is a quality-gated feedback system that only sends high-confidence events with verified identity context. Weak signals get filtered out before they reach the platform.
How it works
- A conversion happens — a payment, lead submission, appointment, or pipeline change is recorded in Atribu
- Signal rules evaluate — your configured rules determine which events should be sent and where
- Quality gates filter — events older than the platform's staleness limit are dropped, duplicate copies of the same booking that arrived through more than one path (tracker + CRM) collapse into one canonical event, and only events with sufficient identity context (email, phone, click IDs) pass through. In Healthcare Mode, the export allowlist is checked first
- Privacy filters scrub — PII is hashed, sensitive fields stripped, URLs sanitized
- Platform receives the signal — Meta CAPI or Google Ads gets a clean, high-confidence conversion event
Events that don't pass are logged with a clear reason so you always know what was sent and what was filtered.
Getting started
When you first visit the Conversion Sync page, a guided setup walks you through three steps:
Connect your destinations
Link at least one ad platform (Meta or Google Ads) in Settings > Integrations. Conversion Sync uses these existing connections — you don't need to set up new OAuth flows.
Create a signal rule
A signal rule defines: what event triggers a signal, where it goes, and what value to attach. Click New Signal to open the rule builder.
Activate and monitor
Once your rule is saved and a destination is configured, signals start flowing. Monitor delivery in the Deliveries tab.
Creating signal rules
The rule builder is a 4-step wizard.
Step 1: Source — what triggers the signal
Choose what kind of event should create a signal:
| Source type | When to use | Example |
|---|---|---|
| Tracked event | An outcome from your website, payment provider, or CRM | Payment received, lead created, order placed |
| Pipeline stage change | A customer moves to a new stage in your CRM pipeline | Appointment booked, qualified, closed won |
For tracked events, select from your conversion definitions. For pipeline changes, select the target stage and optionally filter by the previous stage. Pipeline rules can also trigger when a customer exits a stage, and can be filtered by the source system that reported the change.
Value mode controls the monetary value sent with the signal:
| Mode | Behavior |
|---|---|
| Use actual amount | Sends the real payment/deal value from the event |
| Fixed amount | Sends a fixed value you choose (e.g., $50 per lead) |
| No value | No monetary value attached |
Value modes apply to tracked events. Pipeline stage rules are always sent without a value — they are non-revenue optimization signals.
Step 2: Destinations — where to send
Toggle Meta and/or Google for each rule. You can optionally override the event name sent to each platform (e.g., send "Purchase" to Meta and "purchase" to Google). For Meta you can also choose the optimization category Atribu uses when it auto-creates a Custom Conversion, and preview the live CAPI payload. The Google event name is a display label only — the actual payload is keyed to the destination's conversion action.
A single rule can send to both platforms simultaneously. Each platform independently evaluates whether it has enough match context — a payment from a Meta ad click goes to Meta, a payment from a Google ad click goes to Google, and a payment with both identifiers goes to both.
Step 3: Privacy overrides
Each rule can override privacy settings on top of the profile-level defaults — strip additional fields or block specific URL paths for this rule only. In standard mode the rule-level override takes precedence over the profile settings, so it can tighten or relax them for this rule; review it carefully.
In Healthcare Mode, the HIPAA privacy floor is enforced — overrides can only add restrictions, never weaken them — and this step shows all toggles locked.
Step 4: Review and save
Confirm your settings and save. The rule begins evaluating events immediately. You can edit or archive rules at any time.
Configuring destinations
The Destinations tab is where you configure the technical details for each ad platform.
Meta CAPI
| Setting | Description |
|---|---|
| Connection | Select your Meta Business Account (connected in Settings) |
| Pixel | Pick a Pixel by name from the connection's list (auto-selected when the account has only one). Alternatively, use Connect a data source to wire the destination to a WhatsApp, Messenger, or Instagram dataset |
| Quality preset | Controls how strict the identity matching requirements are |
| Test send | Send a test event — Website or WhatsApp (CTWA) — to verify delivery. Test sends bypass the quality gates and are rate-limited to 5 per minute |
Quality presets control which events are sent:
| Preset | Requires | Best for |
|---|---|---|
| Lenient | Email/phone OR Meta click ID | Maximum signal volume, lower match rates |
| Balanced (default) | Email or phone (hashed). Meta identifiers are attached when available but not required | Recommended for most accounts |
| Strict | Both email/phone AND Meta click ID | Highest match confidence, fewer signals |
"Meta click ID" means fbc (from an ad click) or ctwa_clid (from a Click-to-WhatsApp ad) — the fbp browser cookie does not count. On top of the preset, each destination has optional hard gates — Require click ID, Require email, Require phone — that drop any event missing that signal, regardless of preset.
Google Ads
| Setting | Description |
|---|---|
| Connection | Select your Google Ads account (connected in Settings) |
| Conversion action | The Google Ads conversion action path |
| Quality preset | Balanced only — requires a gclid for every event |
Google Ads uses a fixed balanced quality preset because Google's Enhanced Conversions require a Google Click ID (gclid) for reliable attribution.
Click-to-WhatsApp conversions
If you run Click-to-WhatsApp (CTWA) ads, Conversion Sync exports the outcomes of those conversations back to Meta automatically — no extra rule configuration needed.
- Capture — when someone messages you from a CTWA ad, the first message carries a click ID (
ctwa_clid). Atribu stores it on the customer profile and the conversation. - Automatic upgrade — any matched signal whose customer has a stored
ctwa_clidis sent as a business-messaging event: theaction_sourcebecomesbusiness_messagingwith WhatsApp as the messaging channel, and the payload carries thectwa_clidand your WhatsApp Business Account ID alongside hashed email/phone. - Event names — business-messaging events use Meta's messaging event names unless the rule sets an explicit override:
| Outcome | Messaging event name |
|---|---|
| Lead created | LeadSubmitted |
| Order placed | OrderCreated |
| Payment received / closed won | Purchase |
| Appointment booked | Schedule |
| Checkout started | InitiateCheckout |
| Add to cart | AddToCart |
| Content viewed | ViewContent |
A few things to know:
- One event per click — Meta accepts at most one conversion per
ctwa_clid. Atribu enforces this against previously sent events and within each batch; extra events are skipped with the reasonswhatsapp_ctwa_max_events_reachedandwhatsapp_ctwa_duplicate_in_batch. - Quality gates —
ctwa_clidcounts as the Meta click ID: lenient passes on it alone, and strict accepts it in place offbc. - Datasets — use Connect a data source on the Meta destination to wire it to a WhatsApp, Messenger, or Instagram dataset; conversions are then sent to that dataset with the messaging asset's token instead of the ad account's Pixel token.
- Relay automatic events — a per-destination toggle that additionally relays Meta's own NLP-detected WhatsApp events (leads, purchases) to CAPI, with no signal rule needed. Not available in the EU, UK, or Japan.
- Testing — the WhatsApp (CTWA) test button sends the production payload shape with a sample click ID.
Monitoring deliveries
The Deliveries tab shows a feed of every signal event — sent, skipped, failed, or queued. Use Refresh feed to pull the latest.
Filter and search
Filter the feed by:
- Platform — All, Meta, or Google
- Status — Eligible, Sent, Skipped, Failed, or Dead Letter
- Rule — Show events for a specific signal rule
Event detail
Click any row to see the full detail:
- Status and reason — Why the event was sent, skipped, or failed
- Quality signals — Which identity fields were present (email, phone, click IDs)
- Privacy filters applied — What was stripped before sending (IP, UA, referrer, etc.)
- Customer context — Campaign name, channel, lead quality score
- Payload — The actual data sent to the platform
Retry and replay
Failed sends retry automatically — up to 4 attempts with exponential backoff (1, 2, 4… minutes, capped at 30 minutes). Events that exhaust all attempts move to Dead Letter status.
Failed, skipped, and dead-lettered events can be replayed individually or in bulk. Replay re-evaluates events against your current rules and settings — useful after updating a destination configuration or fixing a connection issue.
Understanding skip reasons
When an event is filtered out, the feed shows a clear reason. Here are the most common:
| Skip reason | What it means | What to do |
|---|---|---|
| Missing Meta match data | No email, phone, or Meta identifiers available | Ensure your forms call identify() before submission |
| Missing Google click ID | No gclid found for this customer | Add UTM parameters to your Google Ads — see UTM setup |
| Stage transition missing identity | Pipeline event not linked to a customer profile | Ensure GHL contacts have email/phone |
| Stage transition missing platform match data | The pipeline event's customer has no Meta identifiers (fbc, fbp, or ctwa_clid) | Install the tracker on your landing pages so click IDs get captured |
| Stage transition low confidence | Pipeline event passed identity and platform matching but failed the destination's quality preset | Improve email/phone capture or relax the preset |
| Closed won no payment | Deal marked as won but no confirmed payment found | Connect Stripe or MercadoPago for payment verification |
| Platform source mismatch | Event came from the other platform's ad | By design — Meta events go to Meta, Google events go to Google |
| Duplicate of canonical source | The same booking arrived through more than one path (tracker + CRM); only the canonical copy is exported | Nothing — this is cross-path dedup working as intended |
| Blocked path | The event's page URL matches a blocked path in your privacy settings | Adjust the blocked paths list if unintended |
| Healthcare allowlist blocked | Event type not on the HIPAA export allowlist | Add to the allowlist or keep it blocked |
| Legal gate blocked | Healthcare Mode legal requirements not met | Complete the DPA/BAA acceptance |
Configuration problems (a missing pixel, a disconnected account, a missing conversion action, a disabled destination) surface as their own reasons naming the missing piece — fix the destination configuration and replay. WhatsApp-specific reasons are covered in the Click-to-WhatsApp conversions section above.
Privacy and compliance
Conversion Sync includes a full privacy layer that controls what data leaves Atribu.
Privacy modes
| Mode | Behavior |
|---|---|
| Standard | Configurable field stripping with blocklists for URLs and parameters |
| HIPAA | Allowlist-only export — only approved event types are sent, all PII stripped, Meta LDU enabled. See Healthcare Mode |
| Custom | Behaves like Standard — same configurable stripping, URL modes, and blocklists. Use it to mark a deliberately hand-tuned setup |
In HIPAA mode, the privacy panel switches from blocklist fields to allowlist checkboxes. The two approaches are mutually exclusive — you cannot have both.
What gets stripped
In all modes, you can configure which fields are removed before sending:
| Field | Standard (default) | HIPAA |
|---|---|---|
| Client IP | Optional | Always stripped |
| User agent | Optional | Always stripped |
| HTTP referrer | Optional | Always stripped |
| Page title | Optional | Always stripped |
| External IDs (fbclid, gclid) | Optional | Always stripped |
| URL path | Full URL, origin only, first segment, or allowlist | Origin only |
| Meta LDU flags | Optional | Always enabled |
Legal compliance
Healthcare accounts must complete a legal workflow before any signals are exported:
- Accept the DPA and HIPAA BAA via click-wrap
- Confirm compliance acknowledgements
- Upload supporting legal documents (optional)
The legal gate blocks all exports until these requirements are met. See Healthcare Onboarding for the full setup guide.
Change log
The Change Log tab records every action taken in Conversion Sync:
- Signal rules created, updated, or archived
- Destinations configured, enabled, or disabled
- Privacy settings changed
- Legal compliance updates
- Test sends and replay actions
Each entry shows when the change happened and what specifically changed.
Platform differences
Meta and Google handle conversion data differently. Conversion Sync accounts for these differences:
| Aspect | Meta CAPI | Google Ads |
|---|---|---|
| Identity matching | Hashed email + phone + Meta identifiers (fbp, fbc, ctwa_clid) | gclid + hashed email/phone (Enhanced Conversions) |
| Quality presets | Lenient, Balanced (default), Strict | Balanced only (locked) |
| Event name | Customizable (Purchase, Lead, Schedule, etc.) | Fixed by the conversion action — the label is display-only |
| Test sends | Supported (Website + WhatsApp CTWA) | Coming soon |
| Staleness limit | 7 days | 90 days |
| Stage transitions | Supported with quality gates | Supported with quality gates |
| Value currency | Inherited from event or fixed | Inherited from event or fixed |
Related
- Install the tracker — required for web-based identity stitching
- Connect Meta Ads — set up the Meta connection used by Conversion Sync
- Connect Google Ads — set up the Google Ads connection
- Goals (Conversion Definitions) — define which business outcomes Conversion Sync can use
- Attribution Models — how Atribu distributes conversion credit
- Healthcare Mode — HIPAA-compliant export controls
- Identity Resolution — how anonymous visitors become known customers