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.

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.
- 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.

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.
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.
