Attribution Health
End-to-end tracking integrity across every client's conversion pipeline
Updated 2026-04-30 22:19 PDT
Agency Scoreboard
3 active clientsUncle Kam
Ecommerce · seo
100/100
Health
Per-Service Health
Organic SEO
healthy
GSC property
configured
GA4 property
configured
Organic traffic — not part of paid attribution pipeline
Nordanyan Law
Law Firm · google_ads, facebook_ads, ghl, callrail, seo
86/100
Health
Conversion Pipeline — Yesterday vs 7d median
Ad Spend
$821
med $631
(130%)
→
Ad Clicks
233
med 193.0
(121%)
CPC
$3.52
→
Calls
5
med 4.0
(125%)
click→call
2.1%
→
Qualified
0
med 0.0
→
CRM Uploads
1
med 1.0
(100%)
Cross-Source Reconciliation — where attribution gaps hide
Paid Ads → CRM Uploads
Δ +1
Google
0
Meta
0
Total
0
CRM
1
1 uploaded with no matching paid conversion
CallRail Sources → Total
Δ +1
Google
0
FB/IG
0
Web/Other
4
Sum
4
Total
5
Minor 1-call rounding gap
Known Issues
⚠
GHL CRM: No GHL lead data flowing — check webhook + source map
⚠
Paid Ads → CRM Uploads: 1 uploaded with no matching paid conversion
•
Known: 7 of 14 signed cases come from website (not Google/FB) — template doesn't render them
› Add website-source breakdown to Monthly Report; see memory/nordanyan-conversion-tracking-architecture.md
Per-Service Health
Google Ads
paused
Spend
$0
Clicks
0
Conversions
0
7d med spend
$0
No Google spend in last 7 days — campaigns paused or budget shifted
Meta (FB/IG)
healthy
Spend
$821
Clicks
233
Conversions
0
7d med spend
$631
CallRail
healthy
Total calls
5
Qualified
0
Google-source
0
7d med total
4.0
GHL CRM
warning
Total leads
0
7d median
0.0
Source types
0
No GHL lead data flowing — check webhook + source map
Organic SEO
healthy
GSC property
configured
GA4 property
missing
Organic traffic — not part of paid attribution pipeline
RGDM
Agency · seo
100/100
Health
Per-Service Health
Organic SEO
healthy
GSC property
configured
GA4 property
missing
Organic traffic — not part of paid attribution pipeline
Onboarding Checklist — verify before paid traffic launches
Google Ads
- ▢ GCLID parameter preserved on landing (URL + form submit)
- ▢ Conversion actions configured in Google Ads UI — phone, form, signed case
- ▢ Offline conversion uploads enabled (GCLID + Enhanced Conversions fallback)
- ▢ Conversion linker extension or gtag auto-tagging active
- ▢ Daily cron writes spend/clicks/conversions metrics to MC DB
Meta (Facebook/Instagram)
- ▢ Pixel fires on all key pages (landing, thank-you, form confirmation)
- ▢ CAPI server-side event configured for deduplication with browser events
- ▢ Match quality ≥ 7/10 in Events Manager (hash email + phone)
- ▢ Dataset connected to ad account; events showing receipt timestamps
- ▢ Daily cron writes spend/clicks/conversions metrics to MC DB
GHL CRM
- ▢ Webhook from forms/calls configured to GHL sub-account
- ▢ Source map in client_registry.py covers all inbound tags/patterns
- ▢ Lead stages aligned to retainer/signed/dropped pipeline in GHL
- ▢ Daily cron pulls lead counts by source type into MC DB
CallRail
- ▢ Number pool sized 3x peak concurrent sessions
- ▢ Swap target matches landing page phone selectors
- ▢ Source attribution rules tag Google/FB/Direct/SEO correctly
- ▢ Webhook to CRM fires on call events (answered, qualified, etc.)
- ▢ Daily cron writes call volume + qualified counts to MC DB
GA4
- ▢ Property ID configured in client_registry.py
- ▢ Key events marked as conversions (form submits, phone clicks)
- ▢ Enhanced measurement on for scroll, outbound clicks, form interaction
- ▢ Server-side Tag Manager proxy (if present) forwarding to GA4 + Meta
RG Digital Marketing · Attribution Health · Every conversion accounted for