Target outcome
A before-and-after campaign scorecard with attributable visibility gains
Set the baseline
Measure pickup
Test attribution
Decide what scales
Run in Claude and Run in ChatGPT open a new browser tab with the prompt already typed. Nothing is sent until you submit it.
A campaign ships, a dashboard number moves, and nobody can say which pages the engines picked up. Two matched windows of AI-answer evidence, compared, turn that into a follow-up plan. Run it when you have a launch date and a list of shipped URLs; if pages that used to be cited have gone quiet with no campaign attached, that is a decay question, not this one.
Analytics and Search Console answer something else. Pageviews, rankings and clicks describe how humans reached a page, not whether an assistant quoted it. A campaign can lift organic traffic and leave the monitored answers untouched.
AI-answer evidence turns the campaign into a measurement: the same component metrics over two matched windows, the campaign URLs cited today, the prompts you targeted. What comes out is an association tied to dates and sample sizes, not a cause.
1. Match the two windows. get_brand_performance takes explicit start and end dates and returns mention rate, source citation rate, share of voice and sentiment, with scoreDetails carrying the numerator and denominator behind the first three. Call it once per window, matched in length. get_visibility_trend then plots answers, mentions, citations and average position over a relative lookback.
2. Check which pages were picked up. get_page_presence returns a current snapshot per page: status, citation count, unique question count, average position and the providers that cited it. It holds no pre-campaign state, so match your campaign URLs exactly and treat an absent URL as an investigation candidate.
3. Split the delta by provider. get_provider_breakdown names the providers actually observed, up to ten, but takes a relative lookback rather than arbitrary historical windows. Use it for the names, then call get_brand_performance per provider per window.
4. Verify the prompts you targeted. get_content_opportunities returns at most ten rows per list from the current window and cannot reconstruct a historical one, so start from your saved pre-campaign target IDs and classify each with get_prompts and get_prompt_answers.
5. Write the follow-up plan. No tool here: observed improvements with dates and sample counts, inconclusive areas with the next check, gaps for the next campaign.
A real matched pair of windows: mention rate flat at 1.08 percent, share of voice flat at 0.25 percent, and source rate moving from 2.3 to 3.49 percent, a gain of 1.2 points on 54 of 1548 citable responses.
One metric moved, and it is the one a campaign can move. Source rate counts answers citing your pages, mention rate counts answers naming your brand, and publishing gets you cited before it gets you named. A campaign that lands shows up here first with the other two flat for weeks, so reading that flat mention rate as failure is the mistake this workflow prevents. Record both denominators: 1548 against 928 is not the same population.
Save the run as the next baseline: window dates, denominators, campaign URLs, target prompt IDs, page pickup. Page presence and content opportunities are current views, so a comparison not recorded before launch cannot be rebuilt later.
Absence from today's opportunity list is not proof a gap closed, and a citation without a brand mention is a separate observation.
Then let the returned status decide the next move. A campaign URL coming back WORKING has cleared the citation bar the tool applies: repeat its format. NEEDS_ATTENTION means cited but under that bar: give it one more window before judging the format. NOT_CITED after a full window is not a rewrite candidate yet: check the page is reachable and crawled first. DISCOVERED means engines cite a page you are not tracking: add it to the monitored set before the next run. When two WORKING candidates compete, take the one whose targeted prompts carry the larger denominator.
I want to measure the impact of a content campaign on my AI visibility. List the brands I monitor and ask which to use if there are several. Then ask me for the campaign launch date, the campaign URLs and my saved pre-campaign target prompt IDs; without saved IDs, say the prompt-level check cannot be rebuilt and run the rest anyway. Unless I give other dates, use the 30 days after launch as the measurement window and the 30 days before as the baseline.
1. Call get_brand_performance once per window and compare mention rate, source citation rate, share of voice, sentiment and the scoreDetails denominators. Do not invent a composite score. If a window returns no responses, say so and stop comparing rates.
2. Call get_visibility_trend for the last 90 days grouped weekly, mark the launch date, and report weekly totals with visibility rate and average position as association, not causation.
3. Call get_page_presence and match my campaign URLs exactly, returning each page's status, citation count, unique question count, average position and providers. A campaign URL missing from the response is not yet observed: list it, do not drop it.
4. Use get_provider_breakdown for the observed providers, then get_brand_performance per provider per window. Flag small or missing samples instead of estimating them.
5. Pull current content opportunities, then classify each saved target with get_prompts and get_prompt_answers as observed with my brand, observed without it, or inconclusive. Both lists coming back empty is not proof the gaps closed: keep working from my saved IDs.
6. Build a follow-up plan separating observations, hypotheses, verification steps and next experiments, then rank the campaign URLs by returned status: WORKING first as formats to repeat, NEEDS_ATTENTION for one more window, NOT_CITED to a crawl check, DISCOVERED added to my monitored pages. Before attributing anything, ask about other events in the same period: a press push, a migration, a seasonal peak.
Connect Qwairy to Claude, pull the exact signals in the workflow, and leave with an execution-ready output.
Set up a Claude scheduled task that generates a weekly GEO performance brief using Qwairy's MCP server, with optional Slack distribution and Notion action items.
Build a GEO measurement dashboard with tracked AI-referral revenue, visibility metrics, competitive context, proxy signals, and an executive summary.
A Claude + Qwairy MCP workflow for CMOs adding AI search to their board deck. Produces a board-ready metric row with methodology, competitive context, trend direction, a concise narrative, and an assumption-labeled scenario.