Skip to main content
Glama

SEO GSC Wizard MCP

Blended GSC + GA4 landing pages

get_blended_landing_pages
Read-only

Joins Search Console (clicks, impressions, CTR, position) with GA4 (sessions, bounce rate, key events, revenue) per landing page, on the canonical path (no query/hash, no trailing slash). Flags GSC-only and GA4-only pages so neither side is silently dropped. By default GA4 metrics are limited to google / organic sessions so both sides describe the same traffic (set organicOnly to false for all-traffic GA4 metrics). Units differ by source: ctr is a percentage 0-100 (like every GSC CTR here) while bounceRate is a GA4 fraction 0-1. For a URL-prefix property with a path (e.g. https://example.com/blog/) only GA4 landing pages under that path are joined. 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

TableJSON Schema
NameRequiredDescriptionDefault
limitNoRows to return. Applies per period when dateGranularity is set.
endDateNoOptional. 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".
siteUrlYes
startDateNoOptional. 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".
organicOnlyNoLimit GA4 metrics to google / organic sessions so they line up with GSC. Default true; set false for all-traffic GA4 metrics.
dateGranularityNoSplit 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
comparisonEndDateNoOptional. 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).
comparisonStartDateNoOptional. 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

TableJSON Schema
NameRequiredDescriptionDefault
kindNoWidget variant: "kpis", "table", or "sections".
kpisNoKPI cards (kind="kpis").
noteNoCaveat about the result, when the tool returned one.
rowsNoData rows (kind="table").
notesNoCaveats about the result, when the tool returned several.
titleNo
blocksNoStacked sub-blocks (kind="sections").
sourceNo
columnsNoColumn defs (kind="table").
timeZoneNoGA4 property's IANA reporting time zone.
emptyTextNo
siteScopeNoSet when GA4 numbers were narrowed to this site's hostnames because the property is shared with other sites.
dataMaturityNo
settledThroughNoLast day the data is complete through.
comparisonHasDataNofalse when the comparison period has no data at all, so there is no comparison.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedOutput schema / properties / comparisonHasData
      Added value: +{
      +  "description": "false when the comparison period has no data at all, so there is no comparison.",
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / note
      Added value: +{
      +  "$ref": "#/properties/kind",
      +  "description": "Caveat about the result, when the tool returned one."
      +}
    • addedOutput schema / properties / notes
      Added value: +{
      +  "$ref": "#/properties/siteScope/anyOf/0/properties/hostnames",
      +  "description": "Caveats about the result, when the tool returned several."
      +}
    • addedOutput schema / properties / siteScope
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "hostnames": {
      +          "anyOf": [
      +            {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "includesSubdomainsOf": {
      +          "$ref": "#/properties/title"
      +        },
      +        "note": {
      +          "$ref": "#/properties/title"
      +        },
      +        "sharedWithSites": {
      +          "$ref": "#/properties/siteScope/anyOf/0/properties/hostnames"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Set when GA4 numbers were narrowed to this site's hostnames because the property is shared with other sites."
      +}
  2. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources