v1

latestOpenAPI 3.1.0MIT2026-07-243952451019.0 KB
Funnels::SplitTestStep

Update Split Test Step

Update a split test's variants: attach a page to an empty branch, swap an existing variant's page, or adjust the weights. The variants array length must equal the number of branches in the split test (2 for the standard binary case).

  • Weight rules: if any variant provides weight, all variants must provide it and the values must be integers 0..100 summing to 100. If none provide weight, weights stay unchanged.
  • Page-id rules per variant:
    • Equal to current page_id → no-op.
    • Branch currently empty + new page_id provided → attach.
    • Branch currently has a page + new different page_id → swap (old step destroyed).
    • page_id: null or blank is rejected (detach is out of scope — use DELETE with branch parameter instead).
  • Any page being attached/swapped-in must: (a) be in the same workspace, (b) be a user_page, and (c) have no existing ShowPageStep anywhere in any funnel.
patch/funnels/{funnel_id}/split_test_steps/{id}

Path parameters

funnel_idinteger required
idinteger required

Request body

Example request

{
  "split_test_step": {
    "variants": [
      {
        "page_id": 500,
        "weight": 70
      },
      {
        "page_id": 501,
        "weight": 30
      }
    ]
  }
}

Response

OK

idinteger

Split test step ID

public_idstring

Obfuscated split test step ID

created_atstring date-time
updated_atstring date-time

Example response

{
  "id": 1234,
  "public_id": "AbCdEf",
  "funnel": {
    "id": 42,
    "public_id": "xYz123",
    "name": "My Funnel"
  },
  "variants": [
    {
      "show_page_step": {
        "id": 100,
        "public_id": "ShPgId",
        "name": "Squeeze Page step",
        "current_path": "/squeeze"
      },
      "page": {
        "id": 500,
        "public_id": "PageId",
        "name": "Squeeze Page"
      },
      "weight": 100
    },
    {
      "show_page_step": null,
      "page": null,
      "weight": 0
    }
  ],
  "created_at": "2026-04-24T00:00:00.000Z",
  "updated_at": "2026-04-24T00:00:00.000Z"
}