GA4 traffic from AI assistants
get_ga4_llm_trafficSessions, engagement, conversions (key events) and revenue referred to the site by ChatGPT, Perplexity, Microsoft Copilot, Google Gemini, Claude and 13 other AI assistants (identified by referrer domain and combined with GA4’s own "AI Assistant" channel), from the GA4 property linked to the site, with the share of total traffic they represent and per-assistant and per-landing-page breakdowns. Note: Google AI Overviews / AI Mode traffic carries no distinct referrer, is indistinguishable from google/organic, and is NOT included. llmShareOfSessions, engagementRate and bounceRate are fractions 0-1, not percentages. An assistant's activeUsers adds up its referrer domains (e.g. chatgpt.com + chat.openai.com), so a user who came through two of them counts twice; summary.activeUsers is exact. Returns a notConfigured result when Google Analytics is not connected or no GA4 property is linked. 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 | Maximum number of landing page rows returned. | |
| 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". | |
| comparisonEndDate | No | Optional. End of the comparison period as YYYY-MM-DD. Provide BOTH comparison dates to compare two periods; omit both for no comparison (prev* fields are then 0 and hasComparison false). | |
| includeDailySplit | No | Include a per-assistant daily sessions split for the current period. | |
| comparisonStartDate | No | Optional. Start of the comparison period as YYYY-MM-DD. Provide BOTH comparison dates to compare two periods; omit both for no comparison (prev* fields are then 0 and hasComparison false). |
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. |