Estimated GA4 value per GSC query
get_query_value_attributionEstimates GA4 sessions, key events, and revenue per Search Console query via proportional click share: a query with 80% of a page's GSC clicks is credited 80% of that page's GA4 outcomes. Page-level estimates with known blind spots (device/country/date mismatches are invisible; every click is treated as equally likely to convert). matchedClickShare reports how much of the click volume the estimates cover; estRevenue appears only when the GA4 property records revenue. Requires a GA4 property linked to the site in GSC Wizard; returns a notConfigured explanation otherwise. Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Rows to return. Applies per period when dateGranularity is set. | |
| endDate | No | Optional. Window end as YYYY-MM-DD (e.g. 2026-05-31). You do NOT need to know today's date or the latest available date: omit this and the server uses the latest settled Search Console date (data lags ~2-3 days behind today). Never pass null or the string "null". | |
| siteUrl | Yes | ||
| startDate | No | Optional. Window start as YYYY-MM-DD (e.g. 2026-05-03). You do NOT need to know today's date. Omit BOTH startDate and endDate to analyze the last 28 settled days automatically (Search Console data lags ~2-3 days). Never pass null or the string "null". | |
| organicOnly | No | Limit GA4 outcomes to google / organic sessions so only organic value is distributed across queries. Default true; set false to distribute all-traffic GA4 outcomes. | |
| dateGranularity | No | Split the range into periods and return one set of rows per period, each tagged with a `date` (the period start, clamped to the requested range). Use this to chart a tool's output over time instead of getting a single aggregate: "month" gives month-on-month, "week" gives Monday-aligned weeks, "day" gives a daily series. Default "none" returns one aggregate over the whole range, unchanged. `limit` applies per period when set. Comparison fields (prev*) compare each period against the period before it. | none |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Widget variant: "kpis", "table", or "sections". | |
| kpis | No | KPI cards (kind="kpis"). | |
| note | No | Caveat about the result, when the tool returned one. | |
| rows | No | Data rows (kind="table"). | |
| notes | No | Caveats about the result, when the tool returned several. | |
| title | No | ||
| blocks | No | Stacked sub-blocks (kind="sections"). | |
| source | No | ||
| columns | No | Column defs (kind="table"). | |
| timeZone | No | GA4 property's IANA reporting time zone. | |
| emptyText | No | ||
| siteScope | No | Set when GA4 numbers were narrowed to this site's hostnames because the property is shared with other sites. | |
| dataMaturity | No | ||
| settledThrough | No | Last day the data is complete through. | |
| comparisonHasData | No | false when the comparison period has no data at all, so there is no comparison. |