Skip to main content
Glama

RevenueScope: revenue-first analytics for your EC site

Revenue breakdown by dimension

get_breakdown
Read-only

Consolidated breakdown tool. Pick dimension: 'channel' returns per-channel sessions/revenue/RPS plus engagement (visitors, avg dwell seconds, bounce rate) and bot_excluded_count (bot sessions removed from human metrics; a channel with sessions=0 but bot_excluded_count>0 is bot-only traffic, kept so it is not mistaken for 'no traffic') and — when ad spend is connected (Path B) — spend/ROAS/saturation; plus an 'Unattributed' row (is_unattributed=true) for purchase revenue not tied to any channel, with a revenue_breakdown summary (total_event_jpy/attributed_jpy/unattributed_jpy); pass attribution_model ('last_touch' default / 'first_touch' / 'linear' / 'time_decay') to switch how purchase revenue and orders are attributed across channels — same models as the dashboard's attribution selector; revenue_jpy/rps_jpy/orders/aov_jpy/cvr change, while sessions/engagement/bot/spend/ROAS are model-independent [ad-platform rows, is_ad_platform=true, are entirely model-independent, revenue_jpy and rps_jpy included — they are the spend-basis view, so on them revenue_jpy ÷ spend_jpy always equals roas, up to the rounding of roas to 2 decimals; under a non-default model their revenue_jpy/rps_jpy keep the database_statement_time_window boundary shown for roas rather than the reference_timestamp_window that presentation_hints lists for rows[*].revenue_jpy], so compare models to see e.g. how much an awareness channel gains under first_touch vs last_touch. each channel row also carries orders (purchase orders counted by our own tracker), aov_jpy and cvr derived from it — withheld as null below 10 orders, and always null on ad-platform / Unattributed rows; do NOT divide revenue_jpy by conversions to rebuild AOV, conversions is the ad platform's self-reported count, a different denominator. pass filter.channel to drill into that channel's campaigns (utm_campaign) with RPS/AOV/CVR — the value must be a channel name exactly as this tool returns it, case included (e.g. 'Google Ads', 'Meta', 'Criteo', 'Google検索'), since the match is exact and a lowercase slug returns nothing. 'page' returns per-page pageviews/unique visitors/avg time/bounce plus the page title (what the page IS, so a row reads as an article name rather than a slug; null for pages with no visit since 2026-08-21 — it does not backfill) ranked by pageviews (limit default 20, max 200; query strings stripped, bots excluded; each row also carries GSC Google-search impressions/clicks/ctr/avg_position merged by normalized path — null when the page has no GSC row, and a DIFFERENT denominator from pageviews, see notes). 'session_attribute' returns the device / time-of-day (4h JST) / day-of-week (ISO) / new-vs-returning (with AOV) / country (top-15 by sessions + 'Other', ISO2 code, share_pct; from first-party session geo, 'Unknown' when IP unresolved) breakdowns in one call. site_id is OPTIONAL when OAuth-authenticated. Default period is the last 30 days; pass period='today'/'7d'/'90d' or a raw day count (1-365). filter only applies to dimension='channel'; limit only applies to dimension='page'. Pass optional country (ISO2, e.g. 'JP') and/or device ('mobile'/'desktop'/'tablet') to scope session-derived metrics across any dimension (omit = all). For dimension='channel' you can also pass visitor_type ('new'/'returning') to split the channel table by first-time vs returning visits — the split uses the DATE-based rule (no visit by the same visitor on an earlier JST day = new), the same rule the dashboard's KPI card uses, NOT the tracker's stored is_new_visitor flag; under it engagement fields, bot counts, ad-platform aggregate rows, Unattributed, and revenue_breakdown are omitted because their sources have no visitor_type dimension. Session rows keep ad_platform mapping metadata. Combining visitor_type with filter.channel is rejected with InvalidParams because campaign drill-down has no visitor-type axis. dimension='page' rows include pageviews_change (period-over-period % vs the previous equal-length window, null = new page).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
deviceNo
filterNo
periodNo30d
countryNo
site_idNo
dimensionYes
visitor_typeNo
attribution_modelNolast_touch

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNo
rowsNo
basisNo
notesNo
filterNo
periodYes
site_idYes
dimensionYes
truncatedNo
assumptionsNo
limitationsNo
total_pagesNo
data_freshnessYes
previous_periodNo
total_pageviewsNo
attribution_modelNo
revenue_breakdownNo
presentation_hintsYes
session_attributesNo
period_boundary_definitionsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changed
    • addedOutput schema / properties / data_freshness
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "bot_classification_delay_definitions": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "burst_cluster_fallback": {
      +          "type": "string"
      +        },
      +        "burst_cluster_primary": {
      +          "type": "string"
      +        },
      +        "single_page_zero_dwell": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "burst_cluster_primary",
      +        "burst_cluster_fallback",
      +        "single_page_zero_dwell"
      +      ],
      +      "type": "object"
      +    },
      +    "bot_classification_delay_minutes_max_by_rule": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "burst_cluster_fallback": {
      +          "const": 480,
      +          "type": "number"
      +        },
      +        "burst_cluster_primary": {
      +          "const": 20,
      +          "type": "number"
      +        },
      +        "single_page_zero_dwell": {
      +          "const": 480,
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "burst_cluster_primary",
      +        "burst_cluster_fallback",
      +        "single_page_zero_dwell"
      +      ],
      +      "type": "object"
      +    },
      +    "delay_bounds_assume_scheduled_jobs_operational": {
      +      "const": true,
      +      "type": "boolean"
      +    },
      +    "generated_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "may_change_because": {
      +      "items": {
      +        "enum": [
      +          "live_ingestion",
      +          "open_window",
      +          "moving_window",
      +          "delayed_bot_classification"
      +        ],
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "provisional": {
      +      "const": true,
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "generated_at",
      +    "provisional",
      +    "may_change_because",
      +    "bot_classification_delay_minutes_max_by_rule",
      +    "bot_classification_delay_definitions",
      +    "delay_bounds_assume_scheduled_jobs_operational"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / period / properties / calendar_dates_touched
      Added value: +{
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedOutput schema / properties / period / properties / duration_hours
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / period / properties / reference_bounds
      Added value: +{
      +  "const": "start_inclusive_end_exclusive",
      +  "type": "string"
      +}
    • addedOutput schema / properties / period / properties / reference_end_at
      Added value: +{
      +  "format": "date-time",
      +  "type": "string"
      +}
    • addedOutput schema / properties / period / properties / reference_start_at
      Added value: +{
      +  "format": "date-time",
      +  "type": "string"
      +}
    • addedOutput schema / properties / period / properties / source_alignment
      Added value: +{
      +  "enum": [
      +    "exact",
      +    "mixed"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / period / properties / source_boundaries
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "applies_to": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "boundary": {
      +        "enum": [
      +          "reference_timestamp_window",
      +          "database_statement_time_window",
      +          "jst_calendar_dates_from_reference_start",
      +          "jst_calendar_dates_from_database_window_start",
      +          "jst_calendar_dates_inclusive",
      +          "account_registry_not_period_scoped",
      +          "derived_previous_daily_window",
      +          "derived_from_current_and_previous",
      +          "defined_per_output_item"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "applies_to",
      +      "boundary"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / period / properties / timezone
      Added value: +{
      +  "const": "Asia/Tokyo",
      +  "type": "string"
      +}
    • addedOutput schema / properties / period / properties / window_type
      Added value: +{
      +  "enum": [
      +    "rolling",
      +    "calendar_to_date",
      +    "comparison"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / period / required
      Previous value: -[
      -  "start",
      -  "end",
      -  "days"
      -]New value: +[
      +  "start",
      +  "end",
      +  "days",
      +  "reference_start_at",
      +  "reference_end_at",
      +  "window_type",
      +  "reference_bounds",
      +  "timezone",
      +  "duration_hours",
      +  "calendar_dates_touched",
      +  "source_alignment",
      +  "source_boundaries"
      +]
    • addedOutput schema / properties / period_boundary_definitions
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "account_registry_not_period_scoped": {
      +      "type": "string"
      +    },
      +    "database_statement_time_window": {
      +      "type": "string"
      +    },
      +    "defined_per_output_item": {
      +      "type": "string"
      +    },
      +    "derived_from_current_and_previous": {
      +      "type": "string"
      +    },
      +    "derived_previous_daily_window": {
      +      "type": "string"
      +    },
      +    "jst_calendar_dates_from_database_window_start": {
      +      "type": "string"
      +    },
      +    "jst_calendar_dates_from_reference_start": {
      +      "type": "string"
      +    },
      +    "jst_calendar_dates_inclusive": {
      +      "type": "string"
      +    },
      +    "path_syntax": {
      +      "const": "dot_path_with_array_wildcard",
      +      "type": "string"
      +    },
      +    "reference_timestamp_window": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "path_syntax",
      +    "reference_timestamp_window",
      +    "database_statement_time_window",
      +    "jst_calendar_dates_from_reference_start",
      +    "jst_calendar_dates_from_database_window_start",
      +    "jst_calendar_dates_inclusive",
      +    "account_registry_not_period_scoped",
      +    "derived_previous_daily_window",
      +    "derived_from_current_and_previous",
      +    "defined_per_output_item"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / previous_period
      Added value: +{
      +  "$ref": "#/properties/period"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "site_id",
      -  "dimension",
      -  "period",
      -  "presentation_hints"
      -]New value: +[
      +  "site_id",
      +  "dimension",
      +  "period",
      +  "data_freshness",
      +  "period_boundary_definitions",
      +  "presentation_hints"
      +]
  2. Changed2 schema fields changed
    • addedOutput schema / properties / presentation_hints
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "avoid_long_prose": {
      +      "const": true,
      +      "type": "boolean"
      +    },
      +    "prefer_compact_visual_summary": {
      +      "const": true,
      +      "type": "boolean"
      +    },
      +    "primary_metric": {
      +      "type": "string"
      +    },
      +    "recommended_followup_tools": {
      +      "items": {
      +        "enum": [
      +          "get_breakdown",
      +          "get_priority_insights"
      +        ],
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "recommended_sections": {
      +      "items": {
      +        "enum": [
      +          "kpi_summary",
      +          "trend",
      +          "ad_spend_context",
      +          "breakdown",
      +          "priority_insights",
      +          "recommended_actions"
      +        ],
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "response_type": {
      +      "enum": [
      +        "analytics_summary",
      +        "analytics_breakdown",
      +        "priority_insights"
      +      ],
      +      "type": "string"
      +    },
      +    "show_breakdown": {
      +      "type": "boolean"
      +    },
      +    "show_period_comparison": {
      +      "type": "boolean"
      +    },
      +    "show_priority_insights": {
      +      "type": "boolean"
      +    },
      +    "show_trend": {
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "response_type",
      +    "primary_metric",
      +    "show_period_comparison",
      +    "show_trend",
      +    "show_breakdown",
      +    "show_priority_insights",
      +    "prefer_compact_visual_summary",
      +    "avoid_long_prose",
      +    "recommended_followup_tools",
      +    "recommended_sections"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "site_id",
      -  "dimension",
      -  "period"
      -]New value: +[
      +  "site_id",
      +  "dimension",
      +  "period",
      +  "presentation_hints"
      +]
  3. Changed2 schema fields changed
    • addedInput schema / properties / visitor_type
      Added value: +{
      +  "enum": [
      +    "new",
      +    "returning"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / rows / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "aov_jpy": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "avg_dwell_seconds": {
      -          "type": "number"
      -        },
      -        "bot_excluded_count": {
      -          "type": "number"
      -        },
      -        "bounce_rate_pct": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "channel": {
      -          "type": "string"
      -        },
      -        "clicks": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "conversion_value_jpy": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "conversions": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "cvr": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "impressions": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "is_unattributed": {
      -          "type": "boolean"
      -        },
      -        "orders": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "revenue_jpy": {
      -          "type": "number"
      -        },
      -        "roas": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "rps_jpy": {
      -          "type": "number"
      -        },
      -        "saturation_pct": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "sessions": {
      -          "type": "number"
      -        },
      -        "spend_jpy": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "visitors": {
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "channel",
      -        "sessions",
      -        "revenue_jpy",
      -        "rps_jpy",
      -        "visitors",
      -        "avg_dwell_seconds",
      -        "bounce_rate_pct",
      -        "bot_excluded_count",
      -        "orders",
      -        "aov_jpy",
      -        "cvr",
      -        "spend_jpy",
      -        "impressions",
      -        "clicks",
      -        "conversions",
      -        "conversion_value_jpy",
      -        "roas",
      -        "saturation_pct"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "aov_jpy": {
      -          "type": "number"
      -        },
      -        "campaign": {
      -          "type": "string"
      -        },
      -        "cvr": {
      -          "type": "number"
      -        },
      -        "revenue_jpy": {
      -          "type": "number"
      -        },
      -        "rps_jpy": {
      -          "type": "number"
      -        },
      -        "sessions": {
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "campaign",
      -        "sessions",
      -        "revenue_jpy",
      -        "rps_jpy",
      -        "aov_jpy",
      -        "cvr"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "avg_position": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "avg_time_on_page_seconds": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "bounce_rate": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "clicks": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "ctr": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "impressions": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "page": {
      -          "type": "string"
      -        },
      -        "pageviews": {
      -          "type": "number"
      -        },
      -        "pageviews_change": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "title": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "unique_visitors": {
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "page",
      -        "pageviews",
      -        "unique_visitors",
      -        "avg_time_on_page_seconds",
      -        "bounce_rate",
      -        "pageviews_change",
      -        "title",
      -        "impressions",
      -        "clicks",
      -        "ctr",
      -        "avg_position"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "aov_jpy": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "avg_dwell_seconds": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "bot_excluded_count": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "bounce_rate_pct": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "channel": {
      +          "type": "string"
      +        },
      +        "clicks": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "conversion_value_jpy": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "conversions": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "cvr": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "impressions": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "is_unattributed": {
      +          "type": "boolean"
      +        },
      +        "orders": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "revenue_jpy": {
      +          "type": "number"
      +        },
      +        "roas": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "rps_jpy": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "saturation_pct": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "sessions": {
      +          "type": "number"
      +        },
      +        "spend_jpy": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "visitors": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        }
      +      },
      +      "required": [
      +        "channel",
      +        "sessions",
      +        "revenue_jpy",
      +        "rps_jpy",
      +        "visitors",
      +        "avg_dwell_seconds",
      +        "bounce_rate_pct",
      +        "bot_excluded_count",
      +        "orders",
      +        "aov_jpy",
      +        "cvr",
      +        "spend_jpy",
      +        "impressions",
      +        "clicks",
      +        "conversions",
      +        "conversion_value_jpy",
      +        "roas",
      +        "saturation_pct"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "aov_jpy": {
      +          "type": "number"
      +        },
      +        "campaign": {
      +          "type": "string"
      +        },
      +        "cvr": {
      +          "type": "number"
      +        },
      +        "revenue_jpy": {
      +          "type": "number"
      +        },
      +        "rps_jpy": {
      +          "type": "number"
      +        },
      +        "sessions": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "campaign",
      +        "sessions",
      +        "revenue_jpy",
      +        "rps_jpy",
      +        "aov_jpy",
      +        "cvr"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "avg_position": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "avg_time_on_page_seconds": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "bounce_rate": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "clicks": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "ctr": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "impressions": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "page": {
      +          "type": "string"
      +        },
      +        "pageviews": {
      +          "type": "number"
      +        },
      +        "pageviews_change": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "title": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "unique_visitors": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "page",
      +        "pageviews",
      +        "unique_visitors",
      +        "avg_time_on_page_seconds",
      +        "bounce_rate",
      +        "pageviews_change",
      +        "title",
      +        "impressions",
      +        "clicks",
      +        "ctr",
      +        "avg_position"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  }
      +]
  4. Changed1 schema field changed
    • changedOutput schema / properties / rows / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "avg_dwell_seconds": {
      -          "type": "number"
      -        },
      -        "bot_excluded_count": {
      -          "type": "number"
      -        },
      -        "bounce_rate_pct": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "channel": {
      -          "type": "string"
      -        },
      -        "clicks": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "conversion_value_jpy": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "conversions": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "impressions": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "is_unattributed": {
      -          "type": "boolean"
      -        },
      -        "revenue_jpy": {
      -          "type": "number"
      -        },
      -        "roas": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "rps_jpy": {
      -          "type": "number"
      -        },
      -        "saturation_pct": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "sessions": {
      -          "type": "number"
      -        },
      -        "spend_jpy": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "visitors": {
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "channel",
      -        "sessions",
      -        "revenue_jpy",
      -        "rps_jpy",
      -        "visitors",
      -        "avg_dwell_seconds",
      -        "bounce_rate_pct",
      -        "bot_excluded_count",
      -        "spend_jpy",
      -        "impressions",
      -        "clicks",
      -        "conversions",
      -        "conversion_value_jpy",
      -        "roas",
      -        "saturation_pct"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "aov_jpy": {
      -          "type": "number"
      -        },
      -        "campaign": {
      -          "type": "string"
      -        },
      -        "cvr": {
      -          "type": "number"
      -        },
      -        "revenue_jpy": {
      -          "type": "number"
      -        },
      -        "rps_jpy": {
      -          "type": "number"
      -        },
      -        "sessions": {
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "campaign",
      -        "sessions",
      -        "revenue_jpy",
      -        "rps_jpy",
      -        "aov_jpy",
      -        "cvr"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "avg_position": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "avg_time_on_page_seconds": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "bounce_rate": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "clicks": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "ctr": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "impressions": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "page": {
      -          "type": "string"
      -        },
      -        "pageviews": {
      -          "type": "number"
      -        },
      -        "pageviews_change": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "title": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "unique_visitors": {
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "page",
      -        "pageviews",
      -        "unique_visitors",
      -        "avg_time_on_page_seconds",
      -        "bounce_rate",
      -        "pageviews_change",
      -        "title",
      -        "impressions",
      -        "clicks",
      -        "ctr",
      -        "avg_position"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "aov_jpy": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "avg_dwell_seconds": {
      +          "type": "number"
      +        },
      +        "bot_excluded_count": {
      +          "type": "number"
      +        },
      +        "bounce_rate_pct": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "channel": {
      +          "type": "string"
      +        },
      +        "clicks": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "conversion_value_jpy": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "conversions": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "cvr": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "impressions": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "is_unattributed": {
      +          "type": "boolean"
      +        },
      +        "orders": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "revenue_jpy": {
      +          "type": "number"
      +        },
      +        "roas": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "rps_jpy": {
      +          "type": "number"
      +        },
      +        "saturation_pct": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "sessions": {
      +          "type": "number"
      +        },
      +        "spend_jpy": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "visitors": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "channel",
      +        "sessions",
      +        "revenue_jpy",
      +        "rps_jpy",
      +        "visitors",
      +        "avg_dwell_seconds",
      +        "bounce_rate_pct",
      +        "bot_excluded_count",
      +        "orders",
      +        "aov_jpy",
      +        "cvr",
      +        "spend_jpy",
      +        "impressions",
      +        "clicks",
      +        "conversions",
      +        "conversion_value_jpy",
      +        "roas",
      +        "saturation_pct"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "aov_jpy": {
      +          "type": "number"
      +        },
      +        "campaign": {
      +          "type": "string"
      +        },
      +        "cvr": {
      +          "type": "number"
      +        },
      +        "revenue_jpy": {
      +          "type": "number"
      +        },
      +        "rps_jpy": {
      +          "type": "number"
      +        },
      +        "sessions": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "campaign",
      +        "sessions",
      +        "revenue_jpy",
      +        "rps_jpy",
      +        "aov_jpy",
      +        "cvr"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "avg_position": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "avg_time_on_page_seconds": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "bounce_rate": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "clicks": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "ctr": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "impressions": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "page": {
      +          "type": "string"
      +        },
      +        "pageviews": {
      +          "type": "number"
      +        },
      +        "pageviews_change": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "title": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "unique_visitors": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "page",
      +        "pageviews",
      +        "unique_visitors",
      +        "avg_time_on_page_seconds",
      +        "bounce_rate",
      +        "pageviews_change",
      +        "title",
      +        "impressions",
      +        "clicks",
      +        "ctr",
      +        "avg_position"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  }
      +]
  5. Changed1 schema field changed
    • changedOutput schema / properties / rows / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "avg_dwell_seconds": {
      -          "type": "number"
      -        },
      -        "bot_excluded_count": {
      -          "type": "number"
      -        },
      -        "bounce_rate_pct": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "channel": {
      -          "type": "string"
      -        },
      -        "clicks": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "conversion_value_jpy": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "conversions": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "impressions": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "is_unattributed": {
      -          "type": "boolean"
      -        },
      -        "revenue_jpy": {
      -          "type": "number"
      -        },
      -        "roas": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "rps_jpy": {
      -          "type": "number"
      -        },
      -        "saturation_pct": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "sessions": {
      -          "type": "number"
      -        },
      -        "spend_jpy": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "visitors": {
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "channel",
      -        "sessions",
      -        "revenue_jpy",
      -        "rps_jpy",
      -        "visitors",
      -        "avg_dwell_seconds",
      -        "bounce_rate_pct",
      -        "bot_excluded_count",
      -        "spend_jpy",
      -        "impressions",
      -        "clicks",
      -        "conversions",
      -        "conversion_value_jpy",
      -        "roas",
      -        "saturation_pct"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "aov_jpy": {
      -          "type": "number"
      -        },
      -        "campaign": {
      -          "type": "string"
      -        },
      -        "cvr": {
      -          "type": "number"
      -        },
      -        "revenue_jpy": {
      -          "type": "number"
      -        },
      -        "rps_jpy": {
      -          "type": "number"
      -        },
      -        "sessions": {
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "campaign",
      -        "sessions",
      -        "revenue_jpy",
      -        "rps_jpy",
      -        "aov_jpy",
      -        "cvr"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "avg_position": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "avg_time_on_page_seconds": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "bounce_rate": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "clicks": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "ctr": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "impressions": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "page": {
      -          "type": "string"
      -        },
      -        "pageviews": {
      -          "type": "number"
      -        },
      -        "pageviews_change": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "unique_visitors": {
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "page",
      -        "pageviews",
      -        "unique_visitors",
      -        "avg_time_on_page_seconds",
      -        "bounce_rate",
      -        "pageviews_change",
      -        "impressions",
      -        "clicks",
      -        "ctr",
      -        "avg_position"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "avg_dwell_seconds": {
      +          "type": "number"
      +        },
      +        "bot_excluded_count": {
      +          "type": "number"
      +        },
      +        "bounce_rate_pct": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "channel": {
      +          "type": "string"
      +        },
      +        "clicks": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "conversion_value_jpy": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "conversions": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "impressions": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "is_unattributed": {
      +          "type": "boolean"
      +        },
      +        "revenue_jpy": {
      +          "type": "number"
      +        },
      +        "roas": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "rps_jpy": {
      +          "type": "number"
      +        },
      +        "saturation_pct": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "sessions": {
      +          "type": "number"
      +        },
      +        "spend_jpy": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "visitors": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "channel",
      +        "sessions",
      +        "revenue_jpy",
      +        "rps_jpy",
      +        "visitors",
      +        "avg_dwell_seconds",
      +        "bounce_rate_pct",
      +        "bot_excluded_count",
      +        "spend_jpy",
      +        "impressions",
      +        "clicks",
      +        "conversions",
      +        "conversion_value_jpy",
      +        "roas",
      +        "saturation_pct"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "aov_jpy": {
      +          "type": "number"
      +        },
      +        "campaign": {
      +          "type": "string"
      +        },
      +        "cvr": {
      +          "type": "number"
      +        },
      +        "revenue_jpy": {
      +          "type": "number"
      +        },
      +        "rps_jpy": {
      +          "type": "number"
      +        },
      +        "sessions": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "campaign",
      +        "sessions",
      +        "revenue_jpy",
      +        "rps_jpy",
      +        "aov_jpy",
      +        "cvr"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "avg_position": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "avg_time_on_page_seconds": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "bounce_rate": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "clicks": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "ctr": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "impressions": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "page": {
      +          "type": "string"
      +        },
      +        "pageviews": {
      +          "type": "number"
      +        },
      +        "pageviews_change": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "title": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "unique_visitors": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "page",
      +        "pageviews",
      +        "unique_visitors",
      +        "avg_time_on_page_seconds",
      +        "bounce_rate",
      +        "pageviews_change",
      +        "title",
      +        "impressions",
      +        "clicks",
      +        "ctr",
      +        "avg_position"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  }
      +]
  6. Changed1 schema field changed
    • changedOutput schema / properties / rows / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "avg_dwell_seconds": {
      -          "type": "number"
      -        },
      -        "bot_excluded_count": {
      -          "type": "number"
      -        },
      -        "bounce_rate_pct": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "channel": {
      -          "type": "string"
      -        },
      -        "clicks": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "conversion_value_jpy": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "conversions": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "impressions": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "is_unattributed": {
      -          "type": "boolean"
      -        },
      -        "revenue_jpy": {
      -          "type": "number"
      -        },
      -        "roas": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "rps_jpy": {
      -          "type": "number"
      -        },
      -        "saturation_pct": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "sessions": {
      -          "type": "number"
      -        },
      -        "spend_jpy": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "visitors": {
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "channel",
      -        "sessions",
      -        "revenue_jpy",
      -        "rps_jpy",
      -        "visitors",
      -        "avg_dwell_seconds",
      -        "bounce_rate_pct",
      -        "bot_excluded_count",
      -        "spend_jpy",
      -        "impressions",
      -        "clicks",
      -        "conversions",
      -        "conversion_value_jpy",
      -        "roas",
      -        "saturation_pct"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "aov_jpy": {
      -          "type": "number"
      -        },
      -        "campaign": {
      -          "type": "string"
      -        },
      -        "cvr": {
      -          "type": "number"
      -        },
      -        "revenue_jpy": {
      -          "type": "number"
      -        },
      -        "rps_jpy": {
      -          "type": "number"
      -        },
      -        "sessions": {
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "campaign",
      -        "sessions",
      -        "revenue_jpy",
      -        "rps_jpy",
      -        "aov_jpy",
      -        "cvr"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "avg_time_on_page_seconds": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "bounce_rate": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "page": {
      -          "type": "string"
      -        },
      -        "pageviews": {
      -          "type": "number"
      -        },
      -        "pageviews_change": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "unique_visitors": {
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "page",
      -        "pageviews",
      -        "unique_visitors",
      -        "avg_time_on_page_seconds",
      -        "bounce_rate",
      -        "pageviews_change"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "avg_dwell_seconds": {
      +          "type": "number"
      +        },
      +        "bot_excluded_count": {
      +          "type": "number"
      +        },
      +        "bounce_rate_pct": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "channel": {
      +          "type": "string"
      +        },
      +        "clicks": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "conversion_value_jpy": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "conversions": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "impressions": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "is_unattributed": {
      +          "type": "boolean"
      +        },
      +        "revenue_jpy": {
      +          "type": "number"
      +        },
      +        "roas": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "rps_jpy": {
      +          "type": "number"
      +        },
      +        "saturation_pct": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "sessions": {
      +          "type": "number"
      +        },
      +        "spend_jpy": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "visitors": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "channel",
      +        "sessions",
      +        "revenue_jpy",
      +        "rps_jpy",
      +        "visitors",
      +        "avg_dwell_seconds",
      +        "bounce_rate_pct",
      +        "bot_excluded_count",
      +        "spend_jpy",
      +        "impressions",
      +        "clicks",
      +        "conversions",
      +        "conversion_value_jpy",
      +        "roas",
      +        "saturation_pct"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "aov_jpy": {
      +          "type": "number"
      +        },
      +        "campaign": {
      +          "type": "string"
      +        },
      +        "cvr": {
      +          "type": "number"
      +        },
      +        "revenue_jpy": {
      +          "type": "number"
      +        },
      +        "rps_jpy": {
      +          "type": "number"
      +        },
      +        "sessions": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "campaign",
      +        "sessions",
      +        "revenue_jpy",
      +        "rps_jpy",
      +        "aov_jpy",
      +        "cvr"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "avg_position": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "avg_time_on_page_seconds": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "bounce_rate": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "clicks": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "ctr": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "impressions": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "page": {
      +          "type": "string"
      +        },
      +        "pageviews": {
      +          "type": "number"
      +        },
      +        "pageviews_change": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "unique_visitors": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "page",
      +        "pageviews",
      +        "unique_visitors",
      +        "avg_time_on_page_seconds",
      +        "bounce_rate",
      +        "pageviews_change",
      +        "impressions",
      +        "clicks",
      +        "ctr",
      +        "avg_position"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  }
      +]
  7. Changed3 schema fields changed
    • addedInput schema / properties / country
      Added value: +{
      +  "maxLength": 2,
      +  "minLength": 2,
      +  "type": "string"
      +}
    • addedInput schema / properties / device
      Added value: +{
      +  "enum": [
      +    "mobile",
      +    "desktop",
      +    "tablet"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / rows / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "avg_dwell_seconds": {
      -          "type": "number"
      -        },
      -        "bot_excluded_count": {
      -          "type": "number"
      -        },
      -        "bounce_rate_pct": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "channel": {
      -          "type": "string"
      -        },
      -        "clicks": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "conversion_value_jpy": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "conversions": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "impressions": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "is_unattributed": {
      -          "type": "boolean"
      -        },
      -        "revenue_jpy": {
      -          "type": "number"
      -        },
      -        "roas": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "rps_jpy": {
      -          "type": "number"
      -        },
      -        "saturation_pct": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "sessions": {
      -          "type": "number"
      -        },
      -        "spend_jpy": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "visitors": {
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "channel",
      -        "sessions",
      -        "revenue_jpy",
      -        "rps_jpy",
      -        "visitors",
      -        "avg_dwell_seconds",
      -        "bounce_rate_pct",
      -        "bot_excluded_count",
      -        "spend_jpy",
      -        "impressions",
      -        "clicks",
      -        "conversions",
      -        "conversion_value_jpy",
      -        "roas",
      -        "saturation_pct"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "aov_jpy": {
      -          "type": "number"
      -        },
      -        "campaign": {
      -          "type": "string"
      -        },
      -        "cvr": {
      -          "type": "number"
      -        },
      -        "revenue_jpy": {
      -          "type": "number"
      -        },
      -        "rps_jpy": {
      -          "type": "number"
      -        },
      -        "sessions": {
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "campaign",
      -        "sessions",
      -        "revenue_jpy",
      -        "rps_jpy",
      -        "aov_jpy",
      -        "cvr"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "avg_time_on_page_seconds": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "bounce_rate": {
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "page": {
      -          "type": "string"
      -        },
      -        "pageviews": {
      -          "type": "number"
      -        },
      -        "unique_visitors": {
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "page",
      -        "pageviews",
      -        "unique_visitors",
      -        "avg_time_on_page_seconds",
      -        "bounce_rate"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "avg_dwell_seconds": {
      +          "type": "number"
      +        },
      +        "bot_excluded_count": {
      +          "type": "number"
      +        },
      +        "bounce_rate_pct": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "channel": {
      +          "type": "string"
      +        },
      +        "clicks": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "conversion_value_jpy": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "conversions": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "impressions": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "is_unattributed": {
      +          "type": "boolean"
      +        },
      +        "revenue_jpy": {
      +          "type": "number"
      +        },
      +        "roas": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "rps_jpy": {
      +          "type": "number"
      +        },
      +        "saturation_pct": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "sessions": {
      +          "type": "number"
      +        },
      +        "spend_jpy": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "visitors": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "channel",
      +        "sessions",
      +        "revenue_jpy",
      +        "rps_jpy",
      +        "visitors",
      +        "avg_dwell_seconds",
      +        "bounce_rate_pct",
      +        "bot_excluded_count",
      +        "spend_jpy",
      +        "impressions",
      +        "clicks",
      +        "conversions",
      +        "conversion_value_jpy",
      +        "roas",
      +        "saturation_pct"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "aov_jpy": {
      +          "type": "number"
      +        },
      +        "campaign": {
      +          "type": "string"
      +        },
      +        "cvr": {
      +          "type": "number"
      +        },
      +        "revenue_jpy": {
      +          "type": "number"
      +        },
      +        "rps_jpy": {
      +          "type": "number"
      +        },
      +        "sessions": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "campaign",
      +        "sessions",
      +        "revenue_jpy",
      +        "rps_jpy",
      +        "aov_jpy",
      +        "cvr"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "avg_time_on_page_seconds": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "bounce_rate": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "page": {
      +          "type": "string"
      +        },
      +        "pageviews": {
      +          "type": "number"
      +        },
      +        "pageviews_change": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "unique_visitors": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "page",
      +        "pageviews",
      +        "unique_visitors",
      +        "avg_time_on_page_seconds",
      +        "bounce_rate",
      +        "pageviews_change"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  }
      +]
  8. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "assumptions": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "attribution_model": {
      +      "enum": [
      +        "last_touch",
      +        "first_touch",
      +        "linear",
      +        "time_decay"
      +      ],
      +      "type": "string"
      +    },
      +    "basis": {
      +      "type": "string"
      +    },
      +    "dimension": {
      +      "enum": [
      +        "channel",
      +        "page",
      +        "session_attribute"
      +      ],
      +      "type": "string"
      +    },
      +    "filter": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "channel": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "channel"
      +      ],
      +      "type": "object"
      +    },
      +    "limitations": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "notes": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "path": {
      +      "enum": [
      +        "A",
      +        "B"
      +      ],
      +      "type": "string"
      +    },
      +    "period": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "days": {
      +          "type": "number"
      +        },
      +        "end": {
      +          "type": "string"
      +        },
      +        "start": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "start",
      +        "end",
      +        "days"
      +      ],
      +      "type": "object"
      +    },
      +    "revenue_breakdown": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "attributed_jpy": {
      +          "type": "number"
      +        },
      +        "total_event_jpy": {
      +          "type": "number"
      +        },
      +        "unattributed_jpy": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "total_event_jpy",
      +        "attributed_jpy",
      +        "unattributed_jpy"
      +      ],
      +      "type": "object"
      +    },
      +    "rows": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "avg_dwell_seconds": {
      +                "type": "number"
      +              },
      +              "bot_excluded_count": {
      +                "type": "number"
      +              },
      +              "bounce_rate_pct": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "channel": {
      +                "type": "string"
      +              },
      +              "clicks": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "conversion_value_jpy": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "conversions": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "impressions": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "is_unattributed": {
      +                "type": "boolean"
      +              },
      +              "revenue_jpy": {
      +                "type": "number"
      +              },
      +              "roas": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "rps_jpy": {
      +                "type": "number"
      +              },
      +              "saturation_pct": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "sessions": {
      +                "type": "number"
      +              },
      +              "spend_jpy": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "visitors": {
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "channel",
      +              "sessions",
      +              "revenue_jpy",
      +              "rps_jpy",
      +              "visitors",
      +              "avg_dwell_seconds",
      +              "bounce_rate_pct",
      +              "bot_excluded_count",
      +              "spend_jpy",
      +              "impressions",
      +              "clicks",
      +              "conversions",
      +              "conversion_value_jpy",
      +              "roas",
      +              "saturation_pct"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "aov_jpy": {
      +                "type": "number"
      +              },
      +              "campaign": {
      +                "type": "string"
      +              },
      +              "cvr": {
      +                "type": "number"
      +              },
      +              "revenue_jpy": {
      +                "type": "number"
      +              },
      +              "rps_jpy": {
      +                "type": "number"
      +              },
      +              "sessions": {
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "campaign",
      +              "sessions",
      +              "revenue_jpy",
      +              "rps_jpy",
      +              "aov_jpy",
      +              "cvr"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "avg_time_on_page_seconds": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "bounce_rate": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "page": {
      +                "type": "string"
      +              },
      +              "pageviews": {
      +                "type": "number"
      +              },
      +              "unique_visitors": {
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "page",
      +              "pageviews",
      +              "unique_visitors",
      +              "avg_time_on_page_seconds",
      +              "bounce_rate"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        }
      +      ]
      +    },
      +    "session_attributes": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "countries": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "country": {
      +                "type": "string"
      +              },
      +              "name": {
      +                "type": "string"
      +              },
      +              "revenue": {
      +                "type": "number"
      +              },
      +              "rps": {
      +                "type": "number"
      +              },
      +              "sessions": {
      +                "type": "number"
      +              },
      +              "share_pct": {
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "country",
      +              "name",
      +              "sessions",
      +              "revenue",
      +              "rps",
      +              "share_pct"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "dayofweek": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "day": {
      +                "type": "string"
      +              },
      +              "iso_dow": {
      +                "type": "number"
      +              },
      +              "revenue": {
      +                "type": "number"
      +              },
      +              "rps": {
      +                "type": "number"
      +              },
      +              "sessions": {
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "day",
      +              "iso_dow",
      +              "sessions",
      +              "revenue",
      +              "rps"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "devices": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "cvr": {
      +                "type": "number"
      +              },
      +              "device": {
      +                "type": "string"
      +              },
      +              "revenue": {
      +                "type": "number"
      +              },
      +              "rps": {
      +                "type": "number"
      +              },
      +              "sessions": {
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "device",
      +              "sessions",
      +              "revenue",
      +              "rps",
      +              "cvr"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "timeslots": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "hour_start": {
      +                "type": "number"
      +              },
      +              "revenue": {
      +                "type": "number"
      +              },
      +              "rps": {
      +                "type": "number"
      +              },
      +              "sessions": {
      +                "type": "number"
      +              },
      +              "slot": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "slot",
      +              "hour_start",
      +              "sessions",
      +              "revenue",
      +              "rps"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "visitor_types": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "aov": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "cvr": {
      +                "type": "number"
      +              },
      +              "is_new_visitor": {
      +                "type": "boolean"
      +              },
      +              "revenue": {
      +                "type": "number"
      +              },
      +              "rps": {
      +                "type": "number"
      +              },
      +              "sessions": {
      +                "type": "number"
      +              },
      +              "type": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "type",
      +              "is_new_visitor",
      +              "sessions",
      +              "revenue",
      +              "rps",
      +              "cvr",
      +              "aov"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "devices",
      +        "timeslots",
      +        "dayofweek",
      +        "visitor_types",
      +        "countries"
      +      ],
      +      "type": "object"
      +    },
      +    "site_id": {
      +      "type": "string"
      +    },
      +    "total_pages": {
      +      "type": "number"
      +    },
      +    "total_pageviews": {
      +      "type": "number"
      +    },
      +    "truncated": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "omitted_pages": {
      +              "type": "number"
      +            },
      +            "omitted_pageviews": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "omitted_pages",
      +            "omitted_pageviews"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "site_id",
      +    "dimension",
      +    "period"
      +  ],
      +  "type": "object"
      +}
  9. Changed1 schema field changed
    • addedInput schema / properties / attribution_model
      Added value: +{
      +  "default": "last_touch",
      +  "enum": [
      +    "last_touch",
      +    "first_touch",
      +    "linear",
      +    "time_decay"
      +  ],
      +  "type": "string"
      +}
  10. Added

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes far beyond the readOnlyHint/openWorldHint annotations, disclosing subtle behaviors: bot_excluded_count semantics, the Unattributed row, ROAS rounding to 2 decimals, the database_statement_time_window vs reference_timestamp_window boundary, AOV/CVR nulled below 10 orders, case-sensitive exact channel matching, the DATE-based visitor_type rule, InvalidParams rejection for visitor_type+filter.channel, and non-backfilled titles. This is exemplary behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence earns its place — there is no fluff — and the length is defensible given 9 parameters and 3 dimensions. However, the entire description is one dense, deeply nested wall of text with parentheticals inside parentheticals, which undermines reliable parsing; per-dimension or per-parameter structure would make the same information materially more usable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description correctly focuses on call semantics rather than return shape, and it covers defaults, constraints, parameter interactions, edge cases, and rejection conditions comprehensively. The closed-world annotation (openWorldHint=false) is well-served: an agent has everything needed to invoke this tool correctly across all three dimensions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden for all 9 parameters — and it succeeds. Every parameter gets meaningful semantics: dimension values are each explained, attribution_model lists all four options with default, filter.channel gets exact-match/case rules, limit gets default 20/max 200, visitor_type gets the split rule and its exclusions, and site_id gets authentication context. No parameter is left semantically bare.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with 'Consolidated breakdown tool' and immediately enumerates the three dimensions ('channel', 'page', 'session_attribute') with what each returns, giving a specific verb+resource that matches the title 'Revenue breakdown by dimension'. The consolidated, multi-dimension scope clearly differentiates it from narrower siblings like get_keyword_performance or get_page_trend.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides extensive internal routing: which dimension to pick, that filter only applies to dimension='channel', limit only to 'page', and which metrics are model-dependent vs model-independent. However, it never names sibling tools or states when an agent should prefer get_page_trend or get_keyword_performance instead, so external alternatives are left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources