signal observability · fraud detection · performance advisory

How AdBooster Works

Your analytics data is fragmented across Google Ads, GA4, GTM, and your CRM — each reporting a different version of reality.

AdBooster aggregates signals from every platform, correlates events via a shared identifier chain, filters bot traffic and ad fraud, and surfaces what actually happened — so you act on data you can trust.

Each Platform Sees a Different Slice

A single user journey produces fragmented data across four systems. No single one has the full picture.

User Journey Stage Google Ads GA4 Tracker
Impression
User sees your ad on Google
✓ Full visibility
Click
User clicks the ad — GCLID generated
✓ Click + GCLID ~ Session start only ✓ Landing URL + GCLID
Page Views
User navigates the site
~ 24-48h delay, may lose to blockers ✓ Real-time
Conversion
User submits form or purchases
~ Attribution window + delay ~ May be modelled (consent mode) ✓ Ground truth
Ad Blockers
Block GA4's JavaScript on 20-30% of browsers. The AdBooster tracker, served from your own domain, survives.
Consent Mode
When users deny consent, GA4 models (estimates) data instead of recording it. Modelled numbers can be off by 15-40%.
Attribution Windows
Google Ads attributes a conversion to a click up to 30 days old, inflating campaign-level numbers vs your actual tracker data.

Five Data Sources, One Unified Event Log

AdBooster pulls from every signal source and normalises them into a single append-only event stream.

JS
AdBooster Tracker
source: tracker
  • ✓ Real-time page views & conversions
  • ✓ GCLID, FBCLID & UTM capture
  • ✓ Bot and browser-AI detection signals
  • ✓ GA4 session ID from _ga cookie
First-party JS on your domain. Immune to third-party ad blockers.
G4
Google Analytics 4
source: ga4
  • ✓ Event-based model — everything is an event
  • ✓ Sessions, users, engagement time
  • ✓ Attribution & conversion tracking
  • ~ 24-48h data freshness
May lose 20-30% of events to ad blockers and consent mode.
Ads
Google Ads
source: google_ads
  • ✓ Impressions & clicks
  • ✓ Cost data (used for ROAS calculation)
  • ✓ Campaign, ad group & keyword breakdown
  • ~ Attribution window distorts conversions
GCLID is the key that links Ads clicks to site sessions.
GTM
Google Tag Manager
source: gtm
  • ✓ Tag firing events & dataLayer pushes
  • ✓ Custom trigger visibility
  • ~ Consent mode can suppress firing
  • ~ Tag errors silently block GA4
Sits between your site and GA4. If GTM fails, GA4 gets nothing.
SAF
SpiderAF
source: spideraf
  • ✓ Click fraud detection scores
  • ✓ Invalid traffic flagging per GCLID
  • ✓ Cross-referenced with our quality scores
Enriches AdBooster events with SpiderAF's fraud intelligence database.
Coming in Phase 2
Meta Ads · LinkedIn Ads · TikTok Ads · Server-side events via Measurement Protocol

How Events Are Correlated Across Systems

GCLID is the thread that ties a Google Ads click to a real session and conversion on your site.

Paid Ad — Complete User Journey
1
Google Ads User clicks the ad — GCLID is generated
https://yoursite.com/landing?gclid=EAIaIQobChMI...&utm_source=google&utm_medium=cpc&utm_campaign=brand_pt
2
Tracker Landing captured — GCLID + UTMs stored on the event
event: page_view · visitor_id: ab-uuid-123 · gclid: EAIaIQ... · utm_campaign: brand_pt
3
GA4 Session start registered — GA4 session ID read from _ga cookie
ga4_session_id: 1746123456 · ga4_client_id: 987654321.1746000000 · source: google / cpc
4
Tracker Conversion event — linked to the original GCLID via visitor_id
event: form_submit · visitor_id: ab-uuid-123 · gclid: EAIaIQ... · value: 250 · quality_score: 94
5
AdBooster Verified: this Ads click generated a real, clean conversion
GCLID EAIaIQ... · click at 14:32 → conversion at 14:47 · quality: clean · ROAS contribution: 250 / cost
LEVEL 1 — AGGREGATE
Daily totals comparison
Compare clicks (Ads) vs sessions (GA4 / Tracker) per day. Quick to implement. Does not pinpoint which specific events diverge.
LEVEL 2 — BY GCLID
Per-click correlation
Each Google Ads click linked to a tracker session via GCLID. Answers: "did this specific click reach the site?" and "did it convert?"
LEVEL 3 — BY SESSION ID
GA4 ↔ Tracker linking
The GA4 session_id read from the _ga cookie links tracker events with GA4 events from the exact same session.
LEVEL 4 — BY TRANSACTION ID
E-commerce deduplication
The transaction_id must match in Tracker, GA4, and Google Ads. If all three agree, the conversion is real and not double-counted.

Signal Quality & Fraud Detection

Every event gets a quality score from 0 to 100, computed at ingestion time using browser signals, IP classification, and behavioural patterns.

Quality Score — 0 to 100
0–19 · bot
20–49 · likely_bot
50–79 · suspicious
80–100 · clean
0–19
Bot
Rejected or quarantined. Definite automated traffic.
20–49
Likely Bot
Excluded from main reports. Kept in audit log.
50–79
Suspicious
Flagged but included. Excluded from conversion reports.
80–100
Clean
Included in all reports. Fully trusted signal.
Score Penalty Factors
honeypot_filled −80
bot_headless_user_agent −50
playwright_detected −50
datacenter_ip −40
webdriver_flag −40
conversion_under_3s −35
screen_resolution_0x0 −30
gclid_shared_across_visitors −30
timezone_ip_mismatch −15
Click-to-Session Rate (CSR)

The percentage of Google Ads clicks that produce a real session on your site. The most direct indicator of click fraud at the campaign level.

Normal 85–95%
Suspicious — investigate 70–85%
Critical — possible click fraud < 70%
Example alert
Campaign "Competitor Keywords": CSR 42%. 58% of clicks never reached your site. Estimated waste: €380/month in invalid traffic.

AI Traffic Classification

AI is creating a new category of traffic that doesn't fit traditional human or bot buckets — and it's growing fast.

human
Real User
Residential IP, natural scroll and mouse behaviour, normal timing. Included in all reports at full quality score.
ai_referral
Human via AI Platform
Real user who arrived after ChatGPT, Perplexity, Claude, or Gemini suggested your link. Valuable new traffic — not penalised.
chatgpt.com · perplexity.ai · claude.ai · gemini.google.com
ai_crawler
Declared AI Bot
Bot that identifies itself in the user_agent: GPTBot, ClaudeBot, PerplexityBot, Google-Extended. Easy to detect, no fraud intent.
Quality: excluded from all reports (score −100)
likely_ai
Browser AI Agent
AI agent using a real browser (Playwright, Puppeteer, browser-use). Detected via navigator.webdriver, absent plugins, default headless viewport, instant form fill.
Quality: −30 (flagged, kept for audit)
bot
Traditional Bot
Click fraud bots, scrapers, monitoring services. Datacenter IP, bad user_agent, zero engagement, instant conversions.
Quality: 0–19 (rejected)
unknown
Insufficient Data
Not enough signals to classify confidently. Treated as human with a quality ceiling until more behavioural data arrives.
What 1,000 GA4 Sessions Actually Contain
GA4 reports: 1,000 sessions
Tracker sees: 950 sessions (50 lost to ad blockers)
Of those 950, AdBooster classifies:
820 human (86%)
45 ai_referral (5%) real humans from AI
35 ai_crawler (4%)
30 likely_ai (3%)
20 bot (2%)
True clean human sessions: 820 — not the 1,000 GA4 reported

Performance Advisory

Clean, correlated data powers concrete recommendations that improve ROAS and eliminate wasted spend.

KEY METRIC
ROAS
Return on Ad Spend
tracker_revenue ÷ ads_cost × 100
Uses tracker conversions as ground truth — not GA4's modelled data or Ads' attributed conversions, which are inflated by view-through and cross-device.
KEY METRIC
CVR
Conversion Rate
conversions ÷ tracker_sessions
Segmented by campaign, hour of day, device, and location — to surface exactly where your ads are working and where they're wasting budget.
KEY METRIC
CSR
Click-to-Session Rate
tracker_sessions ÷ ads_clicks
Below 70% triggers a fraud alert. Tells you how many paid clicks actually reached your site — the rest burned your budget for nothing.
Example Advisory Recommendations
HIGH CONFIDENCE Shift "Brand PT" budget to the 16h–20h window
CVR during 16h–20h is 2.4× the daily average over the last 14 days (342 conversions analysed). Same total budget, concentrated in your best conversion window.
+18% ROAS
estimated
HIGH CONFIDENCE Investigate click fraud in "Competitor Keywords"
CSR is 42% (normal: 87–92%). 58% of paid clicks never generated a real session. 2,100 clicks analysed over the last 7 days. Activate SpiderAF Click Fraud Protection for this campaign.
€380/mo waste
estimated
MEDIUM CONFIDENCE Faro is under-invested — CVR 7.3% vs 4.2% national average
Faro hits its daily budget cap at 11h with 68% impression share lost to budget. Increasing from €15/day to €45/day captures available demand at below-average CPA.
+22% leads
estimated

See It Live

Open the demo dashboard with real-time signal comparison across all five sources.

Open Demo Dashboard →