
The AI Visibility Tools Stack Agencies Actually Need in 2026

Table of Contents
The AI Visibility Tools Stack Agencies Actually Need in 2026 #
An AI visibility agency stack in 2026 is a query bank, a citation monitor, crawler and log proof, schema tests, and a reporting layer that refuses to fake attribution — not a rank tracker with a GEO sticker on the invoice. There is still no Search Console for ChatGPT. Anyone selling you one is selling a prompt runner with a nicer chart.
I'm William Spurlock — AI Solutions Architect, Fractional AI CTO, and SEO-certified since 2021. I build AI-visibility-ready sites and help agencies productize GEO / AEO / AIO without inventing a dashboard that OpenAI does not offer. This spoke sits under how to sell AI visibility services. It is the tool stack, not the metric dictionary. For Share of Model, citation rate, and sentiment definitions, use how to measure AI visibility.
Prices below are list prices I checked on vendor pages in August 2026. They move. Confirm the live page before you buy. I am not quoting market share, and I am not inventing "X percent of agencies use Y."
What tools does an AI visibility agency need in their stack? #
You need five jobs covered: a buyer-question bank, an answer-layer citation monitor, crawler and robots proof, schema validation, and a client report that separates mentions, citations, Google AI impressions, and actual clicks. Everything else is optional software sitting on top of those jobs. If a tool does not do one of those five jobs, it is a toy or a second SEO suite.
I treat the stack as jobs, not logos. A solo operator can cover all five with Google Search Console, GA4, a spreadsheet, two free validators, and a monthly engine-by-engine run. A five-person shop adds one paid GEO seat so account managers stop pasting screenshots into decks. The jobs do not change.
| Job | What it answers | Default tool | Paid upgrade when |
|---|---|---|---|
| Query bank | Which buyer questions do we track, and did the answer change? | Spreadsheet + saved raw answers | Prompt volume outgrows a weekly manual run |
| Citation monitor | Were we named, cited, or skipped on those questions? | Same spreadsheet, scored by hand | You need daily runs, competitors, and a client login |
| Crawler / robots proof | Can the retrieval bots even fetch the page? | robots.txt + host or CDN logs | Multi-site log joining (Peec Crawl Insights, Profound Agent Analytics, Semrush AI Search Site Audit) |
| Schema tests | Can a machine extract Organization, FAQ, Product, Article? | Rich Results Test + Schema Markup Validator | CMS-scale audits, not a second validator |
| Reporting | What can we claim without lying? | One-pager: mention rate, citation rate, GSC AI impressions, GA4 referrals | Looker / branded PDF from Otterly, Peec, Semrush, or Profound |
Notice what is missing: rank position, domain rating, and "AI traffic revenue." Those are SEO leftovers or fiction. Keep Ahrefs or Semrush for the SEO half of the retainer. Do not let them impersonate the GEO half.
The stack also has a hard split I force on every kickoff: Google's own surfaces versus everyone else's chat. Google Search Console can now show generative-AI impressions on Google properties. ChatGPT, Perplexity, Claude, and Copilot still do not give you first-party query data. Your monitor for those engines is a prompt set you run, or a vendor that runs it for you.
What happens if you sell GEO with only rank trackers? #
You sell a screenshot of blue-link positions while the buyer is asking ChatGPT for a shortlist — then you get fired when the rank report looks fine and the pipeline does not. Rank trackers answer "where did we sit on a SERP." GEO work answers "did an answer engine name us, cite us, or skip us." Those are different instruments.
I have sat in retainers where the SEO suite still showed page-one informational terms and the owner had already started asking Perplexity who to hire. The tracker was not wrong. It was answering last decade's question. If your only artifact is a position graph, you have no proof you did the work you invoiced.
Three failure modes show up on the same call:
- False comfort. Rank holds, clicks soften, AI Overviews eat the informational SERP, and you have no citation log to explain it.
- False panic. A competitor "ranks" worse but gets named in ChatGPT because a review site and a Wikipedia row describe them cleanly. You cannot see that in Ahrefs Site Explorer.
- False attribution. Someone filters GA4 for "chatgpt.com / referral," multiplies sessions by close rate, and calls it GEO ROI. That is click traffic from people who already clicked. It is not citation share.
| What the rank tracker shows | What the GEO buyer needed | What you should have brought |
|---|---|---|
| Position 3 for "best [category] agency" | Whether ChatGPT named them in that exact prompt | Query-bank row: mention / citation / competitors |
| Share of voice on a SERP | Share of answers across engines | Engine-split table, not a blended vanity score |
| Backlink delta | Which third-party URLs the model actually cited | Cited-domain list from the raw answers |
| Organic sessions | Whether AI Mode showed their URL | GSC generative-AI impressions, if the property has the June 2026 report |
Ahrefs and Semrush still earn a seat. Ahrefs Brand Radar and the Semrush AI Visibility Toolkit are real AI-visibility layers on top of SEO suites. They do not make the classic rank report sufficient. If you only renew Position Tracking and call it GEO, you are billing for a sport the client is no longer watching.
For a pre-sale artifact that does not require a paid GEO seat, I still send prospects through the DIY AI visibility audit and then sell the agency version: more prompts, saved raw answers, schema and crawler proof, and a sprint list.
How do I assemble a query bank + citation monitor without a fake "GSC for ChatGPT"? #
Build a prompt list from real buyer questions, run it on a schedule across the engines you sold, and store the raw answer plus four scores: mentioned, cited, position in the shortlist, and sentiment or category fit. That is the monitor. A SaaS seat is optional automation around that loop. It is not a first-party log of what users typed into ChatGPT.
Google does not give you ChatGPT queries. OpenAI does not give agencies a Search Console. Profound, Otterly, Peec, Ahrefs, and Semrush all work the same mechanical way: they send prompts into the live interfaces (or adjacent APIs) and score the outputs. Ahrefs is explicit that Brand Radar is built on search-backed prompts, not a dump of private chats — see their Brand Radar methodology and the July 13, 2026 help article. Treat every vendor number as "on this prompt set, on this date, in this engine," not as census data.
What goes in the bank #
I start from four sources, in this order:
- Sales questions the client already hears on calls.
- GSC queries where impressions held and clicks fell — those are the terms Google still shows and AI often answers inline.
- Comparison prompts ("X vs Y," "best [category] for [job]").
- Local or vertical "who should I hire" prompts if that is how the buyer actually chooses.
Cap the first bank. Fifteen to forty prompts is enough to sell and to deliver. A 400-prompt universe is how you burn a Premium Otterly seat and still miss the ten questions that close deals.
| Column | What you store | Why it exists |
|---|---|---|
| Prompt | Exact wording, not a keyword | Engines are sensitive to phrasing |
| Engine + model surface | ChatGPT, Perplexity, AI Overviews, AI Mode, Gemini, Copilot, Claude | Blended scores hide engine gaps |
| Run date | ISO date | You need a trend, not a vibe |
| Mention | Yes / no | Named in the prose |
| Citation | Yes / no + URL | A source link is a different win |
| Shortlist slot | 1 / 2 / 3 / buried / absent | "Mentioned last" is not a win |
| Sentiment / fit | Positive, neutral, negative, wrong category | Wrong category is worse than silence |
| Competitors named | Who else appeared | The actual competitive set |
| Cited domains | Every source URL the engine showed | Outreach and content targets |
| Raw artifact | Screenshot or full paste | The only thing that survives a dispute |
How I run it without a dashboard #
Monthly is the default for a retainer. Weekly if the category is newsy or the client is in a launch window. I run the same wording, same country, same logged-out or consistent account state. I keep the raw answer. Scores without artifacts are how agencies lose arguments.
For a manual pass I will use ChatGPT (GPT-5.5), Claude (Sonnet 5 for volume, Opus 4.8 when the answer is a judgment call), Gemini 3.1 Pro, Gemini 3.5 Flash for cheap re-checks, and Perplexity's live search. That is an audit method. It is not a monitoring product. If you tell a client "we use Claude as our GEO platform," you are confusing a model with a system of record.
When the bank is stable, a paid runner is worth it because humans skip weekends. Until the bank is stable, buying the runner just automates a bad list.
Engine set I actually sell #
I do not track every surface on day one. I match engines to how the client's buyers choose.
| Client type | Engines in the first bank | Why |
|---|---|---|
| Local service | ChatGPT, Perplexity, Google AI Overviews, Google AI Mode | Shortlist + map-adjacent answers |
| B2B / software | ChatGPT, Perplexity, Gemini, Claude | Comparison prompts and "best tool for X" |
| Ecommerce / retail | ChatGPT, AI Overviews, AI Mode, Perplexity | Product and "best of" answers |
| National brand already in Semrush or Ahrefs | Whatever the suite already indexes, plus 15 custom money prompts | Do not ignore the suite you already pay for |
Country and language stay fixed per row. A US-English prompt and a UK-English prompt are two rows. Mixing them in one cell is how you invent a trend.
Which paid GEO dashboards are worth a seat vs a spreadsheet? #
Buy a seat when you need daily multi-engine runs, competitor rows, and a login a client will actually open. Stay on the spreadsheet until those three are true. I will not tell you one vendor "wins GEO." I will tell you what each public page claimed in August 2026 and which job I would pay for.
What I verified on vendor pages (August 2026) #
| Product | Official page I used | What they say they track | List price I saw | When I would pay |
|---|---|---|---|---|
| OtterlyAI | otterly.ai/pricing (fetched August 2026) | ChatGPT, Google AI Overviews, Perplexity, Microsoft Copilot on base plans; Claude, Gemini, and Google AI Mode as add-ons | Lite $29/month (15 prompts); Standard $189/month (100 prompts); Premium $489/month (400 prompts); Enterprise from $1,000/month | Solo proof or a small prompt set. Read the add-on table before you assume Gemini and AI Mode are included. |
| Peec AI | peec.ai/product/ai-visibility (page published August 14, 2026); peec.ai/pricing; Peec's own ai-instructions | Visibility, position, sentiment, sources across ChatGPT, Perplexity, Gemini, and related surfaces; agency credit model in Peec agency docs | Peec's ai-instructions page (published August 14, 2026) lists brand Starter at $95/month as of July 2026 and a separate agency track. Confirm peec.ai/pricing / peec.ai/pricing-agencies before you buy. | Agencies that want unlimited seats and credit allocation across clients. |
| Profound | tryprofound.com/pricing (fetched August 2026) | Answer-engine insights, prompt tracking, Agent Analytics; Starter is ChatGPT-only | Starter $99/month; Growth $399/month (3 engines, 100 prompts); Enterprise custom. Page shows yearly billing with two months free. | Growth or Enterprise when the brand is paying for multi-engine plus procurement (SSO/SOC2). Do not buy Starter and tell the client you covered Perplexity. |
| Semrush AI Visibility Toolkit | Semrush KB, toolkit pricing; solutions page | Mentions, share of voice, sentiment, prompt tracking, AI Search Site Audit; engines listed on the solutions page include ChatGPT, Gemini, Perplexity, SearchGPT, Google AI Mode, Google AI Overviews | Toolkit $99/month on the KB page (25 tracked prompts, 1 domain for Brand Performance). Extra toolkit license $99 per subuser. Extra Brand Performance domain $99. Extra 50 prompts $60/month. Semrush One bundles SEO + AI visibility; the features KB lists Semrush One starting at $199/month. | Teams already living in Semrush who need one login for SEO + GEO. |
| Ahrefs Brand Radar | ahrefs.com/brand-radar; help, July 13, 2026; metrics, June 26, 2026 | Mentions, citations, impressions, AI share of voice across AI Overviews, AI Mode, ChatGPT, Perplexity, Gemini, Copilot, and related indexes. Help text: chatbot indexes refresh about monthly; AI Overviews more often. AI chatbot indexes need the Brand Radar AI add-on on a paid plan. | Ahrefs does not publish a single public add-on sticker the way Otterly does. I am not inventing one. | Existing Ahrefs shops that want a huge prompt index and custom prompts, and who will read the methodology instead of treating SOV as gospel. |
| Brand24 | brand24.com; LLM Visibility; prices | Core product: mention listening across web and social. LLM Visibility add-on: brand appearance in AI answers. Their LLM page listed a paid add-on at $99/month for 4 models and 30 prompts as of the August 2026 check. | Confirm brand24.com/prices and the LLM page. Listening plans and the GEO add-on are different SKUs. | PR / reputation in scope. Not a substitute for a citation monitor if that is the only job. |
Otterly's own help article What is OtterlyAI (dated August 14, 2026 on the page I pulled) describes daily prompt runs across ChatGPT, Google AI Overviews, Google AI Mode, Perplexity, Gemini, Claude, and Microsoft Copilot, then scores mention, citation, and competitors. That is a runner, not a first-party log. Same category as Peec and Profound.
My buying rule #
- Spreadsheet wins when you have one client, under ~25 prompts, and you can stand a monthly ritual.
- Otterly Lite ($29/month list) is the cheapest honest "show the client a chart" seat I found on a public pricing page in August 2026. Fifteen prompts. Four engines. Gemini, AI Mode, and Claude cost extra — add-on table on the same pricing page.
- Peec is the agency-shaped runner: credit formula in their docs is
1 prompt × 1 model × 1 day = 1 credit(understanding credits). Unlimited users is the feature SEO tools usually charge seats for. - Semrush or Ahrefs when the account already pays for the SEO suite and you would rather add a module than teach a third login.
- Profound Growth ($399/month list) or Enterprise when the buyer is a brand team that wants agents, SSO, and a vendor they can take to security review. Starter at $99 is ChatGPT only. I would rather keep the spreadsheet than pretend one engine is the category.
I do not stack Otterly + Peec + Profound on one retainer. Pick one runner. Keep GSC, GA4, the bank, and the validators underneath it. Two runners on the same prompt set will disagree, and you will spend the QBR explaining vendor math.
How do I report AI visibility to a client without lying about attribution? #
Report four separate facts: mention rate on the query bank, citation rate on the query bank, Google generative-AI impressions when Search Console has them, and GA4 sessions that actually arrived from a known AI hostname. Never multiply a mention rate by average deal size. Never call a ChatGPT name-drop a lead.
On June 3, 2026, Google launched Search Generative AI performance reports in Search Console. The blog post lists impressions, pages, countries, devices, and dates for generative AI features in Search (AI Overviews, AI Mode) and Discover. Google also said the reports were rolling out to a subset of sites first. That is Google-property visibility. It is not ChatGPT. It is not Perplexity. The post does not promise clicks or query-level AI data. If the property does not have the report yet, say so. Do not invent a filter.
GA4 still does what Google's traffic-source docs say it does: it attributes sessions and users from campaign parameters and referrers. When someone clicks a citation, you may see a referral from a ChatGPT or Perplexity host. When they do not click — the common case — GA4 is silent. Silence is not "zero AI impact." It is "no click happened."
| Line on the monthly report | Allowed claim | Forbidden claim |
|---|---|---|
| Query-bank mention rate | "Named in 12 of 30 tracked prompts on ChatGPT this month" | "We own 40% of AI search" |
| Query-bank citation rate | "Cited with a URL in 7 of 30" | "Those 7 citations produced $X pipeline" |
| GSC generative-AI impressions | "Google showed our URLs in AI features N times" (if the report exists) | "GSC proves ChatGPT cites us" |
| GA4 referral sessions | "N sessions arrived from [hostname]" | "AI visibility drove N opportunities" |
| Ahrefs / Semrush AI SOV | "On this vendor's prompt index, our share was Y" | "This is the market's true share of voice" |
| Brand24 mention count | "N web/social mentions matched the keyword" | "N AI citations" |
I put the methodology in the appendix of every deck: prompt list, engines, dates, vendor if any, and a note that two vendors will not match. Procurement respects that more than a glowing "AI Visibility Score" with no denominator.
The one-pager I actually send has six blocks, in this order:
- Win condition restated. Named and cited on the money prompts — not "rank recovered."
- Bank scoreboard. Mention rate and citation rate, this month vs last, split by engine.
- Google block. GSC generative-AI impressions and pages, or an explicit "report not on this property yet."
- Click block. GA4 referrals from known AI hosts, labeled as clicks only.
- Work shipped. Pages, schema, crawler fixes, third-party URLs pursued. No work, no retainer renewal.
- Appendix. Prompt list, raw-answer folder link, vendor caveats.
If block 5 is empty, I do not send a prettier chart. I send the gap. That is how you keep the stack honest when the runner's score ticks up because a competitor fell off a prompt, not because you shipped anything.
If you need the metric definitions behind those rows — Share of Model, citation share, sentiment — that is the cousin post: how to measure AI visibility. Do not rename vendor scores to match my definitions unless you show the mapping.
How do I check AI crawlers and server logs without buying another dashboard? #
Read robots.txt for the retrieval bots, then confirm those user-agents (and published IPs) appear in host or CDN logs. A GEO dashboard that never asked for log access cannot tell you a WAF is 403ing PerplexityBot. That check is still yours.
OpenAI's crawler docs split the jobs. OAI-SearchBot is the search/index bot for ChatGPT search; blocking it keeps you out of those search answers. GPTBot is the training crawler; blocking it is a training opt-out, not a search opt-out. ChatGPT-User is a user-triggered fetch; OpenAI says robots.txt may not apply and that this agent is not the Search opt-out control. Settings are independent. OpenAI also publishes IP JSON for each agent.
Perplexity's crawler docs split the same way. PerplexityBot builds the index and they tell you to allow it in robots.txt if you want to appear. Perplexity-User fetches on a user's request and "generally ignores robots.txt." They publish perplexitybot.json and perplexity-user.json. Verify IP plus user-agent. User-agent strings are cheap to spoof.
Google's common crawlers doc is the one I bookmark. Googlebot is the Search crawler; Google says Googlebot preferences affect Google Search, including Discover and Search features. Google-Extended is a robots.txt product token for Gemini Apps / Vertex grounding and training uses. Google states it has no separate HTTP user-agent and that it does not affect inclusion or ranking in Google Search. If a junior marks "no Google-Extended in logs" as a critical finding, they misread the docs.
| Token / agent | Job (per vendor docs) | Show up in logs? | Visibility move I make |
|---|---|---|---|
| OAI-SearchBot | ChatGPT search index | Yes, if they crawl you | Allow if the retainer includes ChatGPT citations |
| GPTBot | OpenAI training | Yes | Client policy call. Independent from search. |
| ChatGPT-User | User-triggered fetch | Sometimes | Do not treat as the Search switch |
| PerplexityBot | Perplexity index | Yes | Allow + IP allowlist on the WAF |
| Perplexity-User | User-triggered fetch | Yes, when a query needs the page | Allowlist; do not expect robots.txt to stop it |
| Googlebot | Google Search crawl | Yes | Do not block if you want Search or AI Overviews |
| Google-Extended | Gemini / Vertex control token | No distinct UA | Policy in robots.txt; do not hunt it in access logs |
Paid help exists. Peec documents Crawl Insights if you connect logs. Profound lists Agent Analytics and CDN/host integrations on its pricing page. Semrush's toolkit includes an AI Search Site Audit. None of those replace opening robots.txt on day one of an audit.
I do not paste robots.txt samples in a code block here. The rule is simpler than a snippet: name each agent in its own group, allow the retrieval bots you sold, and keep admin, cart, and account paths disallowed for everyone.
WAF false positives are the silent killer. A "bot fight" rule that only allows Googlebot and Bingbot will 403 PerplexityBot and OAI-SearchBot while the homepage still looks fine in a browser. I check the last 14 days of 403/429s for those user-agent substrings before I accuse the content. Peec and Profound can chart crawls after you connect logs. They cannot see a block you never told them about.
How do I test schema so answer engines can extract the page? #
Validate the types you actually shipped — Organization or LocalBusiness, WebSite, Article or FAQPage, Product, Person — in two official testers, then fix errors before you argue about citations. Schema is extractability insurance. It is not a citation button.
Google's structured data documentation tells you to start with the Rich Results Test for Google-eligible rich results, and to use the Schema Markup Validator for generic schema.org checking. I run both. Passing Google's test means Google can read a supported type. It does not mean Perplexity will cite the URL tomorrow.
| Test | Official URL | What a pass means | What a pass does not mean |
|---|---|---|---|
| Rich Results Test | search.google.com/test/rich-results | Google can see supported structured data and may be eligible for that rich result | ChatGPT will recommend the business |
| Schema Markup Validator | validator.schema.org | The JSON-LD / Microdata / RDFa matches schema.org types | The content is trustworthy or unique |
| Search Console enhancements | Property → enhancements / rich result reports | Google is seeing the type in production | FAQPage spam will be rewarded |
| URL Inspection | Search Console | Google's crawled version of that URL | Other engines used the same HTML |
Agency-grade schema work is boring on purpose:
- One Organization (or LocalBusiness) with a stable
@id, same name as the homepage and the Google Business Profile. - FAQPage only on pages that are real FAQs, not a stuffed keyword block.
- Article + author Person on editorial URLs.
- Product only on real products.
- No three plugins emitting three Organizations.
I do not buy a third "AI schema optimizer." If the CMS cannot emit clean JSON-LD, that is a site build problem. I sell that build. I do not sell another validator subscription.
What's the difference between a brand mention and a citation in the stack? #
A mention is your name in the answer. A citation is a source URL the engine shows. Web listening (Brand24 and friends) catches pages that talk about you. GEO runners catch whether the model used your name or your URL in a tracked prompt. If you invoice those as one line item, you will over-report.
This is the distinction I make clients repeat back before we pick software.
| Signal | Where it lives | Tool that sees it | Typical action |
|---|---|---|---|
| Web / social mention | News, Reddit, reviews, blogs | Brand24 core listening (brand24.com) | PR, reviews, corrections |
| Answer mention | Prose inside ChatGPT / Perplexity / AIO | Query bank or Otterly / Peec / Profound / Ahrefs / Semrush | Entity cleanup, comparison pages |
| Answer citation | URL or footnote the engine displayed | Same GEO runner + raw artifact | Make that URL more extractable; earn the third-party URL they already trust |
| Google AI impression | URL shown in AI Overviews / AI Mode / Discover AI | GSC generative-AI report (June 3, 2026 announcement) | Page-level content and crawl health |
| Click | Session in GA4 | GA4 referral / campaign | UX and conversion — not the citation program |
Brand24's LLM Visibility page is an add-on that sits on the listening product. That is a legitimate second job: "are we in the answers" plus "is the web still saying the old story." It is not a reason to skip the query bank. Thirty prompts on four models, which is what that page listed for the $99 add-on in August 2026, is a sample, not a program.
Ahrefs Brand Radar's metrics article (June 26, 2026) also splits mentions and citations. Use their words when the client already pays for Ahrefs. Do not merge them into one "visibility" blob so the slide looks simpler.
What should a solo operator buy vs a 5-person agency team? #
A solo operator should buy almost nothing until the query bank exists. A team should buy one GEO runner, keep one SEO suite, and share a report — not a tool per person. Headcount changes who clicks the buttons. It does not change the five jobs.
Solo / freelancer stack I actually run #
| Layer | What I use | Monthly list cost (August 2026) |
|---|---|---|
| Search + Google AI impressions | Google Search Console | $0 |
| Click traffic | GA4 | $0 |
| Query bank + scores | Spreadsheet | $0 |
| Schema | Rich Results Test + Schema Markup Validator | $0 |
| Crawlers | robots.txt + host/CDN logs | $0 (time) |
| Optional chart | Otterly Lite if a client needs a URL | $29/month on otterly.ai/pricing |
| SEO leftover | Existing Ahrefs or Semrush seat, if I already have one | Already on the books |
That is enough to sell an audit and a 90-day sprint. If I cannot describe the gap from that stack, a $399 Profound seat will not save the proposal.
Five-person agency stack I would approve #
| Seat | Who uses it | Why one copy is enough |
|---|---|---|
| GSC + GA4 per client | Analyst + AM | First-party Google data |
| One GEO runner (Otterly Standard/Premium, Peec agency credits, or Semrush AI Visibility) | Delivery lead | Daily runs + exports. Not one login per intern. |
| Ahrefs or Semrush SEO toolkit | SEO lead | Links, keywords, tech audit — still the other half of the retainer |
| Brand24 | Only if PR is in the SOW | Mentions, not a second citation product |
| Shared report (Sheets or Looker) | Everyone | One scoreboard; vendor PDFs are attachments |
| Log access (Cloudflare / host) | Tech lead | Crawler proof the runner cannot see |
| Profound Growth / Enterprise | Optional, brand-side accounts | When security review and multi-engine agents are the buying motion |
Peec's agency docs are built around allocating credits across projects, not stacking user seats (agency getting started). Semrush's KB is the opposite motion: $99 per extra subuser for the AI Visibility Toolkit. If you staff five people on Semrush AI, you are buying five toolkits. Price the org chart before you promise "the whole team will live in Semrush."
Otterly's pricing page advertises unlimited team members on paid plans and an Agency Partner path on Standard/Premium with extra prompts. That is a better seat math for a small shop than per-user SEO add-ons — if the prompt cap fits the book of work.
What should I not buy for an AI visibility stack in 2026? #
Do not buy a second rank tracker, a "GSC for ChatGPT" story, an auto-GEO rewriter, or an attribution product that turns mentions into revenue. Those four purchases are how agencies light money on fire and then blame the category.
| Skip | Why it fails | Buy this instead |
|---|---|---|
| Second rank tracker | Same SERP, new logo | Keep one SEO suite |
| "Official ChatGPT Search Console" | OpenAI does not sell agencies that log | Query bank + a runner |
| Profound Starter sold as multi-engine | Pricing page: ChatGPT only, 50 prompts | Spreadsheet, or Growth if they need three engines |
| Brand24 as the only GEO tool | Core product is listening; LLM add-on is a thin prompt sample | Bank + Otterly/Peec/Semrush/Ahrefs |
| Extra Semrush AI licenses for every AM | KB: $99 per subuser | One toolkit + exported PDF |
| "AI revenue attribution" suite | Mentions are not sessions; sessions are not opportunities | Four-line honest report |
| GEO content spinner | Thin pages do not get cited; they get ignored | Extractable pages and third-party proof |
| Third schema plugin | Duplicate Organization graphs | One clean JSON-LD path |
| Training-opt-out product sold as visibility | Blocking GPTBot is not a citation strategy | Separate training policy from OAI-SearchBot / PerplexityBot |
| Two GEO runners on one client | Scores will disagree | One runner, raw artifacts underneath |
I also will not buy a tool because a vendor homepage says "30,000 marketers" or "3,000 brands." Those are marketing claims. They are not a reason to skip the prompt list.
If a salesperson leads with "we have the data Google and OpenAI will not give you," hang up. They have a prompt runner. You can rent one. You can also build the runner's job in a sheet for the first client.
Frequently asked questions #
Do I need a paid GEO tool to sell AI visibility services? #
No. You need a query bank, raw answers, crawler proof, and schema tests. A paid runner helps you look like a productized shop and saves the weekly grind. I will sell an audit from the free layer. I will not pretend Otterly Lite is required to know whether ChatGPT names the client.
Can Google Search Console show ChatGPT or Perplexity citations? #
No. Search Console is Google. The June 3, 2026 Search Central post adds generative-AI impressions for Google Search and Discover features. Use a query bank or a GEO runner for ChatGPT and Perplexity.
Is Ahrefs or Semrush enough for GEO work? #
Enough for the SEO half plus a vendor AI index — not enough if you never save raw answers for the client's actual sales questions. Brand Radar and the AI Visibility Toolkit are real. They still sit on prompt corpora and refresh cadences the vendors document. I keep custom prompts for the money questions either inside those tools or in the sheet.
How often should I re-run a query bank? #
Monthly for a standard retainer. Weekly during a launch or a reputation event. Daily is for a paid runner on a volatile set, not for a human clicking thirty tabs. Date-stamp every run. A score without a date is a vibe.
What's the cheapest stack that still looks professional? #
GSC, GA4, a 20-prompt sheet with screenshots, both schema testers, and a robots/log pass. If the client needs a hosted chart, Otterly Lite at $29/month list on otterly.ai/pricing (August 2026) is the lowest public GEO seat I verified. Fifteen prompts. Read the engine add-ons.
Should I use Brand24 for AI citations? #
Use Brand24 for web and social mentions. Use the LLM Visibility add-on only if you already want listening and a small AI sample in the same login. Do not replace a citation monitor with a listening tool. Their LLM page listed $99/month for 4 models and 30 prompts in the August 2026 check — confirm live.
How do I pick between Otterly, Peec, and Profound? #
Otterly if you want a public cheap-to-mid ladder and can live with Gemini / AI Mode / Claude as add-ons. Peec if you are an agency allocating credits across clients. Profound if the buyer is a brand team that will pay Growth or Enterprise and understands Starter is ChatGPT-only. I would not run all three. I would run a two-week trial of one against the same bank and keep the raw answers as the tie-break.
Do I need GA4 for AI visibility reporting? #
Yes, as the click layer — not as the citation layer. GA4 traffic-source dimensions explain sessions and campaigns. Report referrals when they exist. Do not treat missing referrals as proof the GEO work failed.
Can I use ChatGPT or Claude as the monitoring tool? #
You can use GPT-5.5, Claude Sonnet 5, Claude Opus 4.8, Gemini 3.1 Pro, or Gemini 3.5 Flash to run the bank by hand. That is labor. It is not a system of record. No export, no competitor panel, no daily cadence unless you wrap it. I use the models to audit. I use the sheet or a runner to remember.
What schema types should I validate first? #
Organization or LocalBusiness, WebSite, then the page-level type (Article, FAQPage, Product). Run the Rich Results Test and validator.schema.org. Fix errors before you buy another "entity SEO" app.
How many prompts do I need per client? #
Start with 15–40 that map to revenue conversations. Otterly Lite includes 15. Semrush's toolkit KB includes 25 tracked prompts. Profound Starter includes 50 on ChatGPT only. More prompts are not more strategy. A bloated bank is how you pay Premium prices to track questions nobody asks on a sales call.
Does blocking GPTBot hide me from ChatGPT search? #
Not according to OpenAI. Their bot docs say GPTBot is the training crawler and OAI-SearchBot is the search crawler, and the settings are independent. Blocking GPTBot is a training policy. Blocking OAI-SearchBot is a search-visibility policy. Decide them separately, in writing, with the client.
Book the audit, then buy the seats #
If you are packaging GEO for a book of SEO clients, start with the jobs, not the logos. I will run the query bank, the crawler and schema pass, and an honest scoreboard before I tell you which paid seat — if any — belongs on the retainer. That is the same motion as the DIY audit, with agency coverage and a sprint list you can sell.
Book an AI visibility audit and bring your current SEO suite, one client you want to pilot, and the ten questions that client actually hears on sales calls. We will map audit → stack → retainer without a fake Search Console and without attributing revenue to a mention.
Related Posts

How to Track When AI Tools Cite or Recommend Your Business
No engine gives you a complete citation feed. Here is the weekly method: freeze a prompt panel, score cite versus recommend, then read GSC and GA4 data.

GEO vs AEO vs AIO: What Each One Means and Why Your Business Needs All Three
GEO, AEO, and AIO are three jobs, not three names for SEO. Here's what each owns, why buyers bounce across all three, and why your business needs all of them.

Spurlock Studios LLC Is Live. This Site Stays the Operator Blog.
Spurlock Studios LLC is live at spurlockstudios.com. This site stays the operator blog. Four lanes, published floors, and which site to use when you book.


