Target outcome
An executive dashboard connecting visibility progress to business context
Choose the metrics
Build the benchmark
Run in Claude and Run in ChatGPT open a new browser tab with the prompt already typed. Nothing is sent until you submit it.
Connect Qwairy to Claude, pull the exact signals in the workflow, and leave with an execution-ready output.
Model business value
Write the narrative
Finance asks what GEO returned, and last-click attribution answers with a blank: an assistant recommends your brand, the user types your URL two weeks later, and analytics logs it as direct traffic. This workflow keeps the tracked layer apart from the monitored one. It assumes a revenue integration is connected; if you only need one auditable row for a deck, the board update playbook builds that.
Everyone wants one number. Analytics tracks clicks, Search Console tracks rankings, and neither sees an assistant naming your brand in an answer nobody clicked. One attributed-revenue figure means modelling zero-click influence with data nobody holds.
So the report carries three layers instead. get_ai_revenue and get_referrer_analytics return something bounded once analytics is connected; monitored visibility is an observed outcome with a denominator; branded search only co-moves. They stay separate to the last slide.
1. Build the component scorecard. get_overview returns counts plus current and previous-period rates. get_brand_performance takes an explicit window and returns mention rate, citation rate and share of voice with their denominators, plus sentiment without one. Neither returns a composite score.
2. Add competitive context. get_competitor_comparison gives market rank and head-to-head, get_competitors resolves IDs, get_competitor_position adds coverage and share of voice. get_competitor_evolution adds a daily history, but no historical share.
3. Pull the tracked layer. get_ai_revenue returns conversions and measured revenue from AI-referred sessions, with its currency, beside site-wide totals. get_referrer_analytics returns AI sessions, traffic share and landing pages. Both carry a connected flag, false when the integration is missing, and the revenue tool also says whether conversion data exists.
4. Add the monitored series. get_visibility_trend grouped weekly gives the curve to set beside your business series, and labels its own direction: above two points is up or down, smaller is stable. Search Console returns one aggregate per window, not weekly points.
5. Compute the cost indicator. No MCP call: spend divided by the percentage-point change in one metric chosen in advance, void at zero or negative.
One real 30-day window: mention rate 1.08 percent, printed as 10 of 928 relevant responses. Source rate 3.49 percent, 54 of 1548 citable ones. Share of voice 0.25 percent, 10 of 3957 brand mentions. Sentiment 60.5, no denominator at all.
Three rates, three different denominators, which is the whole reason the scorecard prints them. The 928 against 3957 gap is not an error: one counts responses where the brand could have appeared, the other every brand mention in the category. Side by side they say the market is crowded and the brand is thin in it. Averaged, they say nothing.
Two things this deck cannot settle. The weekly comparison is a shape, not a coefficient: three months of points cannot separate a real relationship from a seasonal one. And a falling cost per point can mean better work or lower spend.
What it does settle is the running order. A revenue figure appears only where get_ai_revenue reports the integration connected and conversion data present, in the currency it reports. AI sessions come second, monitored visibility third with its denominator, supplied series last and never as revenue. A disconnected layer keeps its slide and says disconnected.
One bar decides the rest: call a visibility move a change only above two points, the threshold get_visibility_trend uses for its own labels, and only when both windows carry comparable response counts. Below that, flat. Save the windows, denominators, response counts and spend scope every period.
I want a GEO measurement dashboard for my leadership team. If I monitor more than one brand, list them and ask which to use. Take the last 30 days as the current window and the 30 days before as the matched previous window. If a call returns no rows, say so in one line, mark the section no data, and continue.
1. Call get_overview, then get_brand_performance for each window. Compare mention rate, source citation rate, share of voice and sentiment, printing the numerator and denominator behind the three rates. Build no composite score, and report no rate whose denominator is zero.
2. Call get_competitor_comparison, get_competitors to resolve IDs, then get_competitor_position and get_competitor_evolution over 90 days on the two closest competitors. Keep rank and coverage apart from the daily history, invent no historical share of voice, and report an empty history as a gap.
3. Call get_ai_revenue and get_referrer_analytics over 90 days. Report first whether each integration is connected and whether get_ai_revenue has conversion data. If either is disconnected, name the missing layer and quote no revenue at all. Otherwise report measured revenue with its currency, the site-wide comparison, AI sessions, traffic share and top landing pages.
4. Call get_visibility_trend grouped weekly over 90 days, showing the direction label it returns. Then ask whether I can supply weekly branded-search or direct-traffic exports. If I can, align by week, say how many align, show both curves, and describe only whether the last four moved in the same direction. Compute no correlation coefficient, fit no model, and say nothing about co-movement below eight aligned weeks. Without exports, record the proxy layer as unavailable.
5. Ask me for total GEO spend over the period in euros, then divide it by the change in visibility rate in percentage points between the windows. If that change is zero or negative, mark the indicator not applicable, and never compare it with CAC or an outside benchmark. Then write five talking points: tracked revenue, AI traffic, monitored visibility with denominators, cost per point with its inputs, next quarter's recommendation. Give each a caveat line, and mark an empty layer as no data rather than dropping its slide.
Compare AI visibility before and after a content campaign. Track current page pickup, provider-level changes, targeted gaps, and what to investigate next.