The Measure tools surface conventional web analytics alongside your AI visibility data — search performance, AI-driven traffic and revenue, and how AI crawlers reach your site. They read from integrations you connect inside Qwairy (Measure section of the dashboard).
Connection required. Each tool depends on a connected integration (Google Search Console, Bing Webmaster Tools, or Google Analytics). When the integration is not connected for the brand, the tool returns connected: false with empty data rather than an error — so an assistant can tell you what to connect instead of failing.
All Measure tools require the read:measure scope. Existing OAuth connections created before this scope must reconnect to use them.
get_search_console_metrics
Google Search Console performance for the brand’s site: clicks, impressions, CTR, and average position, broken down by search query or by page.
Parameters
| Parameter | Type | Required | Description |
|---|
brandId | string | Yes | The brand ID from list_brands |
dimension | string | No | query or page (default: query) |
days | number | No | Lookback window in days (default: 28) |
limit | number | No | Max rows to return |
Returns
| Field | Description |
|---|
connected | Whether Google Search Console is connected for this brand |
dimension | The dimension used (query or page) |
dateRange | startDate, endDate |
summary | totalClicks, totalImpressions, avgCtr (%), avgPosition (impression-weighted), rowCount |
rows[] | Per query/page: key, clicks, impressions, ctr (%), position |
Example Prompts
What are my top Search Console queries this month?
Which pages get the most search impressions but a low CTR?
OAuth Scope
Requires: read:measure
get_bing_metrics
Bing Webmaster Tools search performance for the brand’s site, by query or by page. Same shape as get_search_console_metrics, sourced from Bing.
Parameters
| Parameter | Type | Required | Description |
|---|
brandId | string | Yes | The brand ID from list_brands |
dimension | string | No | query or page (default: query) |
days | number | No | Lookback window in days (default: 28) |
limit | number | No | Max rows to return |
Returns
| Field | Description |
|---|
connected | Whether Bing Webmaster Tools is connected for this brand |
dimension | The dimension used (query or page) |
dateRange | startDate, endDate |
summary | totalClicks, totalImpressions, avgCtr (%), avgPosition, rowCount |
rows[] | Per query/page: key, clicks, impressions, ctr (%), position |
OAuth Scope
Requires: read:measure
get_referrer_analytics
Google Analytics traffic attributed to AI sources (ChatGPT, Perplexity, Gemini, and others) versus total site traffic — how much of your audience is now arriving from AI assistants.
Parameters
| Parameter | Type | Required | Description |
|---|
brandId | string | Yes | The brand ID from list_brands |
days | number | No | Lookback window in days (default: 28) |
limit | number | No | Max sources / landing pages to return |
Returns
| Field | Description |
|---|
connected | Whether Google Analytics is connected for this brand |
dateRange | startDate, endDate |
summary | totalAiSessions, totalTrafficSessions, aiSharePct, avgBounceRate, avgSessionDuration |
sources[] | Per AI source: name, sessions, bounceRate, pagesPerSession, newUsers |
topLandingPages[] | path, sessions, topSource |
Example Prompts
How much of my traffic is coming from AI assistants?
Which AI source sends the most engaged visitors?
OAuth Scope
Requires: read:measure
get_ai_revenue
Google Analytics revenue and conversions attributed to AI-driven traffic: what AI referrals are worth, with per-source and organic comparisons. Returns hasEcommerceData: false when the property has no e-commerce tracking.
Parameters
| Parameter | Type | Required | Description |
|---|
brandId | string | Yes | The brand ID from list_brands |
days | number | No | Lookback window in days (default: 28) |
limit | number | No | Max sources / landing pages to return |
Returns
| Field | Description |
|---|
connected | Whether Google Analytics is connected for this brand |
hasEcommerceData | Whether the property reports e-commerce revenue |
dateRange | startDate, endDate |
summary | totalRevenue, totalTransactions, totalSessions, conversionRate, revenuePerSession, avgOrderValue |
sources[] | Per AI source: name, revenue, transactions, sessions, conversionRate |
organic | Organic-search baseline for comparison (or null) |
topLandingPages[] | path, revenue, transactions, topSource |
Example Prompts
How much revenue did AI traffic drive last month?
What's the conversion rate of AI visitors versus organic search?
OAuth Scope
Requires: read:measure
get_crawler_activity
Which AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, and others) have been hitting the brand’s site, based on server log analysis.
Parameters
| Parameter | Type | Required | Description |
|---|
brandId | string | Yes | The brand ID from list_brands |
Returns
| Field | Description |
|---|
connected | Whether crawler log data is available for this brand |
crawlers[] | Per bot: bot, lastSeen |
totalBotsSeen | Number of distinct AI crawlers observed |
Example Prompts
Which AI crawlers are visiting my site?
Has ClaudeBot crawled my site recently?
OAuth Scope
Requires: read:measure
get_page_performance
Per-page AI crawler activity: which pages AI bots visit most, with the top bots per page. Complements get_crawler_activity (site-wide) with a page-level breakdown.
Parameters
| Parameter | Type | Required | Description |
|---|
brandId | string | Yes | The brand ID from list_brands |
days | number | No | Lookback window in days (default: 28) |
limit | number | No | Max pages to return |
Returns
| Field | Description |
|---|
connected | Whether crawler log data is available for this brand |
dateRange | startDate, endDate |
summary | totalPages, totalCrawlerVisits, botsSeen |
pages[] | Per page: path, title, crawlerVisits, topBots[] (bot, visits) |
Example Prompts
Which of my pages do AI crawlers visit most?
OAuth Scope
Requires: read:measure