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
1619 skills
Install
$ npx -y skills add Thibaultbm/claude-seo-geo --skill geo-tracking --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/geo-tracking

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

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. Vault structure, read-first and write-back protocols: the obsidian-brain skill.

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

Read more
Ships withclaude-seo-geo

SEO & GEO skills for Claude Code, built with Claude Mythos 5. Rank in Google AND in LLMs like ChatGPT, Perplexity, and Gemini.

Get the whole plugin
Stats
16
Stars
1
Forks
Active
Maintenance
Python
Language
MIT
License
4d ago
Last commit
3mo ago
Created

Repo: Thibaultbm/claude-seo-geo

Other skills on claude-seo-geo.