Google Analytics 4 summary, pages and traffic sources, with live custom ranges, metrics and filters.
4 endpoints. Each one is a REST endpoint under https://woodander.com/api/v1 and an MCP tool with the same name and arguments. See the overview for authentication, rate limits and errors.
Google Analytics (GA4) sessions, users, engaged sessions and key events for a period, the previous period, the daily series, countries and devices. Served from synced data of the property you chose for the site; with a longer or custom range, compare, metrics or filters it is a live Data API report (cached for an hour).
MCP toolga4_summaryScoperead:analyticsPlan Pro and above
Parameters
Name
In
Type
Required
Description
site
path
string
Yes
Host of one of your sites, e.g. example.com (see list_sites).
range
query
string
No
Period ending yesterday. Default 28d. 3m and longer are live from Google. One of: 28d, 90d, 3m, 6m, 12m, 16m.
from
query
string
No
With to: a custom date range (YYYY-MM-DD), up to 16 months back. Answered live from Google (cached for an hour).
to
query
string
No
End of the custom date range (YYYY-MM-DD), not in the future.
compare
query
string
No
Compare with the previous period of the same length, or the same dates a year earlier (live). One of: none, previous, year.
metrics
query
array<string>
No
GA4 metrics to return (live): sessions, totalUsers, newUsers, engagedSessions, engagementRate, bounceRate, screenPageViews, eventCount, keyEvents, sessionKeyEventRate, averageSessionDuration, userEngagementDuration. Rates are percentages.
filters
query
array<object>
No
Up to 8 conditions, all must match (live): a list of {"dimension": a GA4 dimension such as pagePath, sessionSource, country, deviceCategory, eventName, "operator": "contains|not_contains|equals|not_equals|regex|not_regex", "value"}. Regular expressions use RE2 syntax. In Search Console country is a 3-letter code (deu) and device is desktop, mobile or tablet.
Top pages by Google Analytics sessions for 28 or 90 days (the synced snapshot), sortable and filterable. With a longer or custom range, compare, dimension, metrics or filters it is a live Data API report (cached for an hour).
MCP toolga4_pagesScoperead:analyticsPlan Pro and above
Parameters
Name
In
Type
Required
Description
site
path
string
Yes
Host of one of your sites, e.g. example.com (see list_sites).
range
query
string
No
Period ending yesterday. Default 28d. 3m and longer are live from Google. One of: 28d, 90d, 3m, 6m, 12m, 16m.
from
query
string
No
With to: a custom date range (YYYY-MM-DD), up to 16 months back. Answered live from Google (cached for an hour).
to
query
string
No
End of the custom date range (YYYY-MM-DD), not in the future.
compare
query
string
No
Compare with the previous period of the same length, or the same dates a year earlier (live). One of: none, previous, year.
dimension
query
string
No
Group the rows by this GA4 dimension instead of the default (live), e.g. country, deviceCategory, sessionDefaultChannelGroup, eventName, landingPage, date.
metrics
query
array<string>
No
GA4 metrics to return (live): sessions, totalUsers, newUsers, engagedSessions, engagementRate, bounceRate, screenPageViews, eventCount, keyEvents, sessionKeyEventRate, averageSessionDuration, userEngagementDuration. Rates are percentages.
filters
query
array<object>
No
Up to 8 conditions, all must match (live): a list of {"dimension": a GA4 dimension such as pagePath, sessionSource, country, deviceCategory, eventName, "operator": "contains|not_contains|equals|not_equals|regex|not_regex", "value"}. Regular expressions use RE2 syntax. In Search Console country is a 3-letter code (deu) and device is desktop, mobile or tablet.
filter
query
string
No
Keep page paths containing this text.
sort
query
string
No
Default sessions. One of: sessions, users, engaged_sessions, key_events.
Traffic sources (source / medium, e.g. google / organic) by Google Analytics sessions for 28 or 90 days (the synced snapshot), sortable and filterable. With a longer or custom range, compare, dimension, metrics or filters it is a live Data API report (cached for an hour).
MCP toolga4_sourcesScoperead:analyticsPlan Pro and above
Parameters
Name
In
Type
Required
Description
site
path
string
Yes
Host of one of your sites, e.g. example.com (see list_sites).
range
query
string
No
Period ending yesterday. Default 28d. 3m and longer are live from Google. One of: 28d, 90d, 3m, 6m, 12m, 16m.
from
query
string
No
With to: a custom date range (YYYY-MM-DD), up to 16 months back. Answered live from Google (cached for an hour).
to
query
string
No
End of the custom date range (YYYY-MM-DD), not in the future.
compare
query
string
No
Compare with the previous period of the same length, or the same dates a year earlier (live). One of: none, previous, year.
dimension
query
string
No
Group the rows by this GA4 dimension instead of the default (live), e.g. country, deviceCategory, sessionDefaultChannelGroup, eventName, landingPage, date.
metrics
query
array<string>
No
GA4 metrics to return (live): sessions, totalUsers, newUsers, engagedSessions, engagementRate, bounceRate, screenPageViews, eventCount, keyEvents, sessionKeyEventRate, averageSessionDuration, userEngagementDuration. Rates are percentages.
filters
query
array<object>
No
Up to 8 conditions, all must match (live): a list of {"dimension": a GA4 dimension such as pagePath, sessionSource, country, deviceCategory, eventName, "operator": "contains|not_contains|equals|not_equals|regex|not_regex", "value"}. Regular expressions use RE2 syntax. In Search Console country is a 3-letter code (deu) and device is desktop, mobile or tablet.
filter
query
string
No
Keep sources containing this text.
sort
query
string
No
Default sessions. One of: sessions, users, engaged_sessions, key_events.
Queue a refresh of the stored Google Analytics (GA4) figures of one of your sites. Refused while the figures are under 15 minutes old. What happens depends on the mode the owner set for this module in Settings → AI activity: Manual stores a proposal the owner applies in the Workspace (the answer has a confirm_url), Hybrid and Autonomous run it. Poll agent_change_status with the id.
MCP toolqueue_ga4_syncScoperun:auditsPlan Pro and above
Parameters
Name
In
Type
Required
Description
site
path
string
Yes
Host of one of your sites (see list_sites).
Example request
bash
curl-X POST "https://woodander.com/api/v1/sites/example.com/ga4/sync" \
-H"Authorization: Bearer wdr_..."