growth_vs_market_share
Use this whenever the question pairs one of YOUR metrics — clicks, impressions, CTR or average position — with market share ("clicks and market share", "impressions vs our share", "are we growing faster than our share", traffic vs share side-by-side). Pass vs:"clicks"|"impressions"|"ctr"|"position" (default clicks) to pick the right axis. Pass country and/or device to keep BOTH legs on the same geography and device (e.g. "clicks and market share on mobile in Canada") — do not decompose that into market_share_query + search_performance. Pass page or category for a FILTERED SUMMARY such as "market share and clicks for pages containing /p/"; that path preserves QWA's summary-level market-share denominator and joins a separately filtered GSC aggregate, so adding traffic cannot change the share definition. Country/device cannot be combined with a page/category summary in the same call. For share vs competitors WITHOUT a traffic metric, use market_share_overview instead. For a per-slice top-N breakdown (e.g. top intents or pages by clicks/share), use market_share_breakdown. Defaults to the primary "default" (Overall Market) segment when omitted — name another tracked segment to scope to it. UNIT CONTRACT: market-share values are already percentage units on a 0–100 scale (0.03 means 0.03%, not 3%); share delta is selected-minus-comparison percentage points; leader gap is leader-minus-client percentage points for the same period; only deltaPct is a relative-change ratio.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"date_range": "<date_range>"
},
"name": "growth_vs_market_share"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| vs | No | Which of YOUR metrics to plot against market share: clicks (default), impressions, ctr or position. On the primary "default" (whole-domain) segment, clicks come from a separate whole-domain GSC read joined on the period — same mechanism as impressions/ctr/position (payload echoes clicks_source:"gsc"); on a tracked (non-default) segment clicks stay on the segment-scoped market-share table (clicks_source:"market_share_tracked"). | clicks |
| page | No | Restrict share-vs-competitors to ONE page/URL pattern (e.g. "%/products%"), matched against the customer page at the same summary grain used by QWA. Single-value filter. | |
| brand | No | Restrict to branded ("Yes") or non-branded ("No") demand (ignored at site granularity) | |
| grain | No | Granularity: whole-segment (default), site, keyword or page. Keyword/page unlock keyword-, page- and intent/brand-sliced views; site is whole-site only. NOTE: 'category' is NOT supported for share-vs-competitors (no member carries content categories AND the comp{N} columns) — passing it returns a clear steer, not competitor shares. | |
| device | No | Restrict BOTH the market-share read and the paired GSC metric read to one resolved device value, e.g. "MOBILE" or "DESKTOP". Resolve the exact value with list_filter_values first. Same scope on both legs. | |
| intent | No | Restrict to ONE search intent, e.g. "Informational" (a single-value filter, not a breakdown — for top-N across intents use market_share_breakdown; ignored at site granularity) | |
| medium | No | competitor source medium for the comparison, e.g. "google/organic" (default) or "google/cpc" | |
| country | No | Restrict BOTH the market-share read and the paired GSC clicks/impressions/CTR/position read to one resolved country code, e.g. "can". Resolve the exact value with list_filter_values first. Same scope on both legs — do not compose market_share_query + search_performance for this. | |
| filters | No | Operator-aware filters applied identically to both legs. Page/category build a filtered summary. Country/device keep share and the GSC metric on the same geography/device. Do not mix page/category with country/device in one call. | |
| segment | No | Tracked segment ID; omit to use the primary "default" (Overall Market) segment. | |
| category | No | Restrict share-vs-competitors to ONE content category (e.g. "Products"), as exposed by list_filter_values(category). Uses QWA's summary-level category parameter. Single-value filter — for top-N across categories use market_share_breakdown(breakdown_by=category). Resolve the exact value with list_filter_values first. | |
| date_range | Yes | Explicit date range, e.g. "2026-05-01 to 2026-05-31". Both endpoints are INCLUSIVE — the END day is covered (a 7-day range = 7 days). Quattr weeks run Sunday–Saturday; for "last week" use the most recent complete Sun–Sat span. | |
| comparison_range | No | Explicit comparison range for period-over-period, e.g. "2026-04-01 to 2026-04-30" |