> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qwairy.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Measure Tools

> Off-AI web analytics from connected integrations: Google Search Console, Bing, Google Analytics revenue and referrers, and AI crawler activity.

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

<Note>
  **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.
</Note>

<Note>
  All Measure tools require the `read:measure` scope. Existing OAuth connections created before this scope must reconnect to use them.
</Note>

***

## 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`
