FormStats
Provides analytics for forms, including submission and conversion metrics, aggregated by the specified granularity.
Select
The driver uses the Klaviyo API to process WHERE clause conditions with the following fields and operators. Remaining filters are evaluated client-side within the driver.
- GroupBy: List of attributes to group the data by. Allowed values are form_id and form_version_id. If not specified, data is grouped by form_id. If a group has prerequisites, they must be included together. The prerequisite for form_version_id is form_id.
- Granularity: Determines how granular the data points are within the time range specified by StartDateTime and EndDateTime.
Specify this field if you want to query series stats. Valid values:
- hourly
- daily
- weekly
- monthly
- total (default)
- StartDateTime and EndDateTime: Define the time window. The window cannot exceed 1 year. If both values are provided, the driver requests data for that range. If only one is provided, the driver calculates the missing value based on the default interval for the selected granularity. Defaults:
- monthly or total: Last 1 year
- weekly: Last 52 weeks
- daily: Last 60 days
- hourly: Last 7 days
- FormId: Supports the operators = and IN.
Notes:
- Setting Granularity to total returns the same result as omitting it.
- If Granularity is hourly, the time window cannot exceed 7 days. For daily, 60 days. For weekly, 52 weeks. For monthly, 1 year.
- When Granularity is not total, IntervalStartDateTime and IntervalEndDateTime are based on the current interval. When set to total, they match the StartDateTime and EndDateTime.
- Only one filter can be applied to FormId. Multiple values can be provided with the IN operator, and multiple filters must be combined with AND. The OR operator is not supported.
- A maximum of 100 values can be provided for FormId when using the IN operator.
For example, the following query returns monthly form stats for a defined time range and multiple form IDs:
SELECT * FROM FormStats
WHERE Granularity = 'monthly'
AND StartDateTime = '2024-07-07'
AND EndDateTime = '2024-09-09'
AND FormId IN ('form-1', 'form-2', 'form-3')
There are no required filters to query this table. However, it is recommended to specify a time window (StartDateTime and EndDateTime) and Granularity when you want to retrieve series stats (granular data).
You can also run simplified queries depending on your data needs:
-- Retrieve all form stats without filters
SELECT * FROM FormStats;
-- Retrieve form stats for a defined time window
SELECT * FROM FormStats
WHERE StartDateTime = '2024-07-07'
AND EndDateTime = '2024-09-09'
-- Retrieve monthly form stats for a defined time window
SELECT * FROM FormStats
WHERE Granularity = 'monthly'
AND StartDateTime = '2024-07-07'
AND EndDateTime = '2024-09-09'
Columns
| Name | Type | References | Description |
| ClosedForm | Int | The total number of times the form was closed by users. | |
| ClosedFormUniques | Int | The total number of unique users who closed the form. | |
| QualifiedForm | Int | The total number of times users qualified to view the form, such as during A/B testing (split testing) or conditional display scenarios. | |
| QualifiedFormUniques | Int | The total number of unique users who qualified to view the form. | |
| SubmitRate | Double | The percentage of form submissions compared to total form views. | |
| Submits | Int | The total number of times the form was submitted by users. | |
| SubmittedformStep | Int | The total number of times users completed an individual form step. | |
| SubmittedFormStepUniques | Int | The total number of unique users who completed a form step. | |
| ViewedForm | Int | The total number of times the form was viewed by users. | |
| ViewedFormStep | Int | The total number of times users viewed a specific step within the form. | |
| ViewedFormStepUniques | Int | The total number of unique users who viewed a form step. | |
| ViewedFormUniques | Int | The total number of unique users who viewed the form. | |
| Granularity | String | Specifies the interval used to aggregate form analytics data. Supported values include hourly, daily, monthly, or total. Hourly intervals support up to 7 days, daily up to 60 days, and monthly up to 52 weeks. Use StartDateTime and EndDateTime to define a shorter interval.
The allowed values are hourly, daily, weekly, monthly, total. | |
| IntervalStartDateTime | String | The start date and time of the analytics interval for the series data. | |
| IntervalEndDateTime | String | The end date and time of the analytics interval for the series data. | |
| FormId | String | The unique identifier of the form associated with the analytics data. | |
| FormVersionId | String | The unique identifier of the specific form version associated with the analytics data. | |
| GroupBy | String | Specifies the attributes used to group the returned analytics data. Supported values include FormId and FormVersionId. If no value is specified, results are grouped by FormId. If FormVersionId is used, FormId must also be included as a prerequisite. | |
| StartDateTime | Datetime | The start date and time of the reporting period for which form analytics data is requested. | |
| EndDateTime | Datetime | The end date and time of the reporting period for which form analytics data is requested. |