You already import offline conversions to Google Ads. We audited the quality and compliance of what's sent, measured the reach Enhanced Conversions adds, and built a direct Data Manager API path — clean, consent-filtered, idempotent, and per-row accountable. Validated on live data, with zero production writes.
A read-only audit on live data, anchored to your approved definition (60-day window, settled statuses, internal & test excluded).
~1,326 quote and ~257 order conversions are attributed in Google Ads today (90d), via a daily n8n job → a Google Sheet + GA4 Measurement Protocol. Credit to the team — the pipeline already runs. (attributed ≠ uploaded.)
Of what's sent: 3,506 clean (gclid + consented hashed-PII), 170 non-consented PII — a customer-data-terms compliance risk, because the Sheet applies no consent filter — and ~0 Google-unusable noise.
On website conversions, gclid alone reaches 46% of quotes / 34% of orders; consented email/phone (ECL) lifts reachable to 97% / 90%. Reachable, not realized — ECL realizes an aggregate ~30–70%, measured at go-live.
CRM (settled truth), GA4 (observed event) and Ads (click-attributed) measure different things. GA4 ≈ CRM validates the website signal; the Ads gap is attribution method, not loss — the recoverable share is an open question.
Same clean data, sent direct — programmatic, auditable, and safe. Built and validated on live data; nothing is written until you approve.
Approve the flip to production writes, plus two prerequisites:
Phase 1 makes the pipeline clean and accountable. What it unlocks next:
The operational drill-down runs on real uploads — and the realized-match stage lights up (measured at go-live, not before).
CRM / GA4 / Ads on a settled cadence — and you already capture Meta, LinkedIn & Bing click-IDs, so the same spine extends beyond Google.
The console you watch becomes an agent you supervise — runs on a cadence, answers in plain language, and escalates only when a human should decide.
The deck and dashboard carry the headline; the artifacts below are the working detail, kept current as the build progresses.
The consolidated client deck — found, now, future — aligned to the approved 60-day definition.
The funnel drill-down — converted → sent → clean, quality tiers, non-web channels; realized-match ghosted until go-live.
The full product mockup — overview, conversions, match rate, reconciliation, runs, and the Phase 2 agent.
Current state, the gaps where attribution leaks, and the target-state design.
The live Supabase schema, table by table — the source of truth, documented.
Which converted RFQs we can attribute, and why the rest can't — the honest read.
gclid → Enhanced Conversions reachability, measured on live data (reachable, not realized).
Phase 1, sequenced — what's built, what's gated, and the path to go-live.