Get holistic marketing report data
marketing_get_reportPrimary reporting tool for a given GA4 property or site. Use for totals, trends, and breakdowns by dimension across GA4 website traffic and app analytics, Google Search Console site traffic, and Bing Webmaster — including last-30-days summaries, revenue, leads, sessions, users, engagement/time-on-page (average_session_duration, user_engagement_duration), and period-over-period comparisons. Drill deep: GA4 supports up to 9 grouped dimensions (date/hour, geo, device/browser/OS, source/medium/channel, landing_page/page_path, etc.). Defaults to all mapped connected sources merged into one standardized view, aligned on the shared grain (typically landing_page) so a page row blends GA4 sessions+engagement with Search Console/Bing clicks/impressions/CTR/position; per-source detail (e.g. full query lists) stays in sourceSections. Note GA4 has no query dimension and Search Console/Bing have no sessions/engagement, so those cannot share one row — query is a Search Console/Bing breakdown. Narrow with sources or sourceMode='single'. Any GA4 dimension/metric name not in the catalog is passed through to the GA4 API automatically; metricMode='source_native' forces a pure GA4-native report. Pass one date range for a single window or two date ranges for period-over-period comparison.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | Optional app or web stream selector. Use this when the user identifies the GA4 source by stream ID, measurement ID, Firebase app ID, or stream name. | |
| site | No | ||
| limit | No | ||
| offset | No | ||
| source | No | ||
| maxRows | No | ||
| metrics | Yes | GA4 metric API names such as sessions, activeUsers, conversions, eventCount, totalRevenue, or engagedSessions. Include explicit numerator and denominator metrics when requesting significance context. | |
| siteUrl | No | ||
| sources | No | ||
| orderBys | No | Optional sort order. Each entry requires fieldName (a GA4 API name like sessions or date) and optional desc (true for descending). Example: [{ fieldName: "sessions", desc: true }]. | |
| pageSize | No | ||
| property | No | Google Analytics property identifier. Accepts a numeric GA4 property ID like 481373915 or a resource name like properties/481373915. | |
| surfaceId | No | Optional analysis surface ID. When omitted, the default surface is used if no explicit selector is provided. | |
| dateRanges | Yes | One or more GA4 date ranges. Use two date ranges for period-over-period comparisons or significance checks. | |
| dimensions | No | Optional GA4 dimensions such as date, country, deviceCategory, landingPagePlusQueryString, or dateRange. Omit entirely for aggregate totals (renders as KPI widget). Only include when the user asks for a breakdown or trend. | |
| metricMode | No | canonical | |
| propertyId | No | Numeric Google Analytics 4 property ID for website analytics or app analytics. Use this when the user references a GA4 property directly. | |
| sourceMode | No | auto | |
| appStreamId | No | GA4 app or web data stream ID when the request targets a specific app stream or website stream. | |
| significance | No | Optional significance context for GA4 rate comparisons. Use this only when the user asks whether a change is statistically significant or meaningful. | |
| keepEmptyRows | No | ||
| metricFilters | No | ||
| returnAllRows | No | ||
| sourceOptions | No | ||
| dimensionFilters | No | ||
| metricFilterExpression | No | ||
| dimensionFilterExpression | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rows | No | ||
| chart | No | ||
| scope | No | ||
| lineage | No | ||
| metrics | No | ||
| warnings | No | ||
| comparison | No | ||
| confidence | No | ||
| sourceState | No | ||
| significance | No | ||
| reportSummary | No | ||
| analyticsLinks | No | ||
| resolvedEntities | No |