How to track ChatGPT and AI traffic in Google Analytics 4
GA4's new AI Assistant channel misses some assistants and app clicks land in Direct. The custom channel group, the regex, and what GA4 still can't see.
GEO - generative engine optimization, aka AI GEO - is the practice of getting your brand named and cited inside AI answers. What it is, how it differs from SEO, and a step-by-step framework to get ChatGPT, Claude, Gemini and Perplexity recommending your brand.
Generative Engine Optimization (GEO) is the practice of making your brand the one AI assistants - ChatGPT, Claude, Gemini, Perplexity, Grok - name, recommend and cite when someone asks a question your product answers. Where SEO competes for a ranking on a results page, GEO competes for a mention inside the generated answer.
For two decades, the playbook for being found was simple: rank on the first page of Google. That era is closing. Your buyers increasingly skip the results page entirely and ask an AI assistant a direct question - "what's the best analytics tool for a small team?" - then act on the answer they're given. GEO is the work of making sure your brand is that answer. This guide breaks down how it works, how it differs from SEO, and a concrete framework to start winning recommendations across every major engine.
Google at least handed your buyer ten options. An assistant reads those pages for them and gives back a verdict - and most buyers never look past it.
The shift is easy to watch inside your own company: ask how the last few tools on your stack got chosen, and at least one answer will be "I asked ChatGPT." These assistants don't return ten blue links; they name a handful of brands, sometimes just one. If you're not among them, you're invisible at the exact moment of intent - and traditional SEO tools can't see any of it.
SEO and GEO share DNA - both reward clear, authoritative, well-structured content. But the surface and the signals differ:
Start by asking each engine the real questions your buyers ask, and record whether - and how prominently - you appear. This baseline is your visibility score.
Type your brand name or domain - we'll line up the questions buyers ask about it.
For every prompt where you're missing, note which brands won the spot and which sources the model cited. Patterns emerge fast: usually a handful of citable assets are doing the heavy lifting.
Prioritize by predicted impact. In practice, the biggest movers are comparison pages, citable pricing pages, and well-structured FAQ content with schema markup.
We learned this part the blunt way. When we renamed from PEEX to Zene in June 2026, our own site updated overnight - the engines didn't, and several kept recommending the old name for weeks. If answers can lag that hard on our own name, they're drifting on yours too. A daily-refreshed score and overtake alerts are how you catch the drift instead of hearing about it from a prospect.
Everything above assumes the model can actually see your pages. A good share of the brands we scan fall down right here, before strategy enters the picture - a blocked crawler, a JavaScript-only homepage, a price locked inside an image. None of it is glamorous, and all of it is the line between being quotable and being invisible. These are the eleven public signals that decide whether an engine can reach, read and cite you. You can point the free AI readiness checker at your own URL and watch it check each one in a few seconds.
Type your brand name or domain - we'll line up the questions buyers ask about it.
First, can a crawler reach the page at all?
The quickest way to be invisible to AI is to tell its crawler to leave - usually by accident. GPTBot, ClaudeBot, Google-Extended and PerplexityBot each read your robots.txt before anything else, and a stray Disallow (or an over-eager security plugin) shuts them out of the whole site. Open yours and confirm those agents aren't blocked. If you're weighing whether to let them in at all, we put both sides of that trade-off in should you block AI crawlers.
A sitemap is the map a crawler uses to find pages that aren't one click from your homepage. Publish /sitemap.xml, keep it current, and add a Sitemap: line to robots.txt so there's no guesswork. It won't win a citation on its own, but it stops your deeper pages - the comparison and docs pages that actually get quoted - from going undiscovered.
Next, once it's in, can it read what the page says?
This is the one that quietly sinks the most sites. Many AI crawlers don't execute JavaScript, so if your homepage paints its content client-side, what they fetch is a near-empty shell - a <div id="root"> and nothing to quote. View-source your page (literally Ctrl-U): if your headline and key sentences aren't sitting there as plain text, server-render or pre-render them. Everything else on this list is moot if the words never arrive. The free AI readiness checker flags this the moment it sees a thin HTML response.
Headings are the outline an engine reads to work out what a page is about. Use exactly one <h1> that states the page's topic, then structure the rest with <h2> and <h3> tags in a sensible order. Resist wrapping styling in heading tags - a model treats every <h1> as a claim about what the page is, and three of them just read as noise.
Your <title> is the first line an engine reads about a page, and often the label it remembers you by. Keep it around 50–60 characters, lead with what the thing actually is, and drop the keyword-stuffed tail. "Acme - Invoicing for freelancers" beats "Acme | Best Invoicing Software Tool Online 2026" every time.
The meta description is a free, factual summary you hand engines and link previews. Fifty to a hundred and sixty characters, written like a sentence a person would say out loud, no superlatives. It's among the lowest-effort quotable lines on the page - the same idea as the one in our positioning-sentence builder, just dropped into a meta tag.
Finally, can it pull your facts and render you cleanly?
Plain text tells a model what you say; JSON-LD tells it which words are facts. Mark up your organization, your products and prices, and your FAQ answers, and an engine can lift "$19/month" as a price instead of guessing at it. This is the highest-leverage markup for getting quoted accurately - we keep a running reference of the schema types that actually earn citations, and you can generate valid markup with the schema generator. Prices are where it bites hardest, and most pricing pages aren't machine-readable at all - score yours honestly:
Open your pricing page in another tab and be honest:
To a crawler, your pricing is a rumor. The good news: this is pure mechanics, fixable this week.
Open Graph tags - og:title, og:description, og:image - are what render the tidy card when your link gets shared, and increasingly what AI surfaces show when they cite you. Without them an engine falls back to a bare URL or scrapes something unflattering. Three tags, ten minutes, and your citations stop looking like an afterthought.
If the same page answers to /pricing, /pricing/, a ?utm= variant and an http/www version, an engine can read them as four competing pages and split whatever authority you've earned. A single <link rel="canonical"> pointing at the real URL collapses them back into one. Boring plumbing; quietly important.
And if you want to hand the model a summary in your own words:
/llms.txt is an emerging convention: a short, hand-written markdown file that tells AI systems, in your words, what your site is and which pages matter. Think of it as a README for models - no crawler guesswork, just the summary you'd want quoted. It takes about twenty minutes, and you can draft one right here:
Paste your URL and we'll read the page - name, summary and key links fill in automatically. Edit anything, then copy the file and serve it at /llms.txt.
# Your brand > Two factual sentences: what you are, who you're for. No superlatives. ## Key pages - [Home](https://example.com): what Your brand is and who it's for - [Pricing](https://example.com/pricing): plans, prices and limits
The longer companion, /llms-full.txt, inlines your full content into one file an engine can read end to end. It's optional and the standard is young - whether it earns its keep depends on how much documentation you have - but if you're already publishing llms.txt, it's a cheap addition. We dug into whether any of this actually moves the needle in does llms.txt work.
The brands treating GEO as a real discipline now are the ones models will still be recommending a year from now. Run a free audit to see where you currently stand, or scan your site against all eleven signals first.
GEO is the practice of making your brand the answer when someone asks an AI assistant - ChatGPT, Claude, Gemini, Perplexity or Grok - a question your product solves. Where SEO competes for a ranking position on a results page, GEO competes for a mention inside a generated answer.
They share the same foundations - clear, authoritative, well-structured content - but the unit of victory changes. SEO wins a blue link; GEO wins a sentence of yours that the model repeats. Citations matter more than backlinks, and comparison and structured content matter more than keyword density.
Not inside the answer. OpenAI began testing ads in ChatGPT in 2026 for logged-in US adults on the Free and Go plans, but it says ads are clearly labeled, kept separate from the answer and do not influence what ChatGPT recommends - and there is no submission form either. The organic recommendation is assembled from what the model learned in training and what it pulls from the web mid-answer, so the only way into it is to be genuinely easy to find, read and quote.
No - GEO sits on top of SEO rather than replacing it. Most AI answers that search the web read pages from the same indexes that rank you (Google's for AI Overviews and AI Mode, plus Bing and the engines' own crawlers), and Google says its AI features need no special optimization beyond SEO fundamentals. What GEO adds is a different scoreboard - mentions and citations inside answers - and the work that moves it: quotable first-party pages, comparisons, third-party mentions and per-engine tracking.
Almost always one of three things: the engine can't reach or read your site (a blocked crawler or a JavaScript-only page), it has nothing quotable to pull, or it simply hasn't learned your brand from the places its training data came from. Run a scan to see which one is yours.
Allow the AI crawlers in robots.txt, ship real server-rendered text instead of a JavaScript shell, add JSON-LD structured data, a clear title and meta description, Open Graph tags, a canonical URL, an XML sitemap and a clean heading structure, and optionally publish an llms.txt summary. Those eleven signals are what a free AI visibility scan checks.
AI answers drift run to run and the engines disagree with each other, so a single check is only a snapshot. Track the same question set across every engine on a cadence you can sustain - weekly by hand, or daily with a tool - so you catch a competitor overtaking you before a prospect tells you about it.
Put this guide into practice - get your free visibility score in minutes.
