Overview
AI Visibility
How visible we are in AI → what's wrong → what to do
Loading…
Custom date range
Visibility Healthi
Visibility Health

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.

/ 100

What's lowering it

Core visibilityi
Core visibility

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.

€ at risk · monthlyi
€ at risk

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

% of checks where a hotel is shown
Per engine →
Share of Voice
Avg rank when shown
lower is better
Engine coverage
Not shown
Top actionsthe standing fix-list · ranked by impact — chronic gaps stay here until fixedView activity →

Visibility over time

Core-query visibility · rolling avg

Who outranks you

Top competitors by appearances
Appears instead of youAppears alongside

What AI cites

Sources behind the answers — where to earn presence

Where AI sends the guesti
Where AI sends

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.

Direct vs OTA vs other — the OTA-leak lens, per engine
Per engine →

Hotels

Top 10 by impact · click a row for detail
View Hotels →
HotelShown % · allChecksCore visAvg rankSoV30-dayTop competitorStatus
30-day line: blue = improving, red = declining (second half of the window vs the first)
Best engine
Weakest engine
Engine coverage
engines where shown
Biggest gap
best vs weakest

Engines

Click an engine for detail

Visibility by engine × faceti
Engine × demand facet

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.

Where you're invisible, by demand facet — % of checks shown · — = no data yet
Active competitors
appearing in your queries
We lead vs
of top rivals — higher SoV than them
Top rival
most frequent
Push you out
rivals recommended where you're absent

Competitors

Who shows up in your queries
CompetitorAppearsModeInsteadEnginesSoV taken
Core visibility
high-intent queries
Competitive
broader plausible
Baseline
generic top-of-funnel
High-intent lost
core checks you missed

Coverage funneli
Axis 1 of 2 — Query tier

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

Axis 1 — query tier: how close a search is to a booking · the 70 / 20 / 10 mix

Visibility by demand faceti
Axis 2 of 2 — Demand facet

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)

Axis 2 — demand facet: what a search is about · red = a theme you're invisible for

Queries

Click a query for per-engine detail
Markets monitored
countries of search
Best market
Weakest market
Biggest geo gap
best vs weakest

Markets

Click a market for detail

Hotels

Click a hotel for detail & value at risk
HotelShown %CoreRankSoVBestStatus

Activity

Confirmed changes vs the prior period — problems, wins & notable shifts

What lights up here

the change events this feed detects
Note
This feed shows confirmed changes vs the prior period — a hotel×engine flip (dropped out / reappeared / OTA↔direct / rank move) that held across ≥2 checks and cleared the magnitude bar. The comparison window is a short interim one now and widens to a full matrix cycle as history accrues. Push delivery (email / Telegram) is a later step.
Profile

Your name as it appears across the dashboard.

Password

Set a new password for your account.

Team

People with access to this account. Owners can edit; viewers are read-only.

What “how visible you are in AI” actually measures

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.

Visibility Health — one score, 0–100

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

Targets

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 & the engines

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

Two axes of a query — tier & facet

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.

Why facets exist — blind-spot detection

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.

The ten demand facets

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

How “€ at risk” works

A discovery-funnel model — an order-of-magnitude estimate, not an invoice. Two loss channels that never overlap:

A · Lost bookings — you’re absent

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.

B · OTA commission — on kept bookings

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.

Worked example — a sample hotel
150 rooms
× 70% occupancy
× 30 days
÷ 2-night average stay
1,575 bookings / month
1,575 bookings
× 75% booked online
× 10% via an AI assistant
× 30–45% cold shortlist
35–53 AI-decided bookings
Exposure gap ~60%
35–53 × 60%
21–32 lost bookings
ADR €100
× 2 nights
€200 per booking
21–32 lost bookings × €200
+ the OTA-commission channel
€4.2k – €6.4k lost / month

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, destination & recommendations

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.

Every assumption is a calibration knob: the 10% AI-discovery share is reviewed semi-annually (it will grow); rooms/ADR estimates refresh quarterly via the LLM pass. Your manual overrides in each hotel panel always win and are never auto-touched — and per-hotel figures always reconcile to the portfolio headline.