Funnels::SplitTestStep

Update Split Test Step

Changed on

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}

Request

Path parameters

funnel_idstring required
idstring 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"
}

Changes

    • info

      for the path request parameter funnel_id, the type was generalized from integer to string

    • info

      for the path request parameter id, the type was generalized from integer to string

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status