Funnel

For instructions on how to authenticate to use this endpoint, see API overview.

Adds an "access_controls" action to the viewset that handles access control for the given resource

Why a mixin? We want to easily add this to any existing resource, including providing easy helpers for adding access control info such as the current users access level to any response.

Create

Required API key scopes

insight:read

Path parameters

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Query parameters

  • format
    string
    One of: "csv""json"

Request parameters

  • events
    Click to open
    array

    Events to filter on. One of events or actions is required.

  • actions
    Click to open
    array

    Actions to filter on. One of events or actions is required.

  • properties

    Filter events by event property, person property, cohort, groups and more.

  • filter_test_accounts
    boolean

    Whether to filter out internal and test accounts. See "project settings" in your PostHog account for the filters.

  • date_from
    string
    Default: -7d

    What date to filter the results from. Can either be a date 2021-01-01, or a relative date, like -7d for last seven days, -1m for last month, mStart for start of the month or yStart for the start of the year.

  • date_to
    string
    Default: -7d

    What date to filter the results to. Can either be a date 2021-01-01, or a relative date, like -7d for last seven days, -1m for last month, mStart for start of the month or yStart for the start of the year.

  • breakdown
    string

    A property or cohort to break down on. You can select the type of the property with breakdown_type.

    • event (default): a property key
    • person: a person property key
    • cohort: an array of cohort IDs (ie [9581,5812])
  • breakdown_type
    Default: event

    Type of property to break down on.

    • event - event
    • person - person
    • cohort - cohort
    • group - group
    • session - session
    • hogql - hogql
  • funnel_window_interval
    integer
    Default: 14

    Funnel window size. Set in combination with funnel_window_interval, so defaults to 'days'.

  • funnel_window_interval_type
    Default: days

    The type of interval. Used in combination with funnel_window_intervals.

    • DAY - DAY
    • SECOND - SECOND
    • MINUTE - MINUTE
    • HOUR - HOUR
    • WEEK - WEEK
    • MONTH - MONTH
  • funnel_viz_type
    Default: steps

    The visualisation type.

    • steps Track instances progress between steps of the funnel
    • trends Track how this funnel's conversion rate is trending over time.
    • time_to_convert Track how long it takes for instances to convert
    • trends - trends
    • time_to_convert - time_to_convert
    • steps - steps
  • funnel_order_type
    Default: ordered
    • ordered - Step B must happen after Step A, but any number events can happen between A and B.
    • strict - Step B must happen directly after Step A without any events in between.
    • unordered - Steps can be completed in any sequence.
    • strict - strict
    • unordered - unordered
    • ordered - ordered
  • exclusions
    Click to open
    array

    Exclude users/groups that completed the specified event between two specific steps. Note that these users/groups will be completely excluded from the entire funnel.

  • aggregation_group_type_index
    integer
    0

    Aggregate by users or by groups. 0 means user, >0 means a group. See interface for the corresponding ID of the group.

  • breakdown_limit
    integer
    Default: 10
  • funnel_window_days
    integer
    Default: 14

    (DEPRECATED) Funnel window size in days. Use funnel_window_interval and funnel_window_interval_type

Response


Request

POST /api/environments/:project_id/insights/funnel
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:project_id/insights/funnel/\
-d events=[{"id":"$pageview"}]

Response

Status 200 Note, if funnel_viz_type is set the response will be different.
RESPONSE
{
"is_cached": true,
"last_refresh": "2019-08-24T14:15:22Z",
"timezone": "UTC",
"result": [
{
"count": 0,
"action_id": "string",
"average_conversion_time": 0,
"median_conversion_time": 0,
"converted_people_url": "string",
"dropped_people_url": "string",
"order": "string"
}
]
}

Create funnels

Required API key scopes

insight:read

Path parameters

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Query parameters

  • format
    string
    One of: "csv""json"

Request parameters

  • events
    Click to open
    array

    Events to filter on. One of events or actions is required.

  • actions
    Click to open
    array

    Actions to filter on. One of events or actions is required.

  • properties

    Filter events by event property, person property, cohort, groups and more.

  • filter_test_accounts
    boolean

    Whether to filter out internal and test accounts. See "project settings" in your PostHog account for the filters.

  • date_from
    string
    Default: -7d

    What date to filter the results from. Can either be a date 2021-01-01, or a relative date, like -7d for last seven days, -1m for last month, mStart for start of the month or yStart for the start of the year.

  • date_to
    string
    Default: -7d

    What date to filter the results to. Can either be a date 2021-01-01, or a relative date, like -7d for last seven days, -1m for last month, mStart for start of the month or yStart for the start of the year.

  • breakdown
    string

    A property or cohort to break down on. You can select the type of the property with breakdown_type.

    • event (default): a property key
    • person: a person property key
    • cohort: an array of cohort IDs (ie [9581,5812])
  • breakdown_type
    Default: event

    Type of property to break down on.

    • event - event
    • person - person
    • cohort - cohort
    • group - group
    • session - session
    • hogql - hogql
  • funnel_window_interval
    integer
    Default: 14

    Funnel window size. Set in combination with funnel_window_interval, so defaults to 'days'.

  • funnel_window_interval_type
    Default: days

    The type of interval. Used in combination with funnel_window_intervals.

    • DAY - DAY
    • SECOND - SECOND
    • MINUTE - MINUTE
    • HOUR - HOUR
    • WEEK - WEEK
    • MONTH - MONTH
  • funnel_viz_type
    Default: steps

    The visualisation type.

    • steps Track instances progress between steps of the funnel
    • trends Track how this funnel's conversion rate is trending over time.
    • time_to_convert Track how long it takes for instances to convert
    • trends - trends
    • time_to_convert - time_to_convert
    • steps - steps
  • funnel_order_type
    Default: ordered
    • ordered - Step B must happen after Step A, but any number events can happen between A and B.
    • strict - Step B must happen directly after Step A without any events in between.
    • unordered - Steps can be completed in any sequence.
    • strict - strict
    • unordered - unordered
    • ordered - ordered
  • exclusions
    Click to open
    array

    Exclude users/groups that completed the specified event between two specific steps. Note that these users/groups will be completely excluded from the entire funnel.

  • aggregation_group_type_index
    integer
    0

    Aggregate by users or by groups. 0 means user, >0 means a group. See interface for the corresponding ID of the group.

  • breakdown_limit
    integer
    Default: 10
  • funnel_window_days
    integer
    Default: 14

    (DEPRECATED) Funnel window size in days. Use funnel_window_interval and funnel_window_interval_type

Response


Request

POST /api/projects/:project_id/insights/funnel
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/insights/funnel/\
-d events=[{"id":"$pageview"}]

Response

Status 200 Note, if funnel_viz_type is set the response will be different.
RESPONSE
{
"is_cached": true,
"last_refresh": "2019-08-24T14:15:22Z",
"timezone": "UTC",
"result": [
{
"count": 0,
"action_id": "string",
"average_conversion_time": 0,
"median_conversion_time": 0,
"converted_people_url": "string",
"dropped_people_url": "string",
"order": "string"
}
]
}

Questions?

Was this page useful?