One score, 0–100. We start at 100 and subtract a penalty per factor — each is weight × shortfall — so the “What's lowering it” list adds up exactly to this number.
100 − core-invisibility×35 − low-SoV×15 − weak-rank×20 − engine-gaps×20 − OTA-destination×10. Targets: full core visibility · 50%+ SoV · rank ≤#3 · all engines · ≤20% OTA.
What's lowering it
Of the core queries — the ones this hotel group should win — the share of checks where a hotel actually appears in the AI's answer. The scored tier; competitive and baseline tiers are tracked separately.
A discovery-funnel estimate with two non-overlapping channels: lost bookings (cold AI shortlists where you're absent — the guest never learns you exist) + OTA commission on bookings the AI does send, via its measured booking path. Full math: Settings → How Visibility Works.
Visibility by engine
Visibility over time
Who outranks you
What AI cites
Where AI sends the guestiWhere AI sendsDirect = the hotel's own site · OTA = Booking / Expedia / etc. · Other = something that isn't your site or an OTA (Google Search/Travel grounding, reviews, DMO). A Google-Maps hotel card counts as direct — its website button is the official site.
Direct = the hotel's own site · OTA = Booking / Expedia / etc. · Other = something that isn't your site or an OTA (Google Search/Travel grounding, reviews, DMO). A Google-Maps hotel card counts as direct — its website button is the official site.
Hotels
| Hotel | Shown % · all | Checks | Core vis | Avg rank | SoV | 30-day | Top competitor | Status |
|---|
Engines
Visibility by engine × facetiEngine × demand facetThe SAME demand facets as the Visibility by demand facet card on the Queries screen (what a search is about) — here split per AI engine. A cell = % of checks where a hotel is shown for that engine × facet; — = no checks tagged with that facet yet. Full facet glossary is on the Queries card.
The SAME demand facets as the Visibility by demand facet card on the Queries screen (what a search is about) — here split per AI engine. A cell = % of checks where a hotel is shown for that engine × facet; — = no checks tagged with that facet yet. Full facet glossary is on the Queries card.
Competitors
| Competitor | Appears | Mode | Instead | Engines | SoV taken |
|---|
Coverage funneliAxis 1 of 2 — Query tierHow close a search is to a booking. (The other axis, on the next card, is the demand facet — what a search is about.)
Core — high-intent, specific searches a ready-to-book guest makes, e.g. "quiet central Riga hotel for business". ~70% of the set, run in full every cycle.
Competitive — broader, contested searches you can plausibly win, e.g. "best hotels in Riga old town". ~20%.
Baseline — generic top-of-funnel, e.g. "hotels in Riga". ~10%.
How close a search is to a booking. (The other axis, on the next card, is the demand facet — what a search is about.)
Core — high-intent, specific searches a ready-to-book guest makes, e.g. "quiet central Riga hotel for business". ~70% of the set, run in full every cycle.
Competitive — broader, contested searches you can plausibly win, e.g. "best hotels in Riga old town". ~20%.
Baseline — generic top-of-funnel, e.g. "hotels in Riga". ~10%.
Visibility by demand facetiAxis 2 of 2 — Demand facetWhat a search is about — its theme. (The other axis, on the Coverage funnel, is the query tier — how close a search is to a booking.) Each bar shows how often AI recommends you for that theme; red = a theme you're invisible for.
Geo proximity — near a station, the old town, the airport
Segment — traveler type: business, couples, family, wellness
Amenity primary — your headline draw (spa, pool, a name restaurant)
Amenity secondary — supporting extras (parking, gym, bar, breakfast)
Occasion — the reason for the trip (anniversary, a city event, a weekend break)
Class tier — your class / price tier (luxury, boutique, upscale)
Vibe — the mood or style (quiet, romantic, design-led, historic)
Superlative — "best" / "top" hotel in a place
MICE meetings — conferences, meeting rooms, banquets, corporate stays
Package offer — bookable deals (spa-and-stay, breakfast-included)
What a search is about — its theme. (The other axis, on the Coverage funnel, is the query tier — how close a search is to a booking.) Each bar shows how often AI recommends you for that theme; red = a theme you're invisible for.
Geo proximity — near a station, the old town, the airport
Segment — traveler type: business, couples, family, wellness
Amenity primary — your headline draw (spa, pool, a name restaurant)
Amenity secondary — supporting extras (parking, gym, bar, breakfast)
Occasion — the reason for the trip (anniversary, a city event, a weekend break)
Class tier — your class / price tier (luxury, boutique, upscale)
Vibe — the mood or style (quiet, romantic, design-led, historic)
Superlative — "best" / "top" hotel in a place
MICE meetings — conferences, meeting rooms, banquets, corporate stays
Package offer — bookable deals (spa-and-stay, breakfast-included)
Queries
Markets
Hotels
| Hotel | Shown % | Core | Rank | SoV | Best | Status |
|---|
Activity
What lights up here
Your name as it appears across the dashboard.
Set a new password for your account.
People with access to this account. Owners can edit; viewers are read-only.
When a traveller asks an AI assistant for a hotel — “best spa hotel in Riga”, “family hotel near the Old Town” — that answer is the new shortlist. This page shows exactly how every number on the dashboard is built, so each figure is defensible to a revenue manager. We query the engines the way a fresh prospect in your market would: neutral context, no personalisation, incognito / temporary sessions — so the result is what a real guest sees, not your own history.
Start at 100 and subtract a penalty per factor — each is weight × shortfall (shortfall 0 = at target, 1 = worst). So the “What’s lowering it” panel on Overview adds up exactly to this score.
100 − core-invisibility×35 − low-SoV×15 − weak-rank×20 − engine-gaps×20 − OTA-destination×10
100% core visibility · 50%+ Share of Voice · average rank ≤ #3 · all 4 engines · ≤ 20% of answers sending the guest to an OTA. Weights and targets get calibrated on real data.
Share of Voice — of all the hotel recommendations the AI makes across your query set, the share that is you vs every competitor it names.
We track four engines — ChatGPT, Gemini, Perplexity, Claude — and weight the money model by where discovery actually happens (ChatGPT 60 / Gemini 25 / Perplexity 10 / Claude 5). Queries split into three tiers, roughly 70 / 20 / 10: core (high-intent, you should win), competitive (broader, plausible), baseline (generic top-of-funnel).
Every query is tagged on two independent axes. Tier (above) is how close a search is to a booking. Facet is what a search is about — its demand theme. A single core query carries both: “hotel near the station” is tier core · facet geo-proximity; “best hotel in the old town” is tier competitive · facet superlative.
A full-service hotel wins on many angles — location, spa, business, class, occasions. A profile that measures only one theme (say, all-spa) still passes the tier check but stays blind to whole demand segments it should own. The Visibility by demand facet card on the Queries screen breaks core visibility down by facet, so an angle you’re invisible for shows up in red instead of hiding inside an overall average; the Visibility by engine × facet card on the Engines screen shows those same facets split per AI engine, so you can see which engine is blind to which angle. Our authoring standard requires each hotel’s core set to span ≥ 5 distinct facets, none more than ~40% of the set.
Geo proximity — near a station, the old town, the airport · Segment — traveller type (business, couples, family, wellness) · Amenity primary — your headline draw (spa, pool, a name restaurant) · Amenity secondary — supporting extras (parking, gym, bar, breakfast) · Occasion — the reason for the trip (anniversary, a city event, a weekend break) · Class tier — your class / price tier (luxury, boutique, upscale) · Vibe — the mood or style (quiet, romantic, design-led, historic) · Superlative — “best” / “top” hotel in a place · MICE meetings — conferences, meeting rooms, banquets, corporate stays · Package offer — bookable deals (spa-and-stay, breakfast-included).
A discovery-funnel model — an order-of-magnitude estimate, not an invoice. Two loss channels that never overlap:
Bookings (rooms × occupancy × 30 ÷ 2-night stay) × 75% booked online × 10% with an AI assistant in the discovery path × 30–45% a cold shortlist — where the AI answer is the consideration set. Inside a cold shortlist, absence = the whole booking lost: the guest never learns you exist. Depth matters — top-3 counts as fully seen, #4–6 half, #7+ a quarter. That engine-weighted shortfall is your exposure gap, priced at ADR × 2 nights.
The visible share of the same pool: the booking happens, but when the engine’s measured click-destination is an OTA and the guest follows it (40–60%), you pay the ~16% commission.
× 70% occupancy
× 30 days
÷ 2-night average stay
× 75% booked online
× 10% via an AI assistant
× 30–45% cold shortlist
35–53 × 60%
× 2 nights
+ the OTA-commission channel
A flat “every AI-touched booking is lost” would claim ≈ 3× more — that’s why the cold-shortlist share sits in the funnel. The live tile shows each hotel’s real figure on its current window.
Citations vs destination. We record both what the AI cites (TripAdvisor / OTA / your own site / DMO) and where it sends the guest (direct vs OTA), per engine — measured from our own timestamped screenshots.
Evidence-graded fixes. Every recommendation is tagged proven / likely / marginal — we never ship debunked tactics. AI ranking and phrasing stay outside anyone’s control; we improve your odds of being cited, not guarantee a position.