GA4 Insights Filter Values
const url = 'https://sitechecker.pro/api/v1/ga4-insights/filter-values?project_id=12345';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://sitechecker.pro/api/v1/ga4-insights/filter-values?project_id=12345' \ --header 'Authorization: Bearer <token>'Returns project-specific allowed values and capabilities for GA4 Insights, including available filters, supported metrics, and source availability metadata. Check dimension_support here before passing a dimension — an unsupported one is rejected rather than quietly ignored.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Example
12345Project ID.
Responses
Section titled “Responses”Available GA4 filter values, supported dimensions and source availability
object
Project-specific GA4 values and capabilities supported in V1. Device, country and a full channel breakdown are intentionally absent because that GA4 data is not stored.
object
GA4 source availability status for the selected project.
object
GA4 connection/data availability status for the selected project.
GA4 property metadata for the selected project.
object
GA4 property identifier or masked/display-safe metadata.
Supported V1 metric keys only.
Supported breakdown dimensions. Use the dimension param; group_by is not supported.
Supported breakdown dimensions per endpoint with their constraints.
object
Endpoint where the dimension is supported.
Supported dimension for that endpoint.
Endpoint-specific constraints to prevent heavy page × dimension matrices.
Available channel scopes/values for this project. Includes all only if supported as the reserved all-sessions scope.
Daily / weekly / monthly.
Example
{ "data": { "source_status": { "ga4": "connected" }, "property": { "id": "123456789" }, "metrics": [ "sessions", "bounce_rate", "average_session_duration", "key_events", "session_key_event_rate" ], "dimensions": [ "source_medium" ], "dimension_support": [ { "endpoint": "page-history", "dimension": "source_medium", "constraints": "requires a single page_url; live GA4 API; max 15 series" } ], "source_channels": [ "organic_search", "all" ], "history_grouping": [ "daily", "weekly", "monthly" ] }}Missing or invalid API key
Returned as INVALID_API_KEY when the key is missing or unknown, and as REVOKED_API_KEY when the key exists but was revoked — the latter needs a new key.
object
object
Example
{ "error": { "code": "INVALID_API_KEY", "message": "Invalid or missing API key." }}No active API entitlement for the account, or the project belongs to another account
Returned as MISSING_PUBLIC_API_ACCESS when the account has no active API entitlement, and as ACCESS_DENIED when the requested project belongs to another account.
object
object
Example
{ "error": { "code": "MISSING_PUBLIC_API_ACCESS", "message": "API access is not available: the account has no active API entitlement." }}Project not found
The exact missing resource is in error.code: PROJECT_NOT_FOUND, SEGMENT_NOT_FOUND, CRAWL_NOT_FOUND, KEYWORD_NOT_FOUND, OPPORTUNITY_NOT_FOUND, SNAPSHOT_UNAVAILABLE or NOT_FOUND.
object
object
Example
{ "error": { "code": "PROJECT_NOT_FOUND", "message": "Project not found." }}Validation error
Rejected query parameters. error.code is VALIDATION_ERROR for parameter validation (including a query parameter the endpoint does not accept), or INVALID_DATE_RANGE / INVALID_FILTER / INVALID_EVENT_TYPE / UNSUPPORTED_FILTER / UNSUPPORTED_DIMENSION / UNSUPPORTED_METRIC / UNSUPPORTED_SCOPE / SEGMENT_FILTER_UNSUPPORTED for module-specific rules.
object
object
Example
{ "error": { "code": "VALIDATION_ERROR", "message": "project_id is required." }}Rate limit exceeded — retry after the interval in the Retry-After header
object
object
Example
{ "error": { "code": "RATE_LIMIT_EXCEEDED", "message": "Rate limit exceeded. Try again later." }}Internal server error
object
object
Example
{ "error": { "code": "INTERNAL_ERROR", "message": "Internal server error." }}