How to Build a ChatGPT Prompt Tracking Sheet
A ChatGPT prompt tracking sheet is a spreadsheet with one row per answer: date, engine, market, prompt, prompt shape, run number, whether your brand was named, its position, whether your site was cited and which URL, and which market players appeared. Setting it up takes under an hour; the value comes from filling it in the same way every week or two.
By the Netbase JSC team · Updated
Key facts
- Leadee tracker, Oct 2026
- In Leadee's 2026-10-25 tracker round, OpenAI gpt-5 + web search named CMSmart in 2 of 3 runs of "best WooCommerce product designer plugin for print on demand" and 1 of 1 run of "Fancy Product Designer alternatives for WooCommerce" (US). (Leadee tracker, Oct 2026)
- Leadee tracker, Oct 2026
- Across all 25 OpenAI runs of that round, a Netbase JSC brand was named in 3 (12%, 95% Wilson interval 4.2-30.0%): a small sample that is an indicator only. (Leadee tracker, Oct 2026)
- Arithmetic example (Wilson score method)
- At the same observed rate of 30%, the 95% Wilson interval is 10.8-60.3% with 10 runs and 18.1-45.4% with 40 runs (arithmetic example, not a measurement). (Arithmetic example (Wilson score method))
Which prompts should go into your sheet?
A sheet is only as good as its prompt list. The free ChatGPT Prompt Finder suggests buyer prompts for your keyword, grouped by intent and funnel stage. It is rule-based (no AI model call), so keep the ones that match what your customers really ask.
Leadee is not affiliated with, endorsed by, or sponsored by OpenAI. “ChatGPT”, “GPTBot” and the other names on this page are OpenAI's own, used only to describe what this tool measures.
Step 1: Set up the columns
Make one tab called Runs. Every answer you collect becomes one row, and every row has the same twelve columns. One row per answer matters: if you summarise as you go ("named 2 out of 3"), you lose the detail you need later to check a count or spot a pattern.
Keep the brand-named and cited columns strictly yes/no, and decide in advance what counts. A mention is your brand or domain named in a form nobody could confuse with something else; a citation is a source link to your own domain. Why the two must stay separate is explained in what ChatGPT citations are.
| Column | What to enter | Example (illustrative) |
|---|---|---|
| Date | The day you asked | 2026-10-25 |
| Engine / model | Product and model, and whether web search was on | OpenAI gpt-5 + web search (API) |
| Market | Country you asked for or from | US |
| Prompt | The exact text, unchanged between rounds | best WooCommerce product designer plugin for print on demand |
| Prompt shape | branded / best-list / comparison / how-to / other | best-list |
| Run no. | 1, 2, 3 ... for repeats of the same prompt on the same day | 1 |
| Brand named (y/n) | Unambiguous mention only | y |
| Position | Your rank in a listed answer (1 = first); blank if no list | 2 |
| Cited (y/n) | A source link points to your own domain | y |
| Cited URL | The exact page linked | https://example.com/your-page |
| Market players named | Other companies in the answer | Market player A; Market player B |
| Notes | Anything odd: name mix-ups, no sources, refused | answer had no list |
What do real rows look like?
Here are the three OpenAI rows Leadee's tracker has for CMSmart (cmsmart.net, part of Netbase JSC, the company behind Leadee) from its 2026-10-25 round. They are aggregated per question, because that is how our analysis stored them; a sheet you keep yourself should have one row per run. Cells our analysis did not keep at that level are marked "not stored" rather than filled in.
At engine level the analysis does record more: CMSmart was cited in 3 of its 4 US OpenAI runs, with an average position of 3.67. Across all 25 OpenAI runs for the 7 Netbase JSC brands, a brand was named in 3 (12%, 95% Wilson interval 4.2-30.0%); the round stopped when the OpenAI account ran out of credit. That is an indicator, not a measurement, and it is exactly why the sample-size section below matters. The full brand results are in the CMSmart case study.
| Date | Engine | Market | Prompt | Shape | Runs | Named | Position | Cited | Cited URL | Market players named | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-10-25 | OpenAI gpt-5 + web search | US | best WooCommerce product designer plugin for print on demand | best-list | 3 | 2 of 3 | not stored | not stored | not stored | not stored | unbranded |
| 2026-10-25 | OpenAI gpt-5 + web search | US | Fancy Product Designer alternatives for WooCommerce | comparison | 1 | 1 of 1 | not stored | not stored | not stored | not stored | unbranded; names a market player |
| 2026-10-25 | OpenAI gpt-5 + web search | GB | best WooCommerce development agencies for UK small businesses | best-list | 1 | 0 of 1 | - | not stored | not stored | not stored | unbranded |
Step 2: Load your prompt list and label each shape
Put your prompts on a second tab called Prompts, each with its shape label, so the Runs tab can look them up. Most of the list should be unbranded prompts: questions a buyer asks before they know you. Keep branded prompts as a small separate group, because they make almost any brand look visible.
If you do not have a list yet, build one from sales emails, site search and Search Console first, as described in how to find the prompts your customers ask ChatGPT, then add candidates from the free ChatGPT Prompt Finder. Ten to twenty prompts is a workable start.
Step 3: Fill in one row per answer
Ask each prompt at least three times per round, in a fresh chat each time, and fill in one row per answer straight away. Paste the cited URL exactly as shown. If an answer names a company with the same or a similar name as yours, write it in Notes and leave Brand named as "n" until you have checked it by hand.
The method for asking — which questions, how often, and how to avoid your own chat history steering the answer — is in how to check if ChatGPT mentions your brand.
Step 4: Add a summary tab with rates and intervals
On a Summary tab, count per prompt shape and per period: runs (n), brand named (k), and the rate k/n. Then add the 95% Wilson interval next to every rate. With k in B2 and n in C2, the lower bound is =(B2/C2+1.96^2/(2*C2)-1.96*SQRT(B2/C2*(1-B2/C2)/C2+1.96^2/(4*C2^2)))/(1+1.96^2/C2); for the upper bound, change the minus before 1.96*SQRT to a plus.
Do the same for cited (y/n) and keep an average position only over the runs where you were named. Leadee's tracker reports the same metrics with the same interval method; the definitions are on our methodology page.
How many runs do you need before the numbers mean something?
More than most sheets have. The table below is plain arithmetic, not a measurement: it shows the 95% Wilson interval for the same observed rate of 30% at different sample sizes. With 10 runs, a 30% rate is compatible with anything from about 11% to 60%. With 40 runs, about 18% to 45%. Quadrupling the runs roughly halves the width.
In practice: 10 prompts asked 3 times each gives 30 runs per round, and four weekly rounds give 120. That is enough to see a large change, such as 10% becoming 40%, but not a small one. Two periods have only clearly changed when their intervals no longer overlap.
| Brand named / runs | Rate | 95% Wilson interval | Width |
|---|---|---|---|
| 3 / 10 | 30% | 10.8-60.3% | 49.5 points |
| 12 / 40 | 30% | 18.1-45.4% | 27.3 points |
| 30 / 100 | 30% | 21.9-39.6% | 17.7 points |
| 60 / 200 | 30% | 24.1-36.7% | 12.6 points |
Step 5: Repeat on a fixed schedule and compare periods
Run the same prompts on the same weekday every week or two, with the same engine and market. Change the prompt list only on purpose, and log the change in Notes. When you fix something on your site or get listed on a page ChatGPT cites, note the date, then compare the periods before and after, with intervals.
The market players column becomes useful over time: count how often each one is named for each prompt shape. It shows who takes the place you want, and the cited URLs show which pages you need to be on. The other ChatGPT guides are on the ChatGPT SEO overview.
When does a spreadsheet stop being enough?
A sheet works well for one brand, one market and about ten prompts. It gets hard when you add a second engine, a second country, or a weekly cadence: three engines times two markets times 20 prompts times 3 runs is 360 rows a round, typed by hand. Errors creep in at the same time — a missed citation, an ambiguous name counted as a mention.
At that point automated tracking does the same job through each engine's official API, on a schedule, with the intervals computed for you. Leadee is one option (see pricing); whichever you choose, keep the same column definitions so your old sheet and the new data can be compared.
How do you check the sheet is filled in correctly?
Pick ten random rows each month and re-check them against the saved answers: is the brand really named, is the cited URL really your domain, is the position right? If more than one in ten is wrong, tighten the rule in your column definitions. Also check that every prompt has the same number of runs per round; uneven runs skew the rates.
What have we not verified?
- Per-run position, cited URL and market players for the worked example rows: our 2026-10-25 analysis kept them only at engine or brand level, so those cells say "not stored".
- Any CMSmart or Netbase JSC rate on ChatGPT beyond "indicator": the OpenAI sample was 25 runs in total, 5 of them for CMSmart.
- How closely answers in the consumer ChatGPT app match the API answers our tracker records: we measure through the official API only.
- The sample-size table is arithmetic for an assumed 30% rate, not a result from our tracker.
Check this on your site
Run the free ChatGPT Prompt Finder for your keyword and copy the prompts that match what your buyers ask into the Prompts tab.
ChatGPT Prompt Finder
Answers: Enter a keyword and get prompts buyers might ask ChatGPT, grouped by intent and funnel stage — from a deterministic template, no AI model call.
No sign-upFind ChatGPT prompts — ChatGPT Prompt FinderQuestions
Do I need a row for every run, or one per prompt?
One per run. Totals per prompt are easy to compute from runs, but you cannot go back from a total to check which answer named you, where, and with which source.
How often should I update the sheet?
Every week or two, on the same weekday, with the same prompts. Irregular rounds make it hard to tell a real change from noise.
Can I track Perplexity or Google AI Mode in the same sheet?
Yes. The Engine column is there for that. Report each engine separately as well as combined, because the same brand can do very differently on each.
Is a 3-out-of-10 result good?
It is too few runs to say. The 95% interval for 3 out of 10 runs from about 11% to 60%. Keep collecting before you draw conclusions.
Can GEO guarantee results?
No. AI answer engines change their output frequently, and no vendor — including Leadee — can guarantee a ranking or a mention. Leadee publishes confidence intervals on every metric so you can see how much a result can vary run to run.
How does Leadee measure AI visibility?
Leadee runs your prompt set against each AI engine on a weekly to daily schedule, depending on plan, through official vendor APIs (OpenAI, Gemini, Perplexity, Anthropic, DataForSEO) — never by scraping consumer chat interfaces — and reports mention rate, citation rate, average position, share of voice and sentiment with a 95% confidence interval.
Who do I talk to?
Email support@leadee.ai or use Talk to an expert at https://leadee.ai/contact-sales — the Netbase JSC team behind Leadee replies by email or WhatsApp — or WhatsApp the CEO directly at https://wa.me/84937869689.
See where your own site stands
Run a free scan to check this (and everything else Leadee tracks) on your own site.


