Skip to main content

Create a segment to target visitors by page URL

Goal

Next, create a segment to target visitors who browse a specific URL, such as www.site-test.com. See the segment creation guide for details.

Requirements

  • access token

The Automation API requires an access token. Retrieve the token programmatically by following the instructions in the obtaining an access token section.

  • siteId

    • Retrieve the siteId directly in code with the siteCode by calling the get a site by code endpoint.

    • Alternatively, log into the Kameleoon account, navigate to the bottom-left corner, and select Projects under the Admin section:

    SiteID

    Click Edit on the project:

    Edit

    The siteId is the five-digit number in the URL (for example, 29353):

    Digits

Create the Segment

Endpoint:

POST https://api.kameleoon.com/segments
NameTypeDescription
conditionsDataObjectDefines targeting conditions. See API reference.
nameStringSegment name.
segmentTypeStringType of segment, for example, STANDARD for experiments.
siteIdStringThe project’s siteId.

Example:

curl -L -X POST 'https://api.kameleoon.com/segments' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
--data-raw '{
"name": "New segment",
"description": "Target by webpage",
"siteId": 29353,
"segmentType": "STANDARD",
"conditionsData": {
"firstLevelOrOperators": [true],
"firstLevel": [
{
"conditions": [
{
"targetingType": "PAGE_URL",
"weight": 1,
"url": "www.site-test.com",
"matchType": "EXACT",
"include": true
}
]
}
]
}
}'

Create a goal for the experiment

Goal

Goals are metrics to track campaign success. This section creates a Click goal to count clicks on the .cta-button element. See the goal creation guide for more information.

Steps

Create the goal

Endpoint:

POST https://api.kameleoon.com/goals
NameTypeDescription
descriptionStringGoal description (for example, "Number of CTA clicks").
nameStringGoal name (for example, "Clicks on CTA").
siteIdStringThe project’s siteId.
paramsObjectIncludes element selectors for click tracking.

Example:

curl -L -X POST 'https://api.kameleoon.com/goals' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
--data-raw '{
"description": "Number of times CTA button was clicked",
"hasMultipleConversions": true,
"name": "Clicks on CTA",
"params": {
"customSelectors": [
{
"mode": "CUSTOM",
"selector": ".cta-button, #bloc-789"
}
]
},
"siteId": 29353,
"status": "ACTIVE",
"type": "CLICK"
}'

Add a goal and segment before launching an experiment

Goal

Link the goal and segment to Experiment_1 and activate the experiment.

Steps

Endpoint:

PATCH https://api.kameleoon.com/experiments/{experimentId}?action=ACTIVATE
NameTypeDescription
targetingSegmentIdStringSegment ID to link.
goalsArrayGoal IDs to link.
deviationsObjectTraffic allocation between control and variations.
mainGoalIdStringMain goal ID.
statusStringExperiment status (ONLINE, PAUSED, and others).

Example:

curl -L -X PATCH 'https://api.kameleoon.com/experiments/283505?action=ACTIVATE' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
--data-raw '{
"targetingSegmentId": 298314,
"goals": [361517],
"deviations": {"origin": 0.5, "1053310": 0.5},
"mainGoalId": 361517,
"status": "ONLINE"
}'

2. Verify launch

Refresh the dashboard. Experiment_1 should now display Online status:

Experiment_activated


Creation, configuration, and launch of an experiment using the Automation API are now complete.