AI Search Visibility Monitoring for Agencies: ChatGPT Citations and Brand Monitoring Tools
For agencies, the deliverable is the citation, not the dashboard. What a per-client citation ledger needs, which tools can produce it, and how to price the plan.
Agencies selling AI search work tend to lead with a dashboard: a visibility score, a share-of-voice chart, a line going up. Clients like it for about two months. Then someone asks which pages earned the visibility, or what the agency changed to get it, and the dashboard has no answer.
The thing that survives that question is the citation. When ChatGPT links a client's page as a source, that's a specific, checkable event tied to a specific URL. It can be traced to work you did, and when it disappears it points at a page to fix. This guide is about buying a monitoring tool that treats citations as the deliverable, with brand mentions as the context around them. For a general ranked list of agency platforms, see our best GEO tools for agencies. This post is narrower on purpose.
Why citations make a better deliverable
A mention says the engine named the client. A citation says which page it relied on. Those diverge all the time. A client can be named while a review site gets the link, or a client's guide can be cited in an answer that recommends a competitor. Reporting mentions alone lets both cases look like wins.
Citations also connect to the work. If you rewrote a comparison page in May and it started appearing as a ChatGPT source in June for six prompts, that's a result you can show line by line. A visibility score that rose four points over the same period could have moved for any number of reasons.
ChatGPT reports 820M+ weekly active users, so clients are going to ask about it first. Track Perplexity and Gemini as well, but expect ChatGPT citations to be the line the client reads.
The per-client citation ledger
Whatever tool you buy has to produce something like this for each client, each month:
| Column | What it holds |
|---|---|
| Prompt | The question, from a fixed list agreed with the client |
| Engine | ChatGPT, Perplexity, Gemini, and so on, one row each |
| Client cited? | Which client URL, if any |
| Competitor cited? | Which competitor URLs |
| Third-party sources | Review sites, Reddit threads, YouTube videos cited |
| Change since last month | New citation, lost citation, URL swapped |
| Linked work item | The page or outreach you did that relates to it |
The last column is yours to fill in. The rest should come out of the tool without manual copying. If you're pasting answer text into a spreadsheet for every client, the tool is costing you margin.
What to require from the tool
Page-level citations, not only domains. "Cited from client.com" doesn't tell anyone which page to protect. Reddit and YouTube as separate source types, because for many consumer and B2B categories those are where competitors win. Citation trends over time, so lost citations show up without comparing two exports by hand. A separate project per client with its own competitor set. And a way to get the data into your own reports: Looker Studio, an API, or at minimum a clean export.
Questions to put to vendors in writing
- Do you store the cited URL for every answer, or only the domain?
- Are Reddit and YouTube citations reported as their own source types?
- Can I see lost citations, a URL that was cited last month and isn't now?
- How are clients separated: projects, workspaces, separate accounts? Is there a per-client fee?
- What's the real usage limit: prompts, responses, or credits? How does adding a client affect it?
- Which reporting exits exist: Looker Studio, API, Slack, white-label?
How the shortlist handles citations for agencies
| Rank | Tool | Citation depth on listing | Multi-client setup | Reporting exits on listing |
|---|---|---|---|---|
| 1 | Promptwatch | Page, domain, Reddit, YouTube, offsite, type breakdowns, trends | Agency plans with unlimited projects and prompts | Looker Studio, Slack, REST API, MCP server |
| 2 | AthenaHQ | Citations inside a GEO score; ACE Citation Engine on Enterprise | Unlimited seats on Starter | API on Starter |
| 3 | Scrunch AI | Not at page depth on listing | 3 seats on Starter, extra seats $25/mo | Reporting is the top G2 complaint |
| 4 | Profound | Citation share by prompt cluster | 1 seat on Starter, 3 on Growth | API on Enterprise |
| 5 | Peec AI | Source and citation breakdowns | Agency plan from $245/mo, white-label reports | Not detailed on listing |
| 6 | Otterly.AI | Not at page depth on listing | Unlimited seats | API and Looker Studio export on Standard; no PDF export |
AthenaHQ's strongest citation feature, the ACE Citation Engine, is Enterprise-gated at around $2,000+/mo, and its listing notes no Reddit monitoring. Scrunch refreshes weekly, which makes a monthly lost-citation report coarse. Profound's G2 reviewers report citation counts that don't match manual ChatGPT checks, which is a problem when the citation is what you're selling. Peec has a real agency tier with white-label reporting, but each plan includes only three models and there's no historical backfill, so a new client's baseline starts on the day you add them. Otterly is affordable with unlimited seats, but its data can be up to a week stale.
Where Promptwatch fits
Promptwatch is built for the ledger above. Citation analytics report the cited page and domain for each answer, with Reddit citations, YouTube citations, and offsite mentions broken out and a citation-type breakdown. Citation trends show volume and source mix over time, so a lost citation is visible as a change rather than something you find by diffing exports. Agent Analytics crawler logs show whether ChatGPTBot or PerplexityBot fetched a client page before it was cited, which is often the explanation when a good page never shows up.
The agency plans fit the per-client model: all three include unlimited projects and unlimited prompts with 10 seats. Kick-off is $199/mo with 10,000 responses and 10M crawler logs, and has a 7-day trial. Growth is $399/mo with 25,000 responses and 25M crawler logs. Scale is $799/mo with 65,000 responses and 100M crawler logs. Since prompts and projects aren't capped, responses are the number to plan against: every prompt checked on every engine for every client draws from the same pool. Data leaves through Looker Studio, Slack, the REST API, and an MCP server; our Looker Studio walkthrough covers the client-report setup.
Pricing the retainer
Before you choose a tier, estimate the response load: clients times prompts per client times engines times checks per month. Compare that with the response allowance. If the estimate lands close to Kick-off's 10,000, start on Growth so onboarding a new client mid-month doesn't force an upgrade conversation. Then price the citation report into the retainer as its own line. Clients understand "we track which of your pages AI engines cite, and what changed" far better than a score.
A plan for the 7-day trial
Pick two current clients. On day one, load 25 agreed prompts each, with three competitors. By day three, check that cited URLs match what you see by hand in ChatGPT for five prompts per client. Before the week ends, build the ledger in Looker Studio and send it to one friendly client. If they ask a question the ledger can't answer, you've found the gap before you've signed for a year. Start Kick-off at promptwatch.com.