Download OpenAPI specification:Download
Move your app forward with the Convert API. The Convert API allows you to manage your Convert Experiences projects using code. The REST API is an interface for managing and extending functionality of Convert. For example, instead of creating and maintaining projects using the Convert Experiences web dashboard you can create an experiment programmatically. Additionally, if you prefer to run custom analysis on experiment results you can leverage the API to pull data from Convert Experiences into your own workflow. If you do not have a Convert account already, sign up for a free developer account at https://www.convert.com/api/.
Note: This API version is deprecated and will be discontinued in the future. Please migrate your clients to Convert API V2
Once you start using Convert Experiences, you will have a growing number of experiments to manage. Projects help you keep everything organized across multiple sites. Each project has its own tracking code, set of experiments, and set of collaborators. For example, if you run experiments on multiple domains, you can assign a unique project for each domain. Read here some things you need to know about how a project behaves.
The Projects endpoint returns the list of all projects the authenticated user has access to;
page | integer Default: 1 Describes the page number of the fetched results. "results_per_page" results are gonna be returned for each page |
results_per_page | integer Default: 50 A value that would be used for setting the number of records that would be returned per page |
{- "page": 1,
- "results_per_page": 50
}
[- {
- "id": "string",
- "account_id": "string",
- "tracking_snippet": "string",
- "name": "string",
- "status": "string",
- "created_at": "string",
- "reporting_settings": {
- "min_order_value": 0,
- "max_order_value": 0,
- "min_running_time": 0,
- "min_variation_visitors": 0,
- "min_variation_conversions": 0,
- "tested_visitors_quota": 0,
- "max_variation_visitors": 0,
- "curency_symbol": "string",
- "blocked_ips": [
- "string"
]
}, - "include_jquery": 1,
- "allow_crossdomain_tracking": 1,
- "data_anonymization": 1,
- "websites": [
- "string"
], - "global_javascript": "string"
}
]
project_id required | string ID of the project to be retrived |
{- "id": "string",
- "account_id": "string",
- "tracking_snippet": "string",
- "name": "string",
- "status": "string",
- "created_at": "string",
- "reporting_settings": {
- "min_order_value": 0,
- "max_order_value": 0,
- "min_running_time": 0,
- "min_variation_visitors": 0,
- "min_variation_conversions": 0,
- "tested_visitors_quota": 0,
- "max_variation_visitors": 0,
- "curency_symbol": "string",
- "blocked_ips": [
- "string"
]
}, - "include_jquery": 1,
- "allow_crossdomain_tracking": 1,
- "data_anonymization": 1,
- "websites": [
- "string"
], - "global_javascript": "string"
}
id | string Unique identifier representing a specific project in an user account. The project Id is part of the tracking snippet |
account_id | string The unique ID of the account under which this project is created. Account ID is also part of the tracking snippet |
tracking_snippet | string The tracking code that needs to be placed on site in order to serve experiences from this project. |
name | string Name of the project. |
status | string The project's status, one of active, inactive, suspended. |
created_at | string Date in Y-m-d format of project creation. |
object | |
include_jquery | integer [ 0 .. 1 ] Wether to include jQuery library or not into the javascript tracking file served by Convert and loaded via the tracking snippet. |
allow_crossdomain_tracking | integer [ 0 .. 1 ] Allow cross domain tracking or not. Cross domain tracking can only happen between domains inside the same project. |
data_anonymization | integer [ 0 .. 1 ] Enables or disables <a href=''https://convert.zendesk.com/hc/en-us/articles/204506339-Prevent-Experiment-Details-Data-Leak-with-Data-Anonymization''>data anonymization. |
websites | Array of strings The list of websites included in this project. |
global_javascript | string The global javascript code that will load on all pages where the tracking script is included, prior do processing any of experiences, goals, audiences etc. |
{- "id": "string",
- "account_id": "string",
- "tracking_snippet": "string",
- "name": "string",
- "status": "string",
- "created_at": "string",
- "reporting_settings": {
- "min_order_value": 0,
- "max_order_value": 0,
- "min_running_time": 0,
- "min_variation_visitors": 0,
- "min_variation_conversions": 0,
- "tested_visitors_quota": 0,
- "max_variation_visitors": 0,
- "curency_symbol": "string",
- "blocked_ips": [
- "string"
]
}, - "include_jquery": 1,
- "allow_crossdomain_tracking": 1,
- "data_anonymization": 1,
- "websites": [
- "string"
], - "global_javascript": "string"
}
{- "id": "string",
- "account_id": "string",
- "tracking_snippet": "string",
- "name": "string",
- "status": "string",
- "created_at": "string",
- "reporting_settings": {
- "min_order_value": 0,
- "max_order_value": 0,
- "min_running_time": 0,
- "min_variation_visitors": 0,
- "min_variation_conversions": 0,
- "tested_visitors_quota": 0,
- "max_variation_visitors": 0,
- "curency_symbol": "string",
- "blocked_ips": [
- "string"
]
}, - "include_jquery": 1,
- "allow_crossdomain_tracking": 1,
- "data_anonymization": 1,
- "websites": [
- "string"
], - "global_javascript": "string"
}
project_id required | string ID of the project to be updated |
Project object
id | string Unique identifier representing a specific project in an user account. The project Id is part of the tracking snippet |
account_id | string The unique ID of the account under which this project is created. Account ID is also part of the tracking snippet |
tracking_snippet | string The tracking code that needs to be placed on site in order to serve experiences from this project. |
name | string Name of the project. |
status | string The project's status, one of active, inactive, suspended. |
created_at | string Date in Y-m-d format of project creation. |
object | |
include_jquery | integer [ 0 .. 1 ] Wether to include jQuery library or not into the javascript tracking file served by Convert and loaded via the tracking snippet. |
allow_crossdomain_tracking | integer [ 0 .. 1 ] Allow cross domain tracking or not. Cross domain tracking can only happen between domains inside the same project. |
data_anonymization | integer [ 0 .. 1 ] Enables or disables <a href=''https://convert.zendesk.com/hc/en-us/articles/204506339-Prevent-Experiment-Details-Data-Leak-with-Data-Anonymization''>data anonymization. |
websites | Array of strings The list of websites included in this project. |
global_javascript | string The global javascript code that will load on all pages where the tracking script is included, prior do processing any of experiences, goals, audiences etc. |
{- "id": "string",
- "account_id": "string",
- "tracking_snippet": "string",
- "name": "string",
- "status": "string",
- "created_at": "string",
- "reporting_settings": {
- "min_order_value": 0,
- "max_order_value": 0,
- "min_running_time": 0,
- "min_variation_visitors": 0,
- "min_variation_conversions": 0,
- "tested_visitors_quota": 0,
- "max_variation_visitors": 0,
- "curency_symbol": "string",
- "blocked_ips": [
- "string"
]
}, - "include_jquery": 1,
- "allow_crossdomain_tracking": 1,
- "data_anonymization": 1,
- "websites": [
- "string"
], - "global_javascript": "string"
}
{- "id": "string",
- "account_id": "string",
- "tracking_snippet": "string",
- "name": "string",
- "status": "string",
- "created_at": "string",
- "reporting_settings": {
- "min_order_value": 0,
- "max_order_value": 0,
- "min_running_time": 0,
- "min_variation_visitors": 0,
- "min_variation_conversions": 0,
- "tested_visitors_quota": 0,
- "max_variation_visitors": 0,
- "curency_symbol": "string",
- "blocked_ips": [
- "string"
]
}, - "include_jquery": 1,
- "allow_crossdomain_tracking": 1,
- "data_anonymization": 1,
- "websites": [
- "string"
], - "global_javascript": "string"
}
Convert Experiences provides six different experiment types. A/B, Split URL, Multivariate (MVT), Personalization, A/A and Multi-page (funnel) testing. To learn more, see Six experience types in Convert Experiences.
project_id required | string |
page | integer Describes the page number of the fetched results. "results_per_page" results are gonna be returned for each page |
results_per_page | integer Default: 50 A value that would be used for setting the number of records that would be returned per page |
experience_types | Array of strings Items Enum: "a/b" "a/a" "mvt" "split_url" "personalization" The type of the experiences you'd like to be returned; one of the below can be provided |
experience_status | Array of strings Items Enum: "draft" "active" "paused" "completed" "scheduled" "archived" The status of the experiences you'd like to be returned; one of the below can be provided |
search | string a search string that would be used to search against Experience's name and description |
{- "page": 0,
- "results_per_page": 50,
- "experience_types": [
- "a/b"
], - "experience_status": [
- "draft"
], - "search": "string"
}
[- {
- "id": "string",
- "name": "string",
- "experience_description": "string",
- "experience_type": "a/b",
- "experience_status": "draft",
- "start_time": 0,
- "end_time": 0,
- "global_js": "string",
- "editor_url": "string",
- "keep_winner": true,
- "stop_looser": true,
- "minrun": 0,
- "maxrun": 0,
- "minordv": 0,
- "maxordv": 0,
- "minconv": 0,
- "minvis": 0,
- "maxvis": 0,
- "confidence": 0,
- "site_area": {
- "include": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
], - "exclude": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}, - "goals": [
- {
- "id": "string",
- "name": "string"
}
], - "audiences": [
- {
- "id": "string",
- "name": "string"
}
], - "variations": [
- {
- "variation": {
- "name": "string",
- "id": "string",
- "url": "string",
- "js": "string",
- "customjs": "string",
- "css": "string",
- "percentage": 0
}, - "percentage": 0
}
]
}
]
project_id required | string |
experience_id required | string |
{- "id": "string",
- "name": "string",
- "experience_description": "string",
- "experience_type": "a/b",
- "experience_status": "draft",
- "start_time": 0,
- "end_time": 0,
- "global_js": "string",
- "editor_url": "string",
- "keep_winner": true,
- "stop_looser": true,
- "minrun": 0,
- "maxrun": 0,
- "minordv": 0,
- "maxordv": 0,
- "minconv": 0,
- "minvis": 0,
- "maxvis": 0,
- "confidence": 0,
- "site_area": {
- "include": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
], - "exclude": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}, - "goals": [
- {
- "id": "string",
- "name": "string"
}
], - "audiences": [
- {
- "id": "string",
- "name": "string"
}
], - "variations": [
- {
- "variation": {
- "name": "string",
- "id": "string",
- "url": "string",
- "js": "string",
- "customjs": "string",
- "css": "string",
- "percentage": 0
}, - "percentage": 0
}
]
}
project_id required | string |
id | string Experience's ID which identify an experience in the system |
name | string Experience's name |
experience_description | string The description given by the user for the experience. It could be for instance a memo on what the experience is willing to achieve |
experience_type | string Enum: "a/b" "a/a" "mvt" "split_url" "personalization" The type of the experience |
experience_status | string Enum: "draft" "active" "paused" "completed" "scheduled" "archived" The status of the experience |
start_time | number The timestamp of the moment when the experience was first started (it's 0 if it wasn't started yet) |
end_time | number The timestamp of the moment when the experience was stopped (it's 0 if it wasn't stopped yet) |
global_js | string Global Experience's JavaScript that will run for this experience before its changes are applied |
editor_url | string The URL loaded inside the Visual Editor in order to create changes visually |
keep_winner | boolean Keep winning variations |
stop_looser | boolean Stop losing variations |
minrun | number Running time - Min days |
maxrun | number Running time - Max days |
minordv | number Transactions outliers - Min Order |
maxordv | number Transactions outliers - Max Order |
minconv | number Minimum per variation - Min Conversion |
minvis | number Minimum per variation - Min Visitors |
maxvis | number Experiment Limits - Max Visitors |
confidence | number Confidence level in percentages |
object The set of rules that decide on which pages is the experiment firing; Both Include and exclude can contain same type of rules. Out of all possible rule elements available only the following subset is allowed for Site Area: url, url_with_query,query_string, page_tag_page_type, page_tag_category_id, page_tag_category_name, page_tag_product_sku, page_tag_product_name, page_tag_product_price, page_tag_customer_id, page_tag_custom_1, page_tag_custom_2, page_tag_custom_3, page_tag_custom_4 | |
Array of objects The list of goals connected to this experience; experience of type personalization does not have goals attached; | |
Array of objects The list of audiences for which this experience is supposed to run | |
Array of objects The list of variations of this experience |
{- "id": "string",
- "name": "string",
- "experience_description": "string",
- "experience_type": "a/b",
- "experience_status": "draft",
- "start_time": 0,
- "end_time": 0,
- "global_js": "string",
- "editor_url": "string",
- "keep_winner": true,
- "stop_looser": true,
- "minrun": 0,
- "maxrun": 0,
- "minordv": 0,
- "maxordv": 0,
- "minconv": 0,
- "minvis": 0,
- "maxvis": 0,
- "confidence": 0,
- "site_area": {
- "include": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
], - "exclude": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}, - "goals": [
- {
- "id": "string",
- "name": "string"
}
], - "audiences": [
- {
- "id": "string",
- "name": "string"
}
], - "variations": [
- {
- "variation": {
- "name": "string",
- "id": "string",
- "url": "string",
- "js": "string",
- "customjs": "string",
- "css": "string",
- "percentage": 0
}, - "percentage": 0
}
]
}
{- "id": "string",
- "name": "string",
- "experience_description": "string",
- "experience_type": "a/b",
- "experience_status": "draft",
- "start_time": 0,
- "end_time": 0,
- "global_js": "string",
- "editor_url": "string",
- "keep_winner": true,
- "stop_looser": true,
- "minrun": 0,
- "maxrun": 0,
- "minordv": 0,
- "maxordv": 0,
- "minconv": 0,
- "minvis": 0,
- "maxvis": 0,
- "confidence": 0,
- "site_area": {
- "include": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
], - "exclude": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}, - "goals": [
- {
- "id": "string",
- "name": "string"
}
], - "audiences": [
- {
- "id": "string",
- "name": "string"
}
], - "variations": [
- {
- "variation": {
- "name": "string",
- "id": "string",
- "url": "string",
- "js": "string",
- "customjs": "string",
- "css": "string",
- "percentage": 0
}, - "percentage": 0
}
]
}
project_id required | string |
experience_id required | string |
id | string Experience's ID which identify an experience in the system |
name | string Experience's name |
experience_description | string The description given by the user for the experience. It could be for instance a memo on what the experience is willing to achieve |
experience_type | string Enum: "a/b" "a/a" "mvt" "split_url" "personalization" The type of the experience |
experience_status | string Enum: "draft" "active" "paused" "completed" "scheduled" "archived" The status of the experience |
start_time | number The timestamp of the moment when the experience was first started (it's 0 if it wasn't started yet) |
end_time | number The timestamp of the moment when the experience was stopped (it's 0 if it wasn't stopped yet) |
global_js | string Global Experience's JavaScript that will run for this experience before its changes are applied |
editor_url | string The URL loaded inside the Visual Editor in order to create changes visually |
keep_winner | boolean Keep winning variations |
stop_looser | boolean Stop losing variations |
minrun | number Running time - Min days |
maxrun | number Running time - Max days |
minordv | number Transactions outliers - Min Order |
maxordv | number Transactions outliers - Max Order |
minconv | number Minimum per variation - Min Conversion |
minvis | number Minimum per variation - Min Visitors |
maxvis | number Experiment Limits - Max Visitors |
confidence | number Confidence level in percentages |
object The set of rules that decide on which pages is the experiment firing; Both Include and exclude can contain same type of rules. Out of all possible rule elements available only the following subset is allowed for Site Area: url, url_with_query,query_string, page_tag_page_type, page_tag_category_id, page_tag_category_name, page_tag_product_sku, page_tag_product_name, page_tag_product_price, page_tag_customer_id, page_tag_custom_1, page_tag_custom_2, page_tag_custom_3, page_tag_custom_4 | |
Array of objects The list of goals connected to this experience; experience of type personalization does not have goals attached; | |
Array of objects The list of audiences for which this experience is supposed to run | |
Array of objects The list of variations of this experience |
{- "id": "string",
- "name": "string",
- "experience_description": "string",
- "experience_type": "a/b",
- "experience_status": "draft",
- "start_time": 0,
- "end_time": 0,
- "global_js": "string",
- "editor_url": "string",
- "keep_winner": true,
- "stop_looser": true,
- "minrun": 0,
- "maxrun": 0,
- "minordv": 0,
- "maxordv": 0,
- "minconv": 0,
- "minvis": 0,
- "maxvis": 0,
- "confidence": 0,
- "site_area": {
- "include": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
], - "exclude": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}, - "goals": [
- {
- "id": "string",
- "name": "string"
}
], - "audiences": [
- {
- "id": "string",
- "name": "string"
}
], - "variations": [
- {
- "variation": {
- "name": "string",
- "id": "string",
- "url": "string",
- "js": "string",
- "customjs": "string",
- "css": "string",
- "percentage": 0
}, - "percentage": 0
}
]
}
{- "id": "string",
- "name": "string",
- "experience_description": "string",
- "experience_type": "a/b",
- "experience_status": "draft",
- "start_time": 0,
- "end_time": 0,
- "global_js": "string",
- "editor_url": "string",
- "keep_winner": true,
- "stop_looser": true,
- "minrun": 0,
- "maxrun": 0,
- "minordv": 0,
- "maxordv": 0,
- "minconv": 0,
- "minvis": 0,
- "maxvis": 0,
- "confidence": 0,
- "site_area": {
- "include": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
], - "exclude": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}, - "goals": [
- {
- "id": "string",
- "name": "string"
}
], - "audiences": [
- {
- "id": "string",
- "name": "string"
}
], - "variations": [
- {
- "variation": {
- "name": "string",
- "id": "string",
- "url": "string",
- "js": "string",
- "customjs": "string",
- "css": "string",
- "percentage": 0
}, - "percentage": 0
}
]
}
project_id required | string |
experience_id required | string |
name | string The given name for the variation |
id | string The ID of the variation |
url | string The url for splitUrl experiences |
js | string The javascript code that was generated inside Visual Editor or was written manually in the same style |
customjs | string The custom javascript code of the variation |
css | string The CSS loaded by the variation |
percentage | number Variation percentage. Optional |
{- "name": "string",
- "id": "string",
- "url": "string",
- "js": "string",
- "customjs": "string",
- "css": "string",
- "percentage": 0
}
{- "id": "string",
- "name": "string",
- "experience_description": "string",
- "experience_type": "a/b",
- "experience_status": "draft",
- "start_time": 0,
- "end_time": 0,
- "global_js": "string",
- "editor_url": "string",
- "keep_winner": true,
- "stop_looser": true,
- "minrun": 0,
- "maxrun": 0,
- "minordv": 0,
- "maxordv": 0,
- "minconv": 0,
- "minvis": 0,
- "maxvis": 0,
- "confidence": 0,
- "site_area": {
- "include": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
], - "exclude": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}, - "goals": [
- {
- "id": "string",
- "name": "string"
}
], - "audiences": [
- {
- "id": "string",
- "name": "string"
}
], - "variations": [
- {
- "variation": {
- "name": "string",
- "id": "string",
- "url": "string",
- "js": "string",
- "customjs": "string",
- "css": "string",
- "percentage": 0
}, - "percentage": 0
}
]
}
project_id required | string |
experience_id required | string |
variation_id required | string |
{- "id": "string",
- "name": "string",
- "experience_description": "string",
- "experience_type": "a/b",
- "experience_status": "draft",
- "start_time": 0,
- "end_time": 0,
- "global_js": "string",
- "editor_url": "string",
- "keep_winner": true,
- "stop_looser": true,
- "minrun": 0,
- "maxrun": 0,
- "minordv": 0,
- "maxordv": 0,
- "minconv": 0,
- "minvis": 0,
- "maxvis": 0,
- "confidence": 0,
- "site_area": {
- "include": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
], - "exclude": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}, - "goals": [
- {
- "id": "string",
- "name": "string"
}
], - "audiences": [
- {
- "id": "string",
- "name": "string"
}
], - "variations": [
- {
- "variation": {
- "name": "string",
- "id": "string",
- "url": "string",
- "js": "string",
- "customjs": "string",
- "css": "string",
- "percentage": 0
}, - "percentage": 0
}
]
}
Goals measure how well your site fulfills your target objectives. A goal represents a completed activity, called a conversion, that contributes to the success of your business. Examples of goals include making a purchase (for an ecommerce site), completing a game level (for a mobile gaming site), or submitting a contact information form (for a marketing or lead generation site). Read more information about Goals.
The Goals endpoint returns the list of all Goals stored under the given project;
project_id required | string |
page | integer Default: 1 Describes the page number of the fetched results. "results_per_page" results are gonna be returned for each page |
results_per_page | integer Default: 50 A value that would be used for setting the number of records that would be returned per page |
search | string a search string that would be used to search against Goal's name and description |
{- "page": 1,
- "results_per_page": 50,
- "search": "string"
}
[- {
- "description": "string",
- "goal_id": "string",
- "goal_name": "string",
- "triggering_rule": {
- "OR": [
- {
- "AND": [
- {
- "OR_WHEN": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": null,
- "negated": null
}, - "value": "string"
}
]
}
]
}
]
}, - "goal_type": "advanced",
- "dom_interaction": [
- {
- "selector": "string",
- "event": "string"
}
]
}
]
project_id required | string ID of the project into which the goal is stored |
goal_id required | string ID of the goal to be retrieven |
{- "description": "string",
- "goal_id": "string",
- "goal_name": "string",
- "triggering_rule": {
- "OR": [
- {
- "AND": [
- {
- "OR_WHEN": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}
]
}
]
}, - "goal_type": "advanced",
- "dom_interaction": [
- {
- "selector": "string",
- "event": "string"
}
]
}
project_id required | string ID of the project into which the goal is to be stored |
description | string A given description for the goal to easily identify it later |
goal_id | string The ID of the goal; it should be ommited when creating a new goal |
goal_name | string A name given to the goal to identify it easily |
object (RuleObject) This one describes a logical rule that is being used inside the app for triggering goals, matching audiences etc | |
goal_type | string Enum: "advanced" "DOM_interaction" "visits_page" "revenue" "clicks_link" "submits_form" "clicks_element" "dom_interaction" "scroll_percentage" "ga_import" "code_trigger" The goal type, one of below. For DOM_intraction type, the field dom_interaction would be filled with both event and selector of DOM element to trigger goal |
Array of objects Array of Events to be tracked by this goal |
{- "description": "string",
- "goal_id": "string",
- "goal_name": "string",
- "triggering_rule": {
- "OR": [
- {
- "AND": [
- {
- "OR_WHEN": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}
]
}
]
}, - "goal_type": "advanced",
- "dom_interaction": [
- {
- "selector": "string",
- "event": "string"
}
]
}
{- "description": "string",
- "goal_id": "string",
- "goal_name": "string",
- "triggering_rule": {
- "OR": [
- {
- "AND": [
- {
- "OR_WHEN": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}
]
}
]
}, - "goal_type": "advanced",
- "dom_interaction": [
- {
- "selector": "string",
- "event": "string"
}
]
}
project_id required | string ID of the project into which the goal is to be stored |
goal_id required | string ID of the goal to be updated |
description | string A given description for the goal to easily identify it later |
goal_id | string The ID of the goal; it should be ommited when creating a new goal |
goal_name | string A name given to the goal to identify it easily |
object (RuleObject) This one describes a logical rule that is being used inside the app for triggering goals, matching audiences etc | |
goal_type | string Enum: "advanced" "DOM_interaction" "visits_page" "revenue" "clicks_link" "submits_form" "clicks_element" "dom_interaction" "scroll_percentage" "ga_import" "code_trigger" The goal type, one of below. For DOM_intraction type, the field dom_interaction would be filled with both event and selector of DOM element to trigger goal |
Array of objects Array of Events to be tracked by this goal |
{- "description": "string",
- "goal_id": "string",
- "goal_name": "string",
- "triggering_rule": {
- "OR": [
- {
- "AND": [
- {
- "OR_WHEN": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}
]
}
]
}, - "goal_type": "advanced",
- "dom_interaction": [
- {
- "selector": "string",
- "event": "string"
}
]
}
{- "description": "string",
- "goal_id": "string",
- "goal_name": "string",
- "triggering_rule": {
- "OR": [
- {
- "AND": [
- {
- "OR_WHEN": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}
]
}
]
}, - "goal_type": "advanced",
- "dom_interaction": [
- {
- "selector": "string",
- "event": "string"
}
]
}
A hypothesis is an assumption that a proposed change in your website would lead to visitors taking the action that you want them to. Read more information about Hypotheses.
The Goals endpoint returns the list of all Hypotheses stored under the given project;
project_id required | string |
page | integer Default: 1 Describes the page number of the fetched results. "results_per_page" results are gonna be returned for each page |
results_per_page | integer Default: 50 A value that would be used for setting the number of records that would be returned per page |
search | string a search string that would be used to search against hypotheses's name or description |
status | Array of strings Items Enum: "draft" "active" "paused" "completed" "scheduled" "archived" The status of the hypotheses you'd like to be returned; one of the below can be provided |
scoreMax | number Enum: "0" "1" "2" "3" "4" "5" The maximum score for hypotheses which you would like to retrieve |
scoreMin | number Enum: "0" "1" "2" "3" "4" "5" The minimum score for hypotheses which you would like to retrieve |
{- "page": 1,
- "results_per_page": 50,
- "search": "string",
- "status": [
- "draft"
], - "scoreMax": "0",
- "scoreMin": "0"
}
[- {
- "id": 0,
- "project_id": 0,
- "name": "string",
- "objective": "string",
- "prioritization_score": "string",
- "prioritization_score_type": "PIE",
- "prioritization_score_attributes": {
- "$ref": "#/components/schemas/PIE_Attributes"
}, - "status": "draft",
- "start_date": "string",
- "end_date": "string",
- "tags": [
- {
- "id": 0,
- "name": "string"
}
], - "summary": "string",
- "created_at": "string"
}
]
project_id required | string ID of the project into which the hypothesis is stored |
hypothesis_id required | string ID of the hypothesis to be retrieve |
{- "id": 0,
- "project_id": 0,
- "name": "string",
- "objective": "string",
- "prioritization_score": "string",
- "prioritization_score_type": "PIE",
- "prioritization_score_attributes": {
- "$ref": "#/components/schemas/PIE_Attributes"
}, - "status": "draft",
- "start_date": "string",
- "end_date": "string",
- "tags": [
- {
- "id": 0,
- "name": "string"
}
], - "summary": "string",
- "created_at": "string"
}
project_id required | string ID of the project into which the hypothesis is to be stored |
name | string A name given to the hypothesis to identify it easily |
objective | string A given description for the hypothesis to easily identify it later |
prioritization_score | number A score calculated based on prioritization score attributes |
prioritization_score_type | string Enum: "PIE" "ICE" A given description of prioritizing model |
prioritization_score_attributes | object Enum: {"$ref":"#/components/schemas/PIE_Attributes"} {"$ref":"#/components/schemas/ICE_Attributes"} Attributes according to selected prioritization score type |
status | string Enum: "draft" "active" "paused" "completed" "scheduled" "archived" Status of hypothesis |
start_date | string The date in format YYYY-MM-DD. Can be a past date when you or your colleagues actually came up to this hypothesis |
end_date | string The date in format YYYY-MM-DD. Can be the date when you expect that the hypothesis is turned into an experience |
Array of objects (TagObject) An array of tag objects to make the Hypothesis easily searchable | |
summary | string Summary of your hypothesis |
{- "name": "string",
- "objective": "string",
- "prioritization_score": 0,
- "prioritization_score_type": "PIE",
- "prioritization_score_attributes": {
- "$ref": "#/components/schemas/PIE_Attributes"
}, - "status": "draft",
- "start_date": "string",
- "end_date": "string",
- "tags": [
- {
- "id": 0,
- "name": "string"
}
], - "summary": "string"
}
{- "id": 0,
- "project_id": 0,
- "name": "string",
- "objective": "string",
- "prioritization_score": "string",
- "prioritization_score_type": "PIE",
- "prioritization_score_attributes": {
- "$ref": "#/components/schemas/PIE_Attributes"
}, - "status": "draft",
- "start_date": "string",
- "end_date": "string",
- "tags": [
- {
- "id": 0,
- "name": "string"
}
], - "summary": "string",
- "created_at": "string"
}
project_id required | string ID of the project into which the hypothesis is to be stored |
hypothesis_id required | string ID of the hypothesis to be updated |
name | string A name given to the hypothesis to identify it easily |
objective | string A given description for the hypothesis to easily identify it later |
prioritization_score | number A score calculated based on prioritization score attributes |
prioritization_score_type | string Enum: "PIE" "ICE" A given description of prioritizing model |
prioritization_score_attributes | object Enum: {"$ref":"#/components/schemas/PIE_Attributes"} {"$ref":"#/components/schemas/ICE_Attributes"} Attributes according to selected prioritization score type |
status | string Enum: "draft" "active" "paused" "completed" "scheduled" "archived" Status of hypothesis |
start_date | string The date in format YYYY-MM-DD. Can be a past date when you or your colleagues actually came up to this hypothesis |
end_date | string The date in format YYYY-MM-DD. Can be the date when you expect that the hypothesis is turned into an experience |
Array of objects (TagObject) An array of tag objects to make the Hypothesis easily searchable | |
summary | string Summary of your hypothesis |
{- "name": "string",
- "objective": "string",
- "prioritization_score": 0,
- "prioritization_score_type": "PIE",
- "prioritization_score_attributes": {
- "$ref": "#/components/schemas/PIE_Attributes"
}, - "status": "draft",
- "start_date": "string",
- "end_date": "string",
- "tags": [
- {
- "id": 0,
- "name": "string"
}
], - "summary": "string"
}
{- "id": 0,
- "project_id": 0,
- "name": "string",
- "objective": "string",
- "prioritization_score": "string",
- "prioritization_score_type": "PIE",
- "prioritization_score_attributes": {
- "$ref": "#/components/schemas/PIE_Attributes"
}, - "status": "draft",
- "start_date": "string",
- "end_date": "string",
- "tags": [
- {
- "id": 0,
- "name": "string"
}
], - "summary": "string",
- "created_at": "string"
}
project_id required | string ID of the project into which the hypothesis is to be stored |
hypothesis_id required | string ID of the hypothesis to be updated |
status | string Enum: "draft" "active" "paused" "completed" "scheduled" "archived" |
{- "status": "draft"
}
{- "id": 0,
- "project_id": 0,
- "name": "string",
- "objective": "string",
- "prioritization_score": "string",
- "prioritization_score_type": "PIE",
- "prioritization_score_attributes": {
- "$ref": "#/components/schemas/PIE_Attributes"
}, - "status": "draft",
- "start_date": "string",
- "end_date": "string",
- "tags": [
- {
- "id": 0,
- "name": "string"
}
], - "summary": "string",
- "created_at": "string"
}
Audiences let you segment your users in the ways that are important to your business. You can segment by event (e.g., session_start or level_up) and by user property (e.g., Browser/OS, Geo, Language), and combine events, parameters, and properties to include practically any subset of users. Read more information about Audiences.
The audiences endpoint returns the list of all audiences stored under the given project;
project_id required | string |
page | integer Default: 1 Describes the page number of the fetched results. "results_per_page" results are gonna be returned for each page |
results_per_page | integer Default: 50 A value that would be used for setting the number of records that would be returned per page |
search | string a search string that would be used to search against audience's name or description |
isSegment | boolean It indicates wherever retrieved audiences are marked as segments or not |
isUsed | boolean It indicates wherever retrieved audiences are used or not inside experiences |
{- "page": 1,
- "results_per_page": 50,
- "search": "string",
- "isSegment": true,
- "isUsed": true
}
[- {
- "audience_id": "string",
- "audience_name": "string",
- "description": "string",
- "firing_rule": {
- "OR": [
- {
- "AND": [
- {
- "OR_WHEN": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": null,
- "negated": null
}, - "value": "string"
}
]
}
]
}
]
}, - "audience_type": "string"
}
]
project_id required | string ID of the project into which the audience is stored |
audience_id required | string ID of the audience to be retrieven |
{- "audience_id": "string",
- "audience_name": "string",
- "description": "string",
- "firing_rule": {
- "OR": [
- {
- "AND": [
- {
- "OR_WHEN": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}
]
}
]
}, - "audience_type": "string"
}
project_id required | string ID of the project into which the audience is to be stored |
audience_id | string ID of the audience as identified into the database; it won't be provide for adding a new goal |
audience_name | string a name given to the audience in order to easily identify it |
description | string A description given to the audience in order to easily identify it |
object (RuleObject) This one describes a logical rule that is being used inside the app for triggering goals, matching audiences etc | |
audience_type | string Audience type. Should be one of the following permanent, segmentation, transient |
{- "audience_id": "string",
- "audience_name": "string",
- "description": "string",
- "firing_rule": {
- "OR": [
- {
- "AND": [
- {
- "OR_WHEN": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}
]
}
]
}, - "audience_type": "string"
}
{- "audience_id": "string",
- "audience_name": "string",
- "description": "string",
- "firing_rule": {
- "OR": [
- {
- "AND": [
- {
- "OR_WHEN": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}
]
}
]
}, - "audience_type": "string"
}
project_id required | string ID of the project into which the audience is to be stored |
audience_id required | string ID of the audience to be updated |
audience_id | string ID of the audience as identified into the database; it won't be provide for adding a new goal |
audience_name | string a name given to the audience in order to easily identify it |
description | string A description given to the audience in order to easily identify it |
object (RuleObject) This one describes a logical rule that is being used inside the app for triggering goals, matching audiences etc | |
audience_type | string Audience type. Should be one of the following permanent, segmentation, transient |
{- "audience_id": "string",
- "audience_name": "string",
- "description": "string",
- "firing_rule": {
- "OR": [
- {
- "AND": [
- {
- "OR_WHEN": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}
]
}
]
}, - "audience_type": "string"
}
{- "audience_id": "string",
- "audience_name": "string",
- "description": "string",
- "firing_rule": {
- "OR": [
- {
- "AND": [
- {
- "OR_WHEN": [
- {
- "rule_type": "url",
- "matching": {
- "match_type": "matches",
- "negated": true
}, - "value": "string"
}
]
}
]
}
]
}, - "audience_type": "string"
}
Reports allow you to see your experiences performance and explore your visitors behavior. You can use the results on the Report to make key business decisions based on the data you see. Fundamentally, on the Report page you are looking at how each variation performed, measured by each each goal in your experience. The variation that was most successful at achieving the goal is the winner.
project_id required | string ID of the project |
experience_id required | string ID of the experience |
goal_id required | string ID of goal tracked |
start_timestamp | number Unix timestamp |
end_timestamp | number Unix timestamp |
{- "start_timestamp": 0,
- "end_timestamp": 0
}
project_id required | string ID of the project |
experience_id required | string ID of the experience |
start_timestamp | number Unix timestamp |
end_timestamp | number Unix timestamp |
{- "start_timestamp": 0,
- "end_timestamp": 0
}