AI Search Visibility Monitoring for Agencies: ChatGPT Citations and Brand Monitoring Tools
Why our monthly client deliverable is a citation ledger, not a dashboard: how we track ChatGPT citations and brand mentions across clients, and which tools hold up at agency scale.
The default AI visibility report is a dashboard link, a visibility score, and a line chart. The questions a client needs answered are different: "which page should we change?" and "who is ChatGPT sending people to instead of us?" A dashboard does not answer either. A list of citations does.
So the deliverable on our AI visibility retainers is now a citation ledger. Mentions and scores are still in the report, but as context. This post explains what the ledger contains, how we run it across many clients without drowning, and which monitoring tools work for that model.
Why citations make a better deliverable than scores
A brand mention tells a client they were named. A citation tells them which URL the engine used as evidence, and a URL is something a team can act on. They can update it, fix it, pitch it to the publisher who owns it, or write a better page that competes with it.
Citations also explain mentions. When ChatGPT names a competitor first on a buying prompt, the cited sources are usually where the reason lives: a comparison page, a review roundup, a Reddit thread, a YouTube video. When we show a client those sources, the conversation moves from "our score dropped" to "this roundup from March is the page doing the damage, and here is who to email."
There is a practical agency reason too. Scores invite arguments about methodology, while citations are observable: the client can open ChatGPT, run the prompt, and see the same source. That builds trust faster than any chart we have made.
What the citation ledger contains
For each client, every month, the ledger has one row per tracked prompt and engine. The columns:
- Was the client mentioned, and in what position?
- Which URLs were cited, grouped as owned (client domain), earned (third-party pages that mention the client), and competitor or neutral (pages that do not)?
- What changed since last month: a cited URL that appeared, one that dropped out, a competitor page that took its place.
- The action, the owner, and the due date.
We sort the ledger by opportunity, not alphabetically. The top rows are high-volume prompts where a single third-party page is cited and the client is absent from it. Those are the cheapest wins on the list, because one outreach email or one updated listing can change the answer.
For how we turn the ledger into a full client report (scope block, crawler access, referral visits, work log), see what we report to clients about AI visibility. This post is about the citation layer specifically.
Running it across many clients
The ledger only works at agency scale if the setup is boring and repeatable. Our template per client: one project, a prompt set of 30 to 80 buyer prompts depending on the category, a fixed comparison set of three to six competitors, aliases set before the first run, and personas or country splits only where the client sells differently by segment or market.
What we budget against is responses, not prompts. On Promptwatch agency plans, projects and prompts are unlimited and every plan includes 10 seats. The difference between plans is the response allowance and crawler logs: Kick-off at $199 a month has 10,000 responses and 10M crawler logs (with a 7-day trial), Growth at $399 has 25,000 responses and 25M crawler logs, and Scale at $799 has 65,000 responses and 100M crawler logs. When we add a client, we work out how many responses its prompts and engines will use per month and check it fits before we sign the scope. Enterprise pricing exists for agencies that need SSO or white-label.
Delivery uses the integrations rather than custom exports. Looker Studio for the client-facing report, Slack for the internal channel where the team sees changes, and the REST API or MCP server when we want to pull citation data into our own analysis. Agent Chat helps when an account manager needs a quick answer ("which pages lost citations for client X this month?") without building a view.
Tools we have evaluated for agency citation monitoring
Facts for vendors other than Promptwatch come from our tool catalog. The order reflects how well each supports a citation-first deliverable across many clients.
| Rank | Tool | Agency fit | Citation depth on the listing |
|---|---|---|---|
| 1 | Promptwatch | Agency plans from $199/mo; unlimited projects and prompts; 10 seats | Page, domain, Reddit, YouTube, offsite mentions, citation types, citation trends |
| 2 | AthenaHQ | Unlimited seats on all tiers; Starter $295/mo, one country | Citations feed a unified GEO score; no Reddit monitoring |
| 3 | Scrunch AI | Starter $250/mo annual, 3 seats | Weak reporting is the top G2 complaint; weekly refresh |
| 4 | Ranketta | Agency tiers €149, €299, €599/mo; white-label from €299 | Built for ecommerce SKUs; useful for store clients only |
| 5 | Ahrefs Brand Radar | Requires an Ahrefs base plan; no per-client structure | Chatbot indexes refresh on roughly monthly snapshots |
| 6 | Otterly.AI | Standard $189/mo with Looker Studio export | No PDF export; data up to 7 days stale |
| 7 | Peec AI | Agency from $245/mo, multi-client, white-label | Source and citation breakdowns; no historical backfill |
Two notes on the table. Scrunch's reporting complaint matters a lot for a citation ledger: if the team has to export to Excel every month to build client charts, that cost repeats for every client. And Ahrefs Brand Radar's catalog entry includes an independent January 2026 test that found it reported 3 ChatGPT mentions where manual checks verified 123. We would not put a client deliverable on that.
Why we run it on Promptwatch
The citation ledger needs three things from a platform: citation analytics deep enough to separate owned, earned, and competitor pages (including Reddit and YouTube), citation trends that show which sources entered or left the answers between checks, and an agency structure where adding a client does not mean a new contract. Promptwatch is the one we found that does all three, and it adds the piece that closes the loop: Agent Analytics crawler logs, so when a client's own page drops out of the citations we can check whether ChatGPTBot or PerplexityBot still fetches it before anyone rewrites it.
What we will not sell agencies or clients
We will not promise a citation on a specific prompt. We can improve the odds and show the evidence; the engine decides. We will not white-label another platform's dashboard and call it our methodology. And we will not report a citation count without the URLs behind it, because the URLs are the part the client pays for.