Google Analytics · Schema
McfData
Multi-Channel Funnels data for a given view (profile).
AnalyticsDataGoogleMetricsReportingWeb AnalyticsMachine-LearningAttribution
Properties
| Name | Type | Description |
|---|---|---|
| columnHeaders | array | Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request. |
| containsSampledData | boolean | Determines if the Analytics data contains sampled data. |
| id | string | Unique ID for this data response. |
| itemsPerPage | integer | The maximum number of rows the response can contain, regardless of the actual number of rows returned. Its value ranges from 1 to 10,000 with a value of 1000 by default, or otherwise specified by the |
| kind | string | Resource type. |
| nextLink | string | Link to next page for this Analytics data query. |
| previousLink | string | Link to previous page for this Analytics data query. |
| profileInfo | object | Information for the view (profile), for which the Analytics data was requested. |
| query | object | Analytics data request query parameters. |
| rows | array | Analytics data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request. |
| sampleSize | string | The number of samples used to calculate the result. |
| sampleSpace | string | Total size of the sample space from which the samples were selected. |
| selfLink | string | Link to this page. |
| totalResults | integer | The total number of rows for the query, regardless of the number of rows in the response. |
| totalsForAllResults | object | Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/McfData",
"title": "McfData",
"description": "Multi-Channel Funnels data for a given view (profile).",
"properties": {
"columnHeaders": {
"description": "Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.",
"items": {
"properties": {
"columnType": {
"description": "Column Type. Either DIMENSION or METRIC.",
"type": "string"
},
"dataType": {
"description": "Data type. Dimension and metric values data types such as INTEGER, DOUBLE, CURRENCY, MCF_SEQUENCE etc.",
"type": "string"
},
"name": {
"description": "Column name.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"containsSampledData": {
"description": "Determines if the Analytics data contains sampled data.",
"type": "boolean"
},
"id": {
"description": "Unique ID for this data response.",
"type": "string"
},
"itemsPerPage": {
"description": "The maximum number of rows the response can contain, regardless of the actual number of rows returned. Its value ranges from 1 to 10,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.",
"format": "int32",
"type": "integer"
},
"kind": {
"default": "analytics#mcfData",
"description": "Resource type.",
"type": "string"
},
"nextLink": {
"description": "Link to next page for this Analytics data query.",
"type": "string"
},
"previousLink": {
"description": "Link to previous page for this Analytics data query.",
"type": "string"
},
"profileInfo": {
"description": "Information for the view (profile), for which the Analytics data was requested.",
"properties": {
"accountId": {
"description": "Account ID to which this view (profile) belongs.",
"type": "string"
},
"internalWebPropertyId": {
"description": "Internal ID for the web property to which this view (profile) belongs.",
"type": "string"
},
"profileId": {
"description": "View (Profile) ID.",
"type": "string"
},
"profileName": {
"description": "View (Profile) name.",
"type": "string"
},
"tableId": {
"description": "Table ID for view (profile).",
"type": "string"
},
"webPropertyId": {
"description": "Web Property ID to which this view (profile) belongs.",
"type": "string"
}
},
"type": "object"
},
"query": {
"description": "Analytics data request query parameters.",
"properties": {
"dimensions": {
"description": "List of analytics dimensions.",
"type": "string"
},
"end-date": {
"description": "End date.",
"type": "string"
},
"filters": {
"description": "Comma-separated list of dimension or metric filters.",
"type": "string"
},
"ids": {
"description": "Unique table ID.",
"type": "string"
},
"max-results": {
"description": "Maximum results per page.",
"format": "int32",
"type": "integer"
},
"metrics": {
"description": "List of analytics metrics.",
"items": {
"type": "string"
},
"type": "array"
},
"samplingLevel": {
"description": "Desired sampling level",
"type": "string"
},
"segment": {
"description": "Analytics advanced segment.",
"type": "string"
},
"sort": {
"description": "List of dimensions or metrics based on which Analytics data is sorted.",
"items": {
"type": "string"
},
"type": "array"
},
"start-date": {
"description": "Start date.",
"type": "string"
},
"start-index": {
"description": "Start index.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"rows": {
"description": "Analytics data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request.",
"items": {
"items": {
"description": "A union object representing a dimension or metric value. Only one of \"primitiveValue\" or \"conversionPathValue\" attribute will be populated.",
"properties": {
"conversionPathValue": {
"description": "A conversion path dimension value, containing a list of interactions with their attributes.",
"items": {
"properties": {
"interactionType": {
"description": "Type of an interaction on conversion path. Such as CLICK, IMPRESSION etc.",
"type": "string"
},
"nodeValue": {
"description": "Node value of an interaction on conversion path. Such as source, medium etc.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"primitiveValue": {
"description": "A primitive dimension value. A primitive metric value.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"type": "array"
},
"sampleSize": {
"description": "The number of samples used to calculate the result.",
"format": "int64",
"type": "string"
},
"sampleSpace": {
"description": "Total size of the sample space from which the samples were selected.",
"format": "int64",
"type": "string"
},
"selfLink": {
"description": "Link to this page.",
"type": "string"
},
"totalResults": {
"description": "The total number of rows for the query, regardless of the number of rows in the response.",
"format": "int32",
"type": "integer"
},
"totalsForAllResults": {
"additionalProperties": {
"description": "Key-value pair for the total value of a metric. Key is the metric name and the value is the total value for that metric.",
"type": "string"
},
"description": "Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request.",
"type": "object"
}
},
"type": "object"
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/google-analytics-mcfdata"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.