Funnels::SplitTestStep
Update Split Test Step
Changed onUpdate 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
- Base URLhttps://myworkspace.myclickfunnels.com/api/v2
- Auth
- HTTP bearer
- or OAuth 2Authorization codehttps://accounts.myclickfunnels.com/oauth/authorizeToken URLhttps://accounts.myclickfunnels.com/oauth/token
- TypeScriptA function with typed inputs. Its response is checked against the schema.
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
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
pathrequest parameterfunnel_id, the type was generalized fromintegertostring - info
for the
pathrequest parameterid, the type was generalized fromintegertostring - 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
- info