Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.kameleoon.com/llms.txt

Use this file to discover all available pages before exploring further.

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.