Funnel

Fetch Funnel Structure

Changed on

A funnel's steps as a single, flat, ordered list — the same top‑to‑bottom flow you see in the funnel builder. Use it to read or visualize how a funnel is laid out.

Each entry in steps is one of three kinds:

  • show_page_step — a page. Includes page (its name, url, and the external / sdk_token flags for externally‑hosted SDK pages) and show_page_step_id — the id you hand back as funnel.show_page_step_id to swap a page onto this step.
  • split_test_step — an A/B test: a variants list, each with a weight and its own steps.
  • conditional_split_step — routing by a saved contact filter: a branches list, always [matched, unmatched], each with its own steps.

Splits can nest — a split placed inside a branch shows up inside that branch's steps.

Two things to know when reading it:

  1. Follow the array order, not sort_order. sort_order only numbers a step within its own list, so it repeats across branches and after splits — in the example below the top level runs 0, 1, 0, 1. The array order is the real sequence. (Separately: when you create a step, the sort_order you send positions it among the funnel's top‑level steps.)
  2. Branches come back together. A branch lists only its own steps; afterwards the flow continues at the step right after the split, and every branch ends up there. In the example below, both branches lead on to Order Form → Thank You. A split with nothing after it ends the funnel.

The 200 example below is this funnel:

Entry
└─ Conditional Split
   ├─ matched:     VIP Welcome   → Split Test ( Premium Offer A 50% / Premium Offer B 50% )
   └─ unmatched: Guest Welcome → Conditional Split ( Returning Customer / New Customer )
→ Order Form → Thank You          (every path comes back together here)

Related: the Pages skill (create, position, and swap pages) and the Funnels skill (add split tests and conditional splits). When migrating externally-hosted pages to a new domain, this is the read that inventories them: see Migrate an External Page Domain.

get/funnels/{id}/structure

Request

Path parameters

idstring required

Response

OK

Example response

{
  "steps": [
    {
      "step_type": "show_page_step"
    }
  ]
}

Changes