Skip to main content
The same visibility call splits by any answer dimension: put it in group_by. Use it to find where you are strong and where you are missing: one engine that never names you, a category of question where competitors win, a single prompt worth writing a page for. To look at a single segment rather than all of them, use a filter instead, e.g. { "field": "platform", "op": "is", "value": "chatgpt" }.

How this example works

  1. Group by engine, sort by score to rank the engines.
  2. Group by prompt and keep those where you were never named. Those are the gaps.
  3. Show answers on every row: a segment resting on a few answers is not a finding yet.

Reading the segments

  • prompt_coverage per prompt is 0 or 1, because a prompt either named you at least once or did not. Use mention_rate to see how often.
  • Per-engine rows don’t average to the headline. Engines answer different numbers of prompts each day; the headline weights every answer once.
  • Who beats you on a gap prompt? Add brands: "all" with group_by: ["prompt"]: rows with rank 1 and owned: false show the competitor that leads each prompt.
  • The Brand category (“is X any good”, “X reviews”) almost always names you. Filter it out to see how you do on questions that don’t name you first: { "not": { "field": "category", "op": "is", "value": "Brand" } }.
There are no region or persona segments: each site is measured from one market, set in the dashboard.

Common follow-ups

Where AI gets its answers

What the engines cite for the prompts you miss.

Read the answers

Pass prompt_ids to read what each engine actually said.