Brand visibility tracker for ChatGPT, Perplexity, and AI Mode
Open one dashboard to see which buyer questions name your brand in AI answers, which competitors show up instead, and which sites get cited.
I want an interactive app my marketing team opens every week to see how our brand shows up in AI answer engines. This is a dashboard people open and work in, not a scheduled job. Nothing runs on a timer, and every check starts because someone pressed a button.
The main screen is a grid. Each row is a buyer question we track, for example "best CRM for recruiting agencies". Each column is an answer engine: ChatGPT, Perplexity, and Google AI Mode. Each cell summarizes the most recent check for that question and engine, and shows four things: whether our brand was mentioned at all, roughly where in the answer we appeared (near the top, in the middle, or near the end, or a ranked position when the answer is a list), which competitors were named alongside us, and which domains the answer cited as sources.
Bake in that a mention and a citation are different things, and never collapse them into a single "visible" flag. A mention is the engine naming our brand in the text of the answer. A citation is the engine linking to a specific page as a source. A mention with no citation drives no traffic, so a cell where we are mentioned but not cited must render differently from a cell where we are both mentioned and cited. Show the cited domains inside the cell and make it obvious when one of them is ours.
Every row has a Run check button, and there is a Run all button at the top of the grid. Running a check opens an Airtop cloud browser: Create Session using a saved profile name so our logged in accounts stick between runs, then Create Window pointed at the engine, then Query Page to ask the tracked question and read the answer back. Use Save Profile on Termination so the signed in state is written back to the profile for next time. Run all should work through every question and engine and stream progress into the grid as each cell finishes, rather than blocking the whole screen until everything is done.
Ask Query Page for structured output using an output schema, so results come back parseable instead of as loose prose. The schema should capture the full answer text, whether our brand was mentioned, where in the answer the mention occurred, the list of competitor brands named, and the list of source links with their domains. Pass our brand name and the tracked competitor list into the query so each engine's answer is evaluated against the same list every time.
Also call Take Screenshot on the window for each check and keep it as visual evidence of what the engine actually rendered. Store it alongside the run and let the user open it from the cell. Answers change constantly, and the screenshot is the only proof of what was shown at that moment.
Every completed check appends a row to a Google Sheet with Append Values: one row per question per engine per run, carrying the timestamp, the question, the engine, whether we were mentioned, our position, the competitors named, the cited domains, whether we were cited, and a link to the screenshot. That sheet is the history store for the whole app.
The app reads that history back with Get Values to draw a share of voice trend line per engine over time. Share of voice for a run is the share of tracked questions where we were mentioned, calculated per engine, so the chart shows one line per engine. Put this chart on the main screen near the grid.
Users manage the tracked question list and the competitor list inside the app. Give them a place to add, edit, and remove buyer questions, and a place to maintain the competitor names we watch for. Updating the competitor list should change how future checks are evaluated.
Two things need to stand out. First, highlight any question where a competitor was named and we were not, since those are the gaps worth acting on. Make them visually prominent and let people filter to just those. Second, let people filter down to only the questions whose answer changed since the last run, comparing each new result against the previous row in the history for that question and engine. Count it as a change when the mention status, our position, the competitor set, or the cited domains moved.
A Share snapshot button posts the week's summary to our marketing channel using the Slack Send a Message action. The summary should cover how many tracked questions mention us per engine, which questions we gained or lost since last time, where competitors are named and we are not, the count of mentions that came with no citation, and the current share of voice per engine.
What does this prompt do?
- A grid of the buyer questions you track, with a column for each engine, showing whether you were named, roughly where you appeared in the answer, which competitors were listed next to you, and which sites the answer cited.
- Run a check on a single question or all of them at once. A real cloud browser asks each engine the question, reads the answer it actually renders, and saves a screenshot as proof.
- Keeps mentions and citations separate, so you can tell the difference between being named in an answer and actually earning a link back to your site.
- Saves every check to a spreadsheet, then charts your share of voice per engine over time and posts a weekly summary to your marketing channel.
What do I need to use this?
- An Airtop account, which provides the cloud browser that reads the answers
- A Google account and a spreadsheet where the run history is stored
- A Slack workspace and the channel where you want weekly snapshots posted
- Your list of buyer questions to track and the competitor names you want to watch for
- Optional: signed in accounts on the AI engines, so the answers you capture match what your buyers see
How can I customize it?
- Add, edit, or retire tracked questions and competitors at any time from inside the app
- Change which engines appear as columns, or add other answer engines your buyers use
- Choose which Slack channel receives the snapshot and what the summary highlights
FAQs
What is the difference between a mention and a citation?
Does this really work with Google AI Mode?
Do I need paid ChatGPT or Perplexity accounts?
Does this run automatically on a schedule?
How do I tell whether our visibility is improving?
Related templates
Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.
Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.
Search creators for free, shortlist the best with your team, and spend an audit credit only when you decide someone is worth a closer look.
Pick a repricing rule, send an assistant out to check competitor pages, then approve the new prices that clear your margin floor.
See the projected bounce rate for any outbound send before it goes out, and keep the launch button locked until the list is clean enough to be safe.
One screen showing invited, completed, and shortlisted counts for every open role, plus the stalled invites that have quietly gone nowhere.
Stop guessing whether AI answers mention you.
Build a dashboard that shows exactly which buyer questions name your brand, which name your competitors instead, and which sites earn the citations.