---
title: "Admin Trial Funnel"
method: GET
path: "/v1/admin/monetization/trial-funnel"
---

# Admin Trial Funnel

`GET /v1/admin/monetization/trial-funnel`

## Request

- Base URL: `https://api.storyflo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.storyflo.com/v1/admin/monetization/trial-funnel`
- Auth: none declared

Trial → paid conversion funnel.

Of the listeners who STARTED a trial inside the last ``days``, what
share upgraded to a paid tier (plus / pro) — within 7 days, within
30 days, or ever (lifetime)? Reads the append-only
``listener_subscription_events`` log (migration 0143): a
``trial_started`` row marks the cohort entry, a subsequent
``upgraded`` row (to a paid tier) marks conversion.

Conversion is measured relative to EACH listener's own trial-start
time, not a fixed calendar window, so the 7d / 30d buckets are true
time-to-convert cohorts. ``lifetime`` counts any paid upgrade after
the trial started, regardless of elapsed time.

The point is signal on the trial wedge: a healthy 7d conversion
means the trial is doing its job; a big gap between 7d and lifetime
means listeners convert late and a nudge campaign could pull it
forward.

## Query parameters

- `days` integer

## Headers

- `x-storyflo-email-token` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/storyflo/apis/storyflo-inference-router.md) · [All operations](https://skmtc.dev/storyflo/apis/storyflo-inference-router/llms.txt) · [OpenAPI document](https://skmtc.dev/storyflo/apis/storyflo-inference-router/revisions/c3a1a735ac7a?raw)
