The short answer
You cannot track a rank position in ChatGPT or Perplexity the way you track a keyword in Google, because an AI answer is generated for each request and there is no fixed list of results to hold a position in. What you can track is how often your brand is mentioned and your pages are cited when the same questions are asked repeatedly, and which competitors and third-party pages show up instead.
That is a rate, not a rank, and it comes with noise. This guide shows how to measure it by hand with a fixed prompt set, repeated runs and a simple log, how to tell signal from variance, and where paid tools fit. Everything here that is a number from outside this site names its source. The worked example later on is invented and labelled as such.
Tracking is the feedback loop for the optimization work covered in the generative engine optimization guide, the ChatGPT guide and the Perplexity guide. Without it you cannot tell which changes helped.
What you can and cannot measure today
Most of the confusion about AI rank tracking comes from treating a generated answer like a search results page. Keep these two lists in front of you before you build anything.
Can measure
- Whether your brand name appears in an answer to a fixed prompt, per run.
- Whether one of your URLs is listed as a source, per run.
- Which competitors and which third-party pages are named or cited instead of you.
- Clicks that carry a recognizable referrer or UTM parameter, such as utm_source=chatgpt.com from ChatGPT search.
- How those rates move between rounds, if the prompt wording is frozen.
Cannot measure
- A stable rank position. There is no fixed results page, so any single position is one draw from a varying answer.
- How often real people ask your prompts. You are testing questions you chose, not sampling users.
- Answers seen by logged-in users with memory, location or history that your test sessions do not share.
- Impressions. No public AI-answer equivalent of a Search Console impressions report exists for ChatGPT or Perplexity.
- Mentions that never lead to a click, unless you test for them with prompts.
Two sources describe the limits from the practitioner side. WebFX's guide to tracking AI search rankings (fetched 9 October 2026) says there is no single dashboard that shows where a brand appears across AI search, that results vary by platform even for the same prompt, and that location and search history personalize what people see. It also notes that Google Search Console has no AI-specific report and that analytics only capture clicked referrals, since an answer can summarize your content without linking to it.
On the referral side, OpenAI's Publishers and Developers FAQ says ChatGPT search includes the UTM parameter utm_source=chatgpt.com in referral URLs, so analytics can separate that traffic, and that publishers who allow OAI-SearchBot can measure it in tools such as Google Analytics. I did not fetch an equivalent first-party statement for Perplexity, so check your own analytics for how its clicks arrive instead of assuming.
What the pages that rank for this topic leave out
Reading the current top results for this query, the common pattern is a definition of AI visibility, a list of metrics (mentions, citations, share of voice, sentiment) and a list of tools, many of them written by tool vendors. The WebFX guide covers methods well but, in its own text, gives no sampling protocol, no number of runs per prompt and no logging template. A vendor post from Topify (fetched the same day) recommends 20 to 30 prompts and a manual spreadsheet audit, and itself admits manual audits are point-in-time snapshots. Neither explains how to read variance, which is the part that decides whether your numbers mean anything.
That gap is what the rest of this page fills: a protocol you can run this week, the columns to log, and the arithmetic for deciding whether a change is real. I have not tested these tools' accuracy, and I make no claim that any of them measures better than a careful manual process.
A manual tracking method you can run this week
- Write a fixed prompt set. Start with 20 to 30 prompts in three groups: branded ("is [brand] good for [use case]"), comparison ("[brand] vs [competitor]", "alternatives to [competitor]"), and non-branded category or problem prompts ("best [category] for [audience]", "how do I [task]"). Non-branded prompts are the ones that tell you whether strangers find you, so make sure they are at least half the set. Give each prompt an ID and never reword it afterwards.
- Fix the test conditions. Decide the engine, the mode (for example search enabled), logged in or out, and location, and keep them identical every round. Personalization and memory are real sources of noise, so use a clean session without saved memory where the product allows it, and write down what you used.
- Run every prompt at least five times. Open a new chat for each run so earlier answers do not leak in. Five runs is a floor, not a target: the worked example below shows how much uncertainty remains even then.
- Log one row per run. Not a summary, not an average. Use the columns in the next section. The raw rows are what let you recompute any metric later.
- Separate mentions from citations. A brand can be named without a link, and a page can be linked while the answer names someone else. They answer different questions and need different fixes.
- Report rates with ranges. Compute mention rate and citation rate per prompt and overall, split by branded and non-branded, and attach an interval (below). Compare rounds, not single runs.
- Change one thing, then wait. If you edit a page, note the date, wait for at least one full round after it could have been re-crawled, and compare the same prompts under the same conditions.
The logging sheet: columns to use
Create a spreadsheet with one row per run and these columns. It is deliberately plain so it works in any spreadsheet tool and can be imported into a paid tracker later.
| Column | What goes in it |
|---|---|
| date | Run date, ISO format. Rounds are only comparable if you know when they happened. |
| round_id | A label such as 2026-10-A so all runs in one sitting group together. |
| engine | ChatGPT, Perplexity, Gemini and so on, plus the mode (search on or off, any model name the interface shows). |
| session | Logged out or logged in, location, fresh chat or not. Keep these constant. |
| prompt_id | A stable ID such as P03. Never reword a prompt under the same ID. |
| prompt_text | The exact wording you pasted. |
| run_n | 1 to 5 (or more). One row per run, never an average. |
| mentioned | 1 if your brand name appears in the answer text, else 0. |
| cited | 1 if one of your URLs appears as a source, else 0. |
| cited_url | Which of your pages was cited. This tells you what is earning the answer. |
| position | Order of your brand among the brands named, blank if absent. Treat it as a rough signal only. |
| competitors | Brands named in the same answer, separated by semicolons. |
| other_sources | Third-party domains cited. These are often where the real work is. |
| notes | Wrong facts, outdated claims, odd refusals, anything you want to revisit. |
Optionally save the full text of each answer in a separate tab keyed by date and prompt ID. When a number looks wrong a month later, the raw answer is the only way to find out why.
Worked example (illustrative data, not real results)
Suppose ExampleCo runs six prompts on one engine, five runs each, 30 answers in total. Counts are out of 5 runs.
| ID | Type | Prompt | Mentioned | Cited |
|---|---|---|---|---|
| P01 | Non-branded | best [category] for small teams | 3/5 | 1/5 |
| P02 | Branded | ExampleCo vs RivalOne | 5/5 | 4/5 |
| P03 | Non-branded | how do I do [task] without [pain] | 1/5 | 0/5 |
| P04 | Non-branded | alternatives to RivalOne | 2/5 | 1/5 |
| P05 | Branded | is ExampleCo good for [use case] | 5/5 | 3/5 |
| P06 | Non-branded | best [category] under $50 | 0/5 | 0/5 |
Rolled up, with a 95% Wilson score interval (a standard formula for a proportion, computed by this page from the counts above):
| Slice | Mention rate | Plausible range | Citation rate | Plausible range |
|---|---|---|---|---|
| All prompts | 16/30 (53%) | 36% to 70% | 9/30 (30%) | 17% to 48% |
| Branded prompts | 10/10 (100%) | 72% to 100% | 7/10 (70%) | 40% to 89% |
| Non-branded prompts | 6/20 (30%) | 15% to 52% | 2/20 (10%) | 3% to 30% |
What this example teaches. The headline overall rate looks healthy, but it is propped up by the two branded prompts, where the brand is named in every run. The non-branded slice, the one that reflects discovery by people who do not already know you, is much lower and its range is wide. Reporting only the blended number would hide that.
How to read variance. P01 shows 3 of 5 mentions. With only five runs, the plausible true rate for that single prompt spans most of the scale, so a move from 3/5 to 4/5 next week is not evidence of anything. Three habits help: judge changes on the aggregated slices rather than on single prompts, treat a change as real only when the new range no longer overlaps the old one or when it persists over several rounds, and add runs where a decision depends on a close call. More runs narrow the interval, but slowly, and they do not remove the bias of choosing your own prompts.
What to do with it. In this invented case you would look at P03 and P06, where the brand never appears, read which third-party pages the engine cited instead (the other_sources column), and decide whether to improve your own page for that question or earn a mention on the pages that are being cited. Then re-run the same prompts after the change.
Tools that automate this
Automation helps when you need many more prompts than you can run by hand, several engines, a schedule, or exports. The rows below come only from each vendor's own homepage, which I fetched on 9 October 2026. They are the vendors' claims, not test results, and pricing changes, so confirm on the vendor's page. I have not verified these products' accuracy or compared their data with each other.
Peec AI
AI search analytics for marketing teams: prompt setup, competitor benchmarking, source discovery, CSV export, a Looker Studio connector and an API.
Engines listed: ChatGPT, Perplexity, Gemini, AI Mode
Pricing on the page: Not shown on the homepage; links to a separate pricing page I did not open
Visit Peec AIOtterlyAI
AI search monitoring: prompt research, brand mention and citation tracking, competitor comparison, content audits and a public API.
Engines listed: ChatGPT, Perplexity, Google AI Overviews, AI Mode, Gemini, Copilot (Claude appears in its engine filter and FAQ)
Pricing on the page: FAQ says plans start at $29/month; the free-trial length is stated inconsistently on the page (7 and 14 days)
Visit OtterlyAIProfound
Monitoring (answer engine insights, prompt volumes, shopping, agent analytics) plus an AI marketing agent product.
Engines listed: ChatGPT, Perplexity, Claude, Gemini, Copilot, DeepSeek, Google AI Overviews
Pricing on the page: Not shown on the homepage
Visit ProfoundAthenaHQ
Cross-platform AEO and GEO monitoring with competitive intelligence, hallucination detection and content recommendations.
Engines listed: ChatGPT, Perplexity, Gemini, AI Overviews, Copilot on all plans; more engines on paid plans
Pricing on the page: Credit-based: a free Essential tier, Starter at $295/month, Enterprise on request
Visit AthenaHQA different job: Website Verdict is an audit tool. Its homepage describes a scan of SEO foundations, AI discoverability and agent readiness based on site signals such as AI-crawler access, llms.txt and structured data. It does not describe monitoring real AI answers, so use it to check that your pages can be found and read, not to measure mentions. It does list an "AI visibility tracker" as a credit-metered Pro feature without explaining it, so I cannot say what that measures.
For classic tools: WebFX's guide says Semrush Position Tracking and Ahrefs Site Explorer can filter for keywords that trigger a Google AI Overview, and that these cover AI Overviews only, not chat platforms. I did not open either vendor's page, so treat that as second-hand. WebFX also reports that AI Overviews appeared in 25.8% of U.S. searches in its study of 2.37 million keywords; I have not seen the methodology, so use it as context rather than a benchmark.
For a broader comparison of optimization tooling, see the AI search optimization tools guide.
Common mistakes
- Changing prompt wording between rounds. You then measure your edits, not the engine.
- Reporting a blended rate. Branded prompts inflate it. Always show the non-branded slice separately.
- Running each prompt once. One run is an anecdote.
- Ignoring who else gets cited. If a comparison site is the source, your lever may be that site, not your own page.
- Blocking the wrong crawler. OpenAI's publisher FAQ says sites blocking OAI-SearchBot can be left out of ChatGPT search summaries and snippets, and that GPTBot is the separate training control. Check your robots.txt.
- Treating traffic as the only signal. Referral clicks undercount exposure, because an answer can use your content without a click. Track both.
Rankings in classic search still matter for AI visibility, and how the two differ is covered in traditional SEO vs AI SEO and AEO vs SEO.
Frequently asked questions
Can you see your actual ranking position in ChatGPT or Perplexity?
Not as a stable number. An AI answer is generated per request, so there is no fixed results page to hold a position in. What you can record is whether your brand was mentioned, whether one of your URLs was cited, and where in the answer it appeared, across repeated runs of the same prompt.
How many times should I run each prompt?
At least five. Answers change from run to run, so a single run tells you almost nothing. Five runs per prompt gives you a rough rate, and the worked example on this page shows how wide the uncertainty still is at that sample size.
Do I need a paid tool to track AI visibility?
No. A spreadsheet and a fixed prompt set are enough to start, and they are the right way to learn what your numbers look like before paying for automation. Paid tools earn their cost when you need many prompts, many engines, a schedule, or exports and APIs.
Can I find ChatGPT visits in Google Analytics?
Partly. OpenAI's publisher FAQ says ChatGPT search adds utm_source=chatgpt.com to referral URLs, so clicks from those answers can be separated in analytics. Mentions that never produce a click do not show up there at all.
Why does my brand appear in some runs but not others?
Generated answers are not deterministic, and different runs can retrieve and weigh sources differently. That is why you log every run and report a rate with a range instead of a yes or no.
Is a mention the same as a citation?
No. A mention means the brand name appears in the answer text. A citation means one of your URLs is shown as a source. Log them in separate columns, because they can diverge in both directions.
How often should I re-run the prompt set?
Weekly or fortnightly is enough for most sites. Keep the prompt wording frozen between rounds so changes in the numbers reflect changes in the answers rather than in your questions.
Does blocking crawlers affect whether I can show up?
For ChatGPT search, OpenAI's publisher FAQ says that sites blocking OAI-SearchBot can be left out of summaries and snippets, and that blocking GPTBot is the signal for training exclusion, which is a separate control. Check your robots.txt for both.
Where to go next
Build the prompt set and the sheet first, run one full round, and only then decide whether a paid tracker is worth it. EchoVerse does not sell a tracking product, so there is no product page to point you to; browse all EchoVerse guides or the EchoVerse homepage for the projects behind them. If your site has not been checked for basic AI discoverability, an audit such as Website Verdict is a sensible first step before you measure anything.