Skip to content
Marketing
Skill

/geo-tracking

Measure AI visibility without paid tools or API keys. Input: your site (GA4 and server logs) and a buyer prompt panel. Output: GA4 AI-traffic reporting (custom channel group plus referrer regex above Referral), monthly brand mention rate, citation rate, and share of voice versus

From plugin
claude-seo-geo
1720 skills

Claude Code

$ npx -y skills add Thibaultbm/claude-seo-geo --skill geo-tracking --agent claude-code

SKILL.md

geo-tracking.SKILL.md
name: geo-tracking
description: "Measure AI visibility without paid tools or API keys. Input: your site (GA4 and server logs) and a buyer prompt panel. Output: GA4 AI-traffic reporting (custom channel group plus referrer regex above Referral), monthly brand mention rate, citation rate, and share of voice versus competitors across ChatGPT, Perplexity, AI Overviews, Claude, and Gemini, plus verified AI-crawler hits from logs. Repo reference for measurement. Use to track AI traffic, monitor brand mentions, run prompt tracking, compute share of voice, or build a monthly GEO report."
license: MIT
metadata:
  author: "Sorank (https://sorank.com)"
  version: "1.0.0"

GEO Tracking: Measuring AI Visibility

AI visibility is measurable today, for free, at three layers of the funnel. Each layer answers a different question:

| Layer | Data source | Question it answers | Lag | |---|---|---|---| | Traffic | GA4 | How many visits and conversions do AI assistants send? | Trailing (after the click) | | Answers | Prompt panel | What do AI engines say about the brand when buyers ask? | Current state | | Retrieval | Server logs | Are AI systems reading the pages right now? | Leading (before citations appear) |

Run all three. GA4 alone undercounts structurally, panels alone miss revenue proof, logs alone say nothing about what answers contain. The combination is the measurement system; paid platforms are an optional layer on top, never the starting point.

This skill is the canonical measurement reference in this repo. Build the prompt panel with seo-keyword-research; act on the gaps with geo-visibility.

Company knowledge first (Obsidian)

If the working environment contains an Obsidian vault or any local knowledge base (a folder of .md notes, often with a .obsidian directory), read the relevant notes before acting: brand and product facts, target keywords, competitors, and the SEO action log of what was already tried. Ground every recommendation in that context instead of asking the user for facts the vault already holds. At the end of the session, append the actions taken to the vault's SEO action log so the next session starts informed.

When to use this skill

Use this skill when the user:

  • Asks how much traffic comes from ChatGPT, Perplexity, Gemini, Claude, or Copilot.
  • Wants AI traffic visible in GA4, Looker Studio, or a client report.
  • Wants to track brand mentions, citations, or share of voice in AI answers (prompt tracking, AI rank tracking).
  • Asks whether AI bots crawl the site, or what ChatGPT-User hits in the logs mean.
  • Needs a monthly GEO report, a baseline before a GEO project, or proof of GEO results for a client.
  • Asks whether to buy an AI visibility tool (Profound, Otterly, Brand Radar, Semrush AI tools).

Workflow

Day zero: capture the baseline

Do this before any GEO work starts, because every later claim of progress is judged against it; without a baseline, improvements are invisible and unprovable.

1. Create the custom GA4 channel group (Layer 1 below) and annotate the property with the date. 2. Run the full prompt panel once: that run is month zero. 3. Pull 30 days of server logs and count verified AI hits per agent (Layer 3 below). 4. Screenshot the current AI answers for the 10 most commercial prompts, brand present or not.

Layer 1: AI traffic in GA4

Step 1: Know what the default gives you

Since May 13, 2026, GA4 includes a default "AI Assistant" channel group. Google's documentation defines it as traffic "from sources like ChatGPT, Gemini, Deepseek, Copilot, or Grok" (https://support.google.com/analytics/answer/9756891): the list is open-ended and not user-controlled, Perplexity is notably absent from it, and it is not retroactive: it only classifies data from its activation forward (https://www.searchenginejournal.com/google-analytics-adds-ai-assistant-as-default-channel-group/574974/). Useful as a zero-effort baseline, insufficient as the measurement.

Step 2: Build a custom channel group (the real setup)

Why: full assistant coverage (including Perplexity), and a definition you control and can extend when new assistants appear, instead of an open-ended default list Google edits without notice.

1. In GA4: Admin, Data display, Channel groups, create a new channel group (or copy the default). 2. Add a channel named "AI Assistants" with the condition Session source matches the regex:

chatgpt\.com|chat\.openai\.com|perplexity\.ai|claude\.ai|gemini\.google\.com|copilot\.microsoft\.com|bing\.com/chat|deepseek\.com|grok\.com|meta\.ai|mistral\.ai|you\.com

3. Drag the "AI Assistants" channel above Referral in the channel order. Why: channel groups evaluate top-down, and these sources all qualify as referrals; placed below Referral, every AI session is swallowed by Referral first and the channel stays empty (setup walkthrough: https://www.analyticsmania.com/post/ai-traffic-in-google-analytics-4/). 4. Custom channel groups are not retroactive either. Create the group on day one of any GEO project and annotate the date; the baseline starts there. 5. Review the regex quarterly and append new assistant domains.

Step 3: Read the numbers honestly

Structural limit: native mobile and desktop apps frequently send no referrer, and those sessions land in Direct. Measured AI traffic is a floor, not the total. State this in every report; never present the AI channel as exhaustive, and never read a Direct uptick as noise without considering assistant apps.

Step 4: Report value, not just volume

AI assistant visits convert about 4.4x better than organic search visits (Semrush study, June 2025, reported at https://ppc.land/ai-search-visitors-worth-4-4x-more-than-traditional-organic-traffic/; an Adobe Analytics analysis found the same multiple). The pattern: the assistant did the comparison work, so the visitor arrives pre-sold. Always report conversion rate and conversions next to session counts; AI traffic that looks small by ses

Read more
@thibaultbm
Ships withclaude-seo-geo

SEO and GEO skills that work like a specification: they audit a page, compare it with the competitors that rank, and build the fix. Rank in Google and get cited by ChatGPT, Perplexity, Gemini and Google AI Overviews.

Stars on GitHub

Momentum

stars in total
17
Star history of Thibaultbm/claude-seo-geo on GitHub, a chart by star-history.com

Other skills on claude-seo-geo.

geo-visibility

geo-visibility

Get cited and recommended by AI engines (ChatGPT, AI Overviews and AI Mode, Perplexity, Claude, Gemini). Input: a page or piece…

seo-audit-pdf

seo-audit-pdf

Turn a finished SEO + GEO audit into a client-ready PDF report with a fixed, polished layout. Input: the findings of an audit…

seo-backlinks

seo-backlinks

Plan and run off-page SEO to earn links and brand mentions, including for AI visibility. Input: a site, niche, and competitors.…

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about geo-tracking.

Which coding agents can use geo-tracking?
geo-tracking installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.