Google Gemini UTM Referral Tracking: How to Capture, Classify, and Report AI Assistant Traffic in GA4
Mika Sandgrove | | 4 min read
Introduction: what Gemini UTMs unlock (and why GA4 misattributes without them)
The goal: reliably measure Gemini-driven sessions in GA4 so you can trend AI impact without guesswork.
Gemini clicks don’t always behave like normal referral traffic. They can arrive via redirect chains, app/browser handoffs, and inconsistent referrers. Without a strict UTM standard and a quick persistence check, GA4 will quietly misattribute those sessions into the wrong buckets: Direct spikes, Referral noise, or Organic contamination.
This guide is a repeatable workflow:
- Define a UTM convention you can govern
- Verify UTMs survive from Gemini click → final landing URL → GA4 session attribution
- Classify Gemini sessions with session-level GA4 dimensions
- Report weekly numbers without mixing scopes
- Troubleshoot the common failure modes when data goes missing
Step 1 — Define a strict Gemini UTM standard (before you collect noise)
Lock this down before multiple teams tag links differently.
The minimum standard (don’t negotiate these)
Use:
utm_source=geminiutm_medium=ai_assistant
This pairing gives you a stable join key in GA4 (source/medium) that won’t blend into generic referral or organic rows.
Campaign naming rules (keep it stable and reportable)
Pick one pattern and keep using it:
- Pattern:
ai-gemini-[initiative]-[yyyy-mm] - Rules: lowercase only, hyphens (no spaces), one initiative concept (e.g.,
pricing-refresh), month-level dates (avoid daily noise).
Good UTM examples (copy/paste):
?utm_source=gemini&utm_medium=ai_assistant&utm_campaign=ai-gemini-pricing-refresh-2026-10?utm_source=gemini&utm_medium=ai_assistant&utm_campaign=ai-gemini-blog-growth-2026-10?utm_source=gemini&utm_medium=ai_assistant&utm_campaign=ai-gemini-webinar-2026-11
Anti-patterns (they create reporting drift):
- Bad medium:
utm_source=gemini&utm_medium=referral(blends with non-AI referrals) - Casing drift:
utm_source=Gemini&utm_medium=AI_Assistant(splits rows and filters)
Document the convention in one source of truth (doc/README) and don’t change it once weekly reporting starts. Optional: only add utm_content when you need A/B variant identification.
Step 2 — Capture: verify UTMs reach the landing page and appear in GA4
You’re checking two things: UTMs survive to the final URL, and GA4 records them for the session.
Click-path checklist
- Click the Gemini link.
- If you hit redirect(s), keep going until the final landing page loads.
- Confirm the final URL still contains your UTM parameters.
Common drop points (what we found most in audits): redirect rules that don’t pass query strings, link shorteners/tracking layers that overwrite UTMs, and app → browser handoffs that lose the full URL.
GA4 validation (what success looks like)
- In Realtime, confirm your test visit is active.
- In Reports → Acquisition → Traffic acquisition, use Session source / medium and add Session campaign.
Success looks like:
- Session source/medium =
gemini / ai_assistant - Session campaign = your exact campaign string
QA: test at least two landing pages (ideally one with redirects and one without). If values aren’t consistent, fix capture before you build reports.
Step 3 — Classify: isolate Gemini traffic in GA4 with the right dimensions
For ongoing classification, use session-level dimensions because they describe how the session was acquired (not the user’s first touch).
Minimal definition (stable and maintainable)
Use this rule anywhere you segment Gemini traffic:
- Session source exactly equals
gemini - AND Session medium exactly equals
ai_assistant - Optional guardrail: Session campaign starts with
ai-gemini-
GA4 filter example:
Session source exactly matches
geminiAND Session medium exactly matchesai_assistant
Apply it in an Exploration filter or a report filter. UI labels move, but the rule should stay session-scoped.
Optional grouping: only create an “AI Assistants” bucket if you can keep an allowlist small (e.g., gemini, chatgpt, copilot). Avoid pushing this into Default Channel Group unless you have governance; those rules sprawl quickly.
Step 4 — Report: build a repeatable Gemini view stakeholders can trust
The weekly snapshot should answer volume, engagement, and outcomes without scope mistakes.
Weekly metrics (baseline)
Track:
- Sessions
- Engaged sessions
- Conversions and/or key events
- Engagement rate
- Top landing pages
Comparison rules (avoid scope mixing)
Compare Gemini vs other sources using the same scope:
- Use Session acquisition for Gemini comparisons.
- Don’t mix Session acquisition with First user acquisition in the same view or you’ll manufacture lifts/drops.
Export-ready table layout
Use these columns in GA4 (or in your export):
- Date/week
- Session source/medium
- Session campaign
- Landing page
- Sessions
- Engaged sessions
- Conversions / Key events
- Conversion rate
Run it weekly and annotate major launches or prompt/placement changes so trend shifts have context.
Conclusion (done-when checklist)
Consistency beats complexity. Lock the convention (gemini + ai_assistant), validate UTMs on the final landing URL (after redirects), then reuse the same session-level filters and reporting columns every week. When something breaks, suspect query-string loss or naming/casing drift before assuming GA4 is wrong.
Next step: generate standardized links with Seosoft’s UTM Builder: https://www.seosoft.com/tools/utm-builder
Sources
Article author
Mika Sandgrove
Mika Sandgrove is an SEO writer and independent SEO consultant with more than three years of experience creating and optimizing content for search. He runs his own SEO practice, helping businesses improve their organic visibility through SEO strategy, content optimization, and technical and on-page SEO services. Much of his work comes through freelance marketplaces and online client platforms, where he works with businesses across different industries and markets. Mika primarily writes about SEO, search visibility, and practical optimization strategies, and is increasingly exploring Answer Engine Optimization (AEO) and how businesses can adapt their content for AI-powered search experiences.

