Get Audience Insights

Returns each variation's sessions, users, conversions, and conversion rate for each segment of one dimension, for one goal over a date range within one interval. Choose the dimension with `groupBy`. Each segment also shows how the variation is trending against the base variation in that segment, and how confident that trend is. Choose the goal with `goalId`, and narrow the results with `filter`. <Warning title="Optimize required">This endpoint requires a Webflow site with the Optimize add-on, or a non-Webflow site that uses Optimize.</Warning> <Note title="Concurrency limit: 1 request at a time">Each access token can have one Optimize request in flight at a time, across all Optimize endpoints. Additional concurrent requests return `429 Too Many Requests`. Wait for your in-flight request to finish, or for the `Retry-After` interval, then retry.</Note> Required scope | `sites:read`

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

optimize_idstringRequired>=1 character

The Optimize ID, from List Optimize IDs.

optimization_idstringRequired1-128 characters

The optimization ID, from List Optimizations.

Query parameters

intervalStartstringRequiredformat: "date-time"
Start of the date range. Must be a UTC timestamp ending in `Z`, such as `2026-09-01T00:00:00Z`. Offsets and date-only values aren't accepted. Seconds and milliseconds are optional. The date range must fall within a single interval of the optimization. A range that crosses from one interval into the next is rejected. Use an interval's `start` and `end` from [List Optimizations](/data/v2.0.0-beta/reference/optimize/list-optimizations). Can't be earlier than 18 months ago.
intervalEndstringRequiredformat: "date-time"

End of the date range. Must be a UTC timestamp ending in Z, such as 2026-09-15T00:00:00Z, and later than intervalStart. Offsets and date-only values aren’t accepted. Seconds and milliseconds are optional.

groupBystringRequired1-128 characters

The dimension to split results by, from List Dimensions. Accepts any dimension except urlParameter.

goalIdstringOptional1-128 characters

The goal to measure. Defaults to the interval’s target goal. See List Optimization Goals.

filtermap from strings to objectsOptional
Narrow the results to visitors who match dimension values. Use bracket notation with `in` or `nin` and indexed arrays, for example `filter[country][in][0]=US&filter[country][in][1]=GB&filter[customAttribute:towel][nin][0]=forgotten`. Keys are dimension `id` values from [List Dimensions](/data/v2.0.0-beta/reference/optimize/list-dimensions), and values are raw `value` values from [List Dimension Values](/data/v2.0.0-beta/reference/optimize/list-dimension-values). Separate dimensions combine with AND. Values within one dimension combine with OR. A filter can name at most 20 dimensions, with at most 50 values per operator and 500 values in total.

Response

Each variation’s results for each segment of the groupBy dimension.

reportenum
Identifies the report type.
Allowed values:
intervalStartstringformat: "date-time"
Start of the reported date range, in full form with milliseconds.
intervalEndstringformat: "date-time"
End of the reported date range, in full form with milliseconds.
goalobject

The goal the report measures. When the request omits goalId, this is the interval’s target goal.

optimizationTypeenum

The kind of optimization.

  • test: A traditional test. Randomly shows different versions of your content to a set percentage of your traffic. After enough traffic has seen the variations, a single winner is determined based on statistical significance.
  • personalize: A manual personalization. Uses rules-based personalization to define who should see which variation. Runs until you choose to stop it, and every visitor in the target segment consistently sees the same version of the page.
  • aiOptimize: An AI-optimized optimization. Uses AI to automatically deliver the best-performing variation to each visitor. As behavior shifts, the AI adapts in real time, learning which versions yield the most conversions.
Allowed values:
groupedByobject

The dimension the segments are grouped by, from the request’s groupBy.

variationslist of objects
One entry per variation.
filtermap from strings to objectsOptional

The request’s filter, keyed by dimension id, with each dimension’s display name. Present only when the request included a filter.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
429
Too Many Requests Error
500
Internal Server Error