Examples and Best Practices
Minimal Query Body Template
{
"query": "query Analytics($input: AnalyticsQueryInput!) { analytics(input: $input) { summary { total } rows { dimension value } } }",
"variables": {
"input": {
"siteId": "123",
"metric": "SESSIONS",
"range": { "start": "2026-01-01", "end": "2026-01-31" }
}
}
}
Build Queries Incrementally
- Start with required fields only.
- Add one filter at a time.
- Add breakdown/grouping after baseline output validates.
- Add sorting and limits as a final optimization step.
Date Range Guidance
- Keep dashboard requests bounded to useful windows.
- Use consistent date formatting (
YYYY-MM-DD).
- Prefer explicit start/end values over relative client-side math.
- Always set
limit for table-style responses.
- Avoid high-cardinality breakdowns unless required.
- Reuse variables and query documents in clients.
Reliability Tips
- Validate response shapes before rendering.
- Distinguish empty data from transport/query errors.
- Log GraphQL
extensions.code for operational visibility.