Paywall conversion

Paywall conversion: paywall views and the purchases they led to, from 2024-01-01 onwards.

Returns one object with five keys:

  • primary_metric_by_period: [{period, group_by, group_by_public_id, group_by_name, presentation_views_count, unique_viewers_count}]. Views and distinct viewers per period, split by primary_metric_group_by.
  • secondary_metric_by_period: [{period, group_by, group_by_public_id, group_by_name, purchase_tapped_count, conversions_to_offer_count, conversions_to_regular_count, total_conversions_count, conversions_to_offer_ratio, conversions_to_regular_ratio, total_conversions_ratio, click_through_rate_purchase_tapped_ratio}]. Counts split by secondary_metric_group_by. Each ratio divides the group's count by the unique viewers of the whole period, not of the group.
  • primary_metric_table and secondary_metric_table: the same counts totalled over the whole range per dimension value, with *_by_presentation_views_ratio and *_by_unique_viewers_ratio.
  • kpi: [{presentation_views_count, unique_viewers_count, paywalls_viewed_per_user_average, conversions_to_offer_ratio, conversions_to_regular_ratio, total_conversions_ratio}] for the whole range.

Definitions:

  • conversions_to_offer: free-trial, intro-offer and promotional-offer starts.
  • conversions_to_regular: those offers converting to paid, plus direct full-price purchases.
  • total_conversions: offer starts plus direct purchases.

Units and constraints:

  • Units: counts, and ratios of a count to a viewer count. A viewer can start several subscriptions, so a ratio can exceed 1. A ratio is not a percentage.
  • date_range is mandatory here.
  • Recommended periodicity: WEEK or MONTH.
  • Single application only.

Required scope: analytics.dashboards:view

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

Public ID of the resource.

Query Params
date_range[]
array of strings
required

Two-element [start_date, end_date] window of ISO8601 dates (YYYY-MM-DD); both ends inclusive (the end date's events are counted). Every time-series tool in this namespace needs it. Over REST, send it as date_range[]=2026-10-01&date_range[]=2026-10-25.

date_range[]*
string
enum

Bucket granularity. Defaults to MONTH. Use DAY for ranges up to ~60 days, WEEK up to ~6 months, MONTH beyond. Each row's period is the bucket's start date.

Allowed:
countries[]
array of strings

Filter by store country ISO codes.

countries[]
platform_names[]
array of strings

Filter by platform name.

platform_names[]
Allowed:
audiences[]
array of strings

Filter by audience public_id.

audiences[]
campaigns[]
array of strings

Filter by campaign public_id.

campaigns[]
placements[]
array of strings

Filter by placement public_id.

placements[]
screens[]
array of strings

Filter by screen (paywall) public_id.

screens[]
ab_test_variants[]
array of strings

Filter by A/B test variant public_id.

ab_test_variants[]
offer_types[]
array of strings

Filter by offer type.

offer_types[]
Allowed:
string

Restrict to unique users ("true"/"false").

string

Filter by survey identifier.

string
enum

Split the paywall views / unique viewers (primary metric) by one dimension. Omit for a single, ungrouped series. Values beyond the 10 largest groups are collapsed into one "Other" row. platform = store platform (ios, android, …); screen = paywall screen the subscription was purchased from; placement = placement the paywall was shown at; audience = audience the user matched; ab_test_variant = A/B test variant; country = store country (ISO code).

Allowed:
string
enum

Split the purchases / conversions (secondary metric) by one dimension. Omit for a single, ungrouped series. Values beyond the 10 largest groups are collapsed into one "Other" row. platform = store platform (ios, android, …); screen = paywall screen the subscription was purchased from; placement = placement the paywall was shown at; audience = audience the user matched; plan = subscription plan; ab_test_variant = A/B test variant; country = store country (ISO code).

Allowed:
fields[]
array of strings

Field selection for token economy: an explicit list of field names to include in the response, or ["*"] for every field. Omit for this endpoint's own default field set.

fields[]
Responses

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json