General
Data Sources | General
Fields & Formulas
Data Sources | Fields & Formulas
Connections
Data Sources | Connections
Creating & Sharing
Reports | Creating & Sharing
Report Editing
Reports | Editing
Report Config
Reports | Report Config
Chart Cards
Reports | Chart Cards
Content Cards
Reports | Content Cards
General
Data Chat | General
General
AI Visibility | General
General
AI | General
MCP (Model Context Protocol)
AI | MCP (Model Context Protocol)
General
Clients | General
General
Integrations | General
Webhook — Local & Reviews
Integrations | Webhook — Local & Reviews
Webhook — Automation Payloads
Integrations | Webhook — Automation Payloads
Webhook — Other
Integrations | Webhook — Other
Account & Billing
Settings | Account & Billing
Users
Settings | Users
Comments & Notes
Settings | Comments & Notes
Notifications
Settings | Notifications
FAQ
Settings | FAQ
Other
Settings | Other
General
KPI Forecasting | General
Settings & Status
KPI Forecasting | Settings & Status
Seasonality
KPI Forecasting | Seasonality
Metrics by Source
KPI Forecasting | Metrics by Source
General
Budget Tracking | General
General
Anomaly Detection | General
General
Automation Jobs | General
Change History
Automation Jobs | Change History
URL & Page Checkers
Automation Jobs | URL & Page Checkers
Local & Reviews
Automation Jobs | Local & Reviews
Search Console
Automation Jobs | Search Console
Managing Insights
Insights | Managing Insights
Change History
Insights | Change History
URL & Page
Insights | URL & Page
Local & Reviews
Insights | Local & Reviews
Other Insight Types
Insights | Other Insight Types
General
Local Listings | General
Profiles & Content
Local Listings | Profiles & Content
Performance & Activity
Local Listings | Performance & Activity
Media
Local Listings | Media
Categories & Services
Local Listings | Categories & Services
General
Reviews | General
General
Social Posts | General
Creating Posts
Social Posts | Creating Posts
Managing Posts
Social Posts | Managing Posts
Pipelines
Data Warehouse | Pipelines
Access & Credits
Data Warehouse | Access & Credits
Source Fields
Data Warehouse | Source Fields
Data Studio
Data Warehouse | Data Studio
BigQuery
Data Warehouse | BigQuery
General
Clients | General
General
Integrations | General
MCP
Integrations | MCP
Webhook — Automation Payloads
Integrations | Webhook — Automation Payloads
Webhook — Local & Reviews
Integrations | Webhook — Local & Reviews
Webhook — Other
Integrations | Webhook — Other
Account & Billing
Settings | Account & Billing
Users
Settings | Users
Comments & Notes
Settings | Comments & Notes
Notifications
Settings | Notifications
FAQ
Settings | FAQ
Other
Settings | Other
Settings | Account & Billing
Insights | Managing Insights
Integrations | General
Settings | Comments & Notes
Settings | Users
Reports | Creating & Sharing
AI | General
AI | General
AI Visibility | General
AI Visibility | General
AI Visibility | General
Integrations | Webhook — Other
Reports | Content Cards
Anomaly Detection | General
Anomaly Detection | General
Anomaly Detection | General
Insights | Other Insight Types
Anomaly Detection | General
Integrations | Webhook — Other
Anomaly Detection | General
Local Listings | General
Reviews | General
AI Visibility | General
Reports | Chart Cards
Local Listings | Profiles & Content
Data Warehouse | Pipelines
Integrations | Webhook — Automation Payloads
Integrations | Webhook — Automation Payloads
Integrations | Webhook — Automation Payloads
Integrations | Webhook — Automation Payloads
Integrations | Webhook — Local & Reviews
Integrations | Webhook — Automation Payloads
Integrations | Webhook — Local & Reviews
Integrations | Webhook — Local & Reviews
Integrations | Webhook — Local & Reviews
Integrations | Webhook — Automation Payloads
Automation Jobs | General
Automation Jobs | General
Integrations | Webhook — Automation Payloads
Integrations | Webhook — Automation Payloads
Integrations | Webhook — Automation Payloads
Automation Jobs | General
Integrations | Webhook — Automation Payloads
Integrations | Webhook — Automation Payloads
Insights | Managing Insights
Reports | Chart Cards
Reports | Creating & Sharing
Budget Tracking | General
Budget Tracking | General
Budget Tracking | General
Budget Tracking | General
Budget Tracking | General
Budget Tracking | General
Integrations | Webhook — Other
Budget Tracking | General
Budget Tracking | General
AI | MCP (Model Context Protocol)
Local Listings | General
Local Listings | Media
Social Posts | General
Settings | Account & Billing
Reports | Editing
Reports | Creating & Sharing
Local Listings | Categories & Services
Local Listings | Categories & Services
Local Listings | Categories & Services
Settings | Users
AI Visibility | General
Settings | Other
Clients | General
Clients | General
Clients | General
Reports | Chart Cards
Settings | Notifications
AI Visibility | General
Data Sources | General
Integrations | General
Integrations | General
AI | MCP (Model Context Protocol)
AI | MCP (Model Context Protocol)
Data Sources | Connections
Data Sources | Connections
Data Sources | Connections
Data Sources | Connections
Data Sources | Connections
Data Sources | Connections
Data Sources | Connections
Data Sources | Connections
Data Sources | Connections
Local Listings | Media
Data Warehouse | Data Studio
Data Warehouse | Data Studio
Data Warehouse | Data Studio
KPI Forecasting | General
Reports | Creating & Sharing
Reports | Report Config
Reports | Creating & Sharing
Clients | General
Data Warehouse | Data Studio
KPI Forecasting | General
Data Warehouse | Pipelines
Data Warehouse | BigQuery
Social Posts | Creating Posts
Automation Jobs | General
Social Posts | Creating Posts
Anomaly Detection | General
Automation Jobs | General
Reports | Editing
Data Chat | General
Data Chat | General
Data Sources | General
Data Sources | General
Data Sources | General
Data Warehouse | Data Studio
Data Warehouse | Access & Credits
Data Warehouse | Access & Credits
Data Warehouse | Access & Credits
Clients | General
Settings | Users
Settings | Comments & Notes
Data Sources | General
Reports | Chart Cards
Social Posts | Managing Posts
Social Posts | Creating Posts
Data Warehouse | Data Studio
Settings | Notifications
Data Warehouse | Pipelines
Settings | Comments & Notes
Settings | Notifications
Settings | Notifications
Reports | Creating & Sharing
Reports | Creating & Sharing
Social Posts | Managing Posts
Data Warehouse | Pipelines
KPI Forecasting | Metrics by Source
Automation Jobs | URL & Page Checkers
Insights | URL & Page
Data Warehouse | Source Fields
KPI Forecasting | Metrics by Source
Reviews | General
Reports | Report Config
Reports | Report Config
Data Sources | General
Data Sources | Fields & Formulas
AI | General
Data Warehouse | Source Fields
Settings | FAQ
AI Visibility | General
Settings | FAQ
Data Sources | Connections
Data Sources | Connections
Automation Jobs | Change History
Insights | Change History
KPI Forecasting | Metrics by Source
Automation Jobs | URL & Page Checkers
Insights | URL & Page
Automation Jobs | Change History
Insights | Change History
KPI Forecasting | Metrics by Source
Data Warehouse | BigQuery
Automation Jobs | Change History
Insights | Change History
KPI Forecasting | Metrics by Source
Data Warehouse | Source Fields
Automation Jobs | Local & Reviews
Insights | Local & Reviews
Automation Jobs | Local & Reviews
Insights | Local & Reviews
Automation Jobs | Local & Reviews
Insights | Local & Reviews
Data Warehouse | Source Fields
Data Sources | Connections
Data Sources | Connections
Automation Jobs | Change History
Insights | Change History
Automation Jobs | Local & Reviews
Insights | Local & Reviews
Data Warehouse | Source Fields
Data Warehouse | Source Fields
Budget Tracking | General
KPI Forecasting | Settings & Status
Data Warehouse | Data Studio
Data Chat | General
Settings | Comments & Notes
Local Listings | Profiles & Content
AI Visibility | General
Settings | Other
Settings | FAQ
Reports | Content Cards
Reports | Content Cards
Local Listings | Media
Insights | Managing Insights
Insights | Managing Insights
Integrations | General
AI | MCP (Model Context Protocol)
KPI Forecasting | Settings & Status
KPI Forecasting | Settings & Status
KPI Forecasting | General
Integrations | Webhook — Other
KPI Forecasting | Settings & Status
Insights | Other Insight Types
KPI Forecasting | General
KPI Forecasting | Seasonality
KPI Forecasting | Settings & Status
KPI Forecasting | Seasonality
Reports | Chart Cards
Local Listings | Performance & Activity
Local Listings | Performance & Activity
Local Listings | Profiles & Content
Local Listings | Media
Integrations | General
Data Warehouse | BigQuery
Data Warehouse | BigQuery
Data Warehouse | Data Studio
Settings | Other
Data Chat | General
Local Listings | Media
Local Listings | Media
Local Listings | Media
Social Posts | General
Local Listings | Media
Local Listings | Media
Data Chat | General
KPI Forecasting | Metrics by Source
Automation Jobs | URL & Page Checkers
Insights | URL & Page
Reports | Chart Cards
AI | MCP (Model Context Protocol)
Local Listings | Profiles & Content
Automation Jobs | URL & Page Checkers
Insights | URL & Page
Reports | Report Config
Reviews | General
Data Warehouse | Pipelines
Local Listings | General
Clients | General
Social Posts | Creating Posts
Reports | Creating & Sharing
AI Visibility | General
Social Posts | Managing Posts
Local Listings | Profiles & Content
Data Warehouse | Data Studio
Reports | Report Config
Insights | Managing Insights
Reviews | General
Reports | Editing
Reports | Creating & Sharing
Reports | Report Config
Insights | Managing Insights
Reviews | General
Reviews | General
Reviews | General
Automation Jobs | URL & Page Checkers
Insights | URL & Page
Automation Jobs | URL & Page Checkers
KPI Forecasting | Settings & Status
Clients | General
Reports | Chart Cards
Social Posts | Managing Posts
Automation Jobs | Search Console
Insights | Other Insight Types
Automation Jobs | Search Console
Insights | Other Insight Types
Local Listings | General
Clients | General
Reports | Creating & Sharing
Integrations | General
Local Listings | Categories & Services
Local Listings | Categories & Services
Settings | Account & Billing
Reports | Creating & Sharing
AI Visibility | General
Social Posts | General
AI Visibility | General
AI Visibility | General
Settings | FAQ
Settings | Account & Billing
Reports | Content Cards
Data Sources | Fields & Formulas
Reports | Report Config
Reports | Content Cards
Settings | Account & Billing
Data Sources | Fields & Formulas
Reviews | General
Settings | Account & Billing
Clients | General
Data Warehouse | Data Studio
Settings | Users
Settings | Users
Social Posts | General
Settings | Other
Local Listings | Performance & Activity
Settings | Comments & Notes
Integrations | Webhook — Other
Settings | FAQ
A data query is how you request data from any source connected to Jepto. You describe what you want in one JSON format: fields from the Data Model, a date range, filters and a sort order. Jepto fetches from Google Ads, GA4, Meta, BigQuery or any other connected platform and returns rows keyed by the same field names. You don’t call each platform’s API, handle its authentication or reconcile its formats.
Send queries from your own systems and agents through Jepto MCP. The same format also powers every report card and Data Chat answer in Jepto, so your numbers match the product’s.
{
"measures": ["unified.spend"],
"dimensions": ["unified.source"],
"timeDimensions": [{
"dimension": "unified.date",
"dateRange": ["lastMonth"]
}]
}Jepto
{
"data": [
{ "unified.source": "googleAds",
"unified.spend": 21400 },
{ "unified.source": "facebookAds",
"unified.spend": 15320 }
]
}The format isn’t proprietary. It follows the query conventions of Cube, the open-source semantic layer: measures, dimensions, time dimensions and filters.
The conventions are open source and documented in the Cube query format, so your team isn’t learning a format that only works with Jepto.
Cube has been public since 2019, so AI coding assistants and agents have seen the format for years. They write valid queries with little prompting.
Anyone who has used a semantic layer will recognise it straight away, and the code your team writes stays readable outside Jepto.
Where Jepto adds to it: measureAggregations for rollup overrides, compact relative date tokens such as last30days, a previous-period form of compareDateRange, and custom_… fields that Jepto calculates for you. The rest follows Cube’s conventions.
Here’s Google Ads spend by campaign for the last 30 days, Brand campaigns only, highest spend first:
{
"measures": ["googleAds.spend"],
"measureAggregations": { "googleAds.spend": "sum" },
"dimensions": ["googleAds.campaignName"],
"timeDimensions": [
{ "dimension": "googleAds.date", "dateRange": ["last30days"] }
],
"filters": [
{ "member": "googleAds.campaignName", "operator": "contains", "values": ["Brand"] }
],
"order": { "googleAds.spend": "desc" },
"limit": 100,
"total": true
}{
"data": [
{ "googleAds.campaignName": "Brand | Search", "googleAds.spend": 1840.5 },
{ "googleAds.campaignName": "Brand | PMax", "googleAds.spend": 962.1 }
],
"total": 2
}| Key | Type | What it does |
|---|---|---|
measures | string[] | Metrics to return, for example googleAds.spend or a custom field such as custom_be764589f064fe7b |
measureAggregations | object | Optional override of how a metric rolls up: sum, avg, min, max, count, count_distinct. Each field already has a default. |
dimensions | string[] | Fields to group by, for example googleAds.campaignName |
timeDimensions | array | { dimension, dateRange, granularity? }. The date field, the period and optional day, week, month, quarter or year buckets. |
filters | array | { member, operator, values }. Every filter must pass. See Filters. |
order | object | { "field": "asc" | "desc" } |
limit, offset | number | Page through large results |
total | boolean | Also return the total row count before limit, for pagination |
timezone | string | IANA time zone used to resolve dates, for example Australia/Sydney |
There’s no “source” key. Every field key starts with its platform (googleAds., facebookAds., unified.), and Jepto routes each part of the query from that. To find the keys available for a client, see the Data Model, or call analytics_schema over MCP.
Connect any MCP-capable client, agent framework or internal tool to https://mcp.jepto.com. It signs in with your Jepto account over OAuth and can then query every client that login can see.
analytics_query takes measures, dimensions, filters, order, limit, offset and timezone exactly as above. Dates are passed as dateRange (or startDate and endDate) plus granularity. Setup is covered in Jepto MCP Server Overview and OAuth & Authentication.
Because your systems read the same Data Model as Jepto, custom metrics you define once (such as blended ROAS or spend after fees) come back already calculated. Numbers also match what the same query shows in a Jepto report.
A date range has a start and an end. Each can be an ISO date (2026-01-01) or a relative token that is recalculated every time the query runs:
| Type | Tokens |
|---|---|
| Single days | today yesterday |
| Period to date | thisWeek thisMonth thisYear |
| Completed periods | lastWeek lastMonth lastYear |
| Rolling windows | last7days last30days last90days, or any lastNdays |
| Offsets | 7DaysAgo 4WeeksAgo 3MonthsAgo 2QuartersAgo 2YearsAgo |
Combine tokens for custom windows. For example, ["30DaysAgo", "yesterday"] gives the last 30 complete days.
granularity, you get one aggregated row per dimension value for the whole range. Use this for tables and totals.granularity (day, week, month, quarter, year), you get a row per bucket as well. 90 days at week returns about 13 rows per dimension value.
Each filter is a field (member), an operator and values. The operators you can use depend on the field:
equalsnotEqualscontainsnotContainsstartsWithendsWithsetnotSet
equalsnotEqualsgtgteltltesetnotSet
inDateRangenotInDateRangebeforeDateafterDate
To compare two periods, replace dateRange with compareDateRange. The same query runs for both periods:
{ "dimension": "googleAds.date",
"compareDateRange": {
"providedDateRange": ["2026-08-16", "2026-09-14"],
"previousPeriod": ["2026-07-17", "2026-08-15"]
} }{ "dimension": "googleAds.date",
"compareDateRange": [["2026-08-16", "2026-09-14"], ["2025-08-16", "2025-09-14"]] }
unified.spend, unified.clicks) to compare platforms in one query. Each maps to the matching field on every platform. Add unified.source as a dimension to label each row with its platform.custom_… keys like any other field; you never send the formula.
last30days always resolve to today’s window.
Every chart and table card in Jepto is a saved data query. The card’s Data tab builds the query, and the preview pane’s Data Query tab shows the exact request, in the same format as above. It’s the quickest way to copy a working query into your own system.
measures measureAggregationsWhat to measure, and how each metric rolls up
dimensionsWhat to break the numbers down by
timeDimensionsWhich period, and whether to split it by day, week or month
filtersWhich rows to include or leave out
compareDateRangeA second period to compare against
order limitRow order, and how many rows a table shows
Use Default Date Range: leave it on for most cards so they follow the report’s date picker. Turn it off only when a card needs a fixed window, such as a launch period.
In a report, a card’s final rows must pass every layer that applies to it:
If a card ignores a page filter, check three things: the filter targets this card, the field exists on this card’s sources, and not every option is selected. A dropdown with everything selected counts as no filter and is left out of the query.
Letting AI draft it: Card Chat builds the query from a sentence such as “Line chart of spend and clicks by day, last 30 days, Google Ads and Meta”. Check the Data tab before saving.
| Problem | Likely cause | Fix |
|---|---|---|
| Empty result | Filters too tight, no data in the range, or the source isn’t connected for this client | Loosen filters, widen the range, check datasource_list |
| Unknown field error | Wrong casing or a field not available to this client | Copy keys exactly from analytics_schema or the Data Model (googleAds.campaignName, not campaign_name) |
| One row per day instead of totals | granularity is set | Remove granularity from the time dimension |
| One source returns zero | The unified field isn’t mapped for that platform | Use that platform’s own field |
| Your number differs from a Jepto report | The queries differ in fields, filters, dates or time zone | Open the card’s Data Query tab and compare it with your request |
| Report card shows wrong dates | Use Default Date Range is off | Turn it on |
| Report page dropdown does nothing | It doesn’t target this card, every option is selected, or the field isn’t on this card’s sources | Check the targets, pick specific values, use a shared dimension |
Thanks a lot for your feedback! If you’d like a member of our support team to respond to you, please send a message here
Oops! Something went wrong while submitting the form.
Thanks a lot for your feedback! If you’d like a member of our support team to respond to you, please send a message here
Oops! Something went wrong while submitting the form.