Skip to main content

What the heatmap shows

The Heatmap is a matrix: by default, one row per brand, one column per AI model, and each cell holds that brand’s average visibility score on that model for the selected period. It exists because blended averages hide model-level problems. It is common to lead on ChatGPT and be nearly invisible on Perplexity while your overall score looks respectable, and the heatmap is the one view where that pattern is impossible to miss. You’ll find it as a widget on your dashboards, and as a dedicated Heatmap tab on each monitor. The page-level filters (models, prompt types, topics, tags, monitors, date range) apply to it like every other widget. A topic filter also limits the topic rows and columns to the ones you picked.

Choosing the view

The controls sit in the chart header:
  • Metric: Visibility, Sentiment, Position, Share of Voice, or Win Rate.
  • Rows and columns: Brands, Models, Topics, or Countries. The menu reads “Brands vs Models”. The two sides have to be different.
  • Switch axis: swaps rows and columns.
The Promptwatch Heatmap axis menu open, showing the Rows and Columns choices for Brands, Models, Topics, and Countries. The choice is remembered the next time you open a Heatmap. A PDF report prints the selected view. When Brands is neither the rows nor the columns, every cell is your own brand.

What a cell means

With Visibility selected, each cell is a 0-100 visibility average: the brand’s visibility score in each response belonging to that cell (zero when the brand is absent) is averaged per day, and the daily averages are then averaged across the period. The per-day step means one unusually heavy day can’t dominate a quiet week, and counting absences as zero means the cell reflects coverage as well as prominence, exactly like the main Visibility Score. The other metrics use the same responses:
  • Sentiment averages the sentiment scores that exist. Position averages recorded ranks, where 1 is best.
  • Share of Voice is the brand’s share of mentions among the brands included by the brand filter. See Share of Voice.
  • Win Rate is the share of answers where the brand is ranked first. An answer that never mentions the brand counts as a loss; a mention with an unknown position is left out.
Two display details matter for reading it correctly:
  • Colors are relative to the current view, not to a fixed scale. The deepest green is the strongest cell on screen right now (the best rank for Position), so colors compare cells within this view and are not comparable across different filter sets or periods.
  • A dash means absent on Visibility: the brand never appeared in any analyzed response in that cell. That is a different signal from a low number, which means the brand appears but weakly. On Sentiment and Position, a dash means no score or rank was available.
Rows are ordered by the selected metric, strongest first, except Position, where a lower rank is better. Model columns stay in their usual order. When Brands are the rows, your own brand’s row is highlighted so you can find yourself at a glance. The Promptwatch Heatmap on its default view, Brands by Models with Visibility, and the project's own brand row highlighted.

Who appears in the rows

The heatmap shows up to 20 brands or topics on each axis. Every model and country with answers in the period is shown. A country’s row or column uses the country set on the monitor now, so changing that setting moves the monitor’s past answers with it. By default the heatmap shows all detected brands, which includes brands you haven’t marked as competitors: useful for discovering who the models actually recommend in your category, which often differs from who you think you compete with. Switch the brand filter to “My brands” to narrow it to your brand plus your listed direct competitors for a cleaner head-to-head. Brands you’ve marked as ignored stay hidden. The brand filter appears when Brands is an axis, and also on Share of Voice to choose which brands’ mentions count. The Promptwatch Heatmap brand filter open, showing the All brands and My brands options. Because the brand rows come from what models actually say, the heatmap is also a competitor discovery tool: an unfamiliar name with strong cells is a competitor the AI ecosystem has chosen for you. See Identifying your competitors for turning that into your tracked list.

How to read it

Start with the default Brands by Models view:
  • Your row: read it left to right. Uneven cells are the norm; the question is which platforms carry you and which don’t.
  • Your weak columns against competitor rows: a model where you score low but a competitor scores high is a winnable gap: the model does recommend brands like yours there, just not you.
  • Empty columns: a dash for you on a model where competitors have numbers means you’re not part of that platform’s answer set at all, which usually points at sources that platform trusts and you’re absent from.
For a topic comparison, choose Topics as rows, Models as columns, and Visibility. A weak pricing × ChatGPT cell next to a strong pricing × Gemini cell means your brand is weaker on pricing questions on ChatGPT. The Promptwatch Heatmap showing Homestra's Visibility by Topic and Model, with the tooltip identifying Homestra as the measured brand.

Acting on a weak cell

In the default view, a weak cell names a platform; the fix depends on why you’re weak there. Filter the dashboard to that model only and look at Top Cited Domains to see which sources that model leans on. If it cites Reddit and YouTube heavily, that’s community work, see the Reddit and YouTube strategy. If it cites listicles and comparison pages that mention competitors but not you, that’s outreach, see Offsite mentions. If it cites domains where you could publish or improve content, that’s content work, see Content Gap. For a topic or country cell, narrow the filters to that topic or the monitors in that country as well, so you’re looking at the answers behind the weak cell. For the broader playbook of turning competitor analysis into strategy, continue with Competitive landscape analysis.