POST /user_permission.json
Description: Grants a user permission to view or administrate a specific project.
API Endpoint URL: https://api.improvely.com/v1/user_permission.json
| Attribute |
Required |
Default |
Description |
| key |
|
|
Your API key |
| id |
|
|
The ID number of the user to delete. |
| email |
|
|
The e-mail address of the user to delete. |
| project |
|
|
The ID number of the Improvely project to grant this permission to. You can retrieve this number from the top of the Project Settings page of the relevant project in your account. |
| permission |
|
|
“view” will provide read-only access to the project’s reports “full” will provide full administrative access to the project’s reports, links and settings |
Note: Either id or email must be provided to identify which user to grant this permission to.
Example request:
curl https://api.improvely.com/v1/user_permission.json \
-X POST \
-d 'key=90c0d64fds653338as6869e54267e05&email=dan@awio.com&project=1&permission=full'
Example successful response (HTTP status code 200):
{
"status": "success"
}
Example failure response (HTTP status code: 400):
{
"status": "error",
"type": "parameters",
"message": "Missing parameter: either `id` or `email` must be provided."
}
More from this category
Authentication
The HTTP API is available to all Improvely accounts. You identify yourself to the API by including an API key parameter in your request. You can retrieve your API key by clicking on the gear icon at the top menu in your account, then clicking on API Credentials.

The API Credentials page is visible only to account administrators, and API keys have the same rights to an account as an administrator-level user; they may add, delete or alter data in all projects.
More from this category
Supported Time Zones
The following time zones are valid values for the timezone parameter in any API endpoint that allows one.
| Time Zone |
Description |
| Etc/GMT+12 |
(GMT-12:00) International Date Line West |
| Pacific/Apia |
(GMT-11:00) Midway Island, Samoa |
| Pacific/Honolulu |
(GMT-10:00) Hawaii |
| America/Anchorage |
(GMT-09:00) Alaska |
| America/Los_Angeles |
(GMT-08:00) Pacific Time (US & Canada); Tijuana |
| America/Phoenix |
(GMT-07:00) Arizona |
| America/Denver |
(GMT-07:00) Mountain Time (US & Canada) |
| America/Chihuahua |
(GMT-07:00) Chihuahua, La Paz, Mazatlan |
| America/Managua |
(GMT-06:00) Central America |
| America/Regina |
(GMT-06:00) Saskatchewan |
| America/Mexico_City |
(GMT-06:00) Guadalajara, Mexico City, Monterrey |
| America/Chicago |
(GMT-06:00) Central Time (US & Canada) |
| America/Indianapolis |
(GMT-05:00) Indiana (East) |
| America/Bogota |
(GMT-05:00) Bogota, Lima, Quito |
| America/New_York |
(GMT-05:00) Eastern Time (US & Canada) |
| America/Caracas |
(GMT-04:00) Caracas, La Paz |
| America/Santiago |
(GMT-04:00) Santiago |
| America/Halifax |
(GMT-04:00) Atlantic Time (Canada) |
| America/St_Johns |
(GMT-03:30) Newfoundland |
| America/Buenos_Aires |
(GMT-03:00) Buenos Aires, Georgetown |
| America/Godthab |
(GMT-03:00) Greenland |
| America/Sao_Paulo |
(GMT-03:00) Brasilia |
| America/Noronha |
(GMT-02:00) Mid-Atlantic |
| Atlantic/Cape_Verde |
(GMT-01:00) Cape Verde Is. |
| Atlantic/Azores |
(GMT-01:00) Azores |
| Africa/Casablanca |
(GMT) Casablanca, Monrovia |
| Europe/London |
(GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London |
| Africa/Lagos |
(GMT+01:00) West Central Africa |
| Europe/Berlin |
(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna |
| Europe/Paris |
(GMT+01:00) Brussels, Copenhagen, Madrid, Paris |
| Europe/Sarajevo |
(GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb |
| Europe/Belgrade |
(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague |
| Africa/Johannesburg |
(GMT+02:00) Harare, Pretoria |
| Asia/Jerusalem |
(GMT+02:00) Jerusalem |
| Europe/Istanbul |
(GMT+02:00) Athens, Istanbul, Minsk |
| Europe/Helsinki |
(GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius |
| Africa/Cairo |
(GMT+02:00) Cairo |
| Europe/Bucharest |
(GMT+02:00) Bucharest |
| Africa/Nairobi |
(GMT+03:00) Nairobi |
| Asia/Riyadh |
(GMT+03:00) Kuwait, Riyadh |
| Europe/Moscow |
(GMT+03:00) Moscow, St. Petersburg, Volgograd |
| Asia/Baghdad |
(GMT+03:00) Baghdad |
| Asia/Tehran |
(GMT+03:30) Tehran |
| Asia/Muscat |
(GMT+04:00) Abu Dhabi, Muscat |
| Asia/Tbilisi |
(GMT+04:00) Baku, Tbilisi, Yerevan |
| Asia/Kabul |
(GMT+04:30) Kabul |
| Asia/Karachi |
(GMT+05:00) Islamabad, Karachi, Tashkent |
| Asia/Yekaterinburg |
(GMT+05:00) Ekaterinburg |
| Asia/Calcutta |
(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi |
| Asia/Katmandu |
(GMT+05:45) Kathmandu |
| Asia/Colombo |
(GMT+06:00) Sri Jayawardenepura |
| Asia/Dhaka |
(GMT+06:00) Astana, Dhaka |
| Asia/Novosibirsk |
(GMT+06:00) Almaty, Novosibirsk |
| Asia/Rangoon |
(GMT+06:30) Rangoon |
| Asia/Bangkok |
(GMT+07:00) Bangkok, Hanoi, Jakarta |
| Asia/Krasnoyarsk |
(GMT+07:00) Krasnoyarsk |
| Australia/Perth |
(GMT+08:00) Perth |
| Asia/Taipei |
(GMT+08:00) Taipei |
| Asia/Singapore |
(GMT+08:00) Kuala Lumpur, Singapore |
| Asia/Hong_Kong |
(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi |
| Asia/Irkutsk |
(GMT+08:00) Irkutsk, Ulaan Bataar |
| Asia/Tokyo |
(GMT+09:00) Osaka, Sapporo, Tokyo |
| Asia/Seoul |
(GMT+09:00) Seoul |
| Asia/Yakutsk |
(GMT+09:00) Yakutsk |
| Australia/Darwin |
(GMT+09:30) Darwin |
| Australia/Adelaide |
(GMT+09:30) Adelaide |
| Pacific/Guam |
(GMT+10:00) Guam, Port Moresby |
| Australia/Brisbane |
(GMT+10:00) Brisbane |
| Asia/Vladivostok |
(GMT+10:00) Vladivostok |
| Australia/Hobart |
(GMT+10:00) Hobart |
| Australia/Sydney |
(GMT+10:00) Canberra, Melbourne, Sydney |
| Asia/Magadan |
(GMT+11:00) Magadan, Solomon Is., New Caledonia |
| Pacific/Fiji |
(GMT+12:00) Fiji, Kamchatka, Marshall Is. |
| Pacific/Auckland |
(GMT+12:00) Auckland, Wellington |
| Pacific/Tongatapu |
(GMT+13:00) Nuku’alofa |
More from this category
POST /project.json
Description: Creates a new project in your Improvely account, and returns the project’s ID and code snippet for integration. A project typically represents one website you are using Improvely to track visits and conversions on.
API Endpoint URL: https://api.improvely.com/v1/project.json
| Attribute |
Required |
Default |
Description |
| key |
|
|
Your API key |
| name |
|
|
The name of the project. |
| currency |
|
$ |
The currency symbol to display in reports. Valid values: “$” (dollar), “€” (Euro), “£” (Pound Sterling), “¥” (Japanese Yen), “₹” (Indian Rupee). |
| google_url_compatibility |
|
false |
Boolean (“true” or “false”) indicating whether to enable the Google Analytics URL Compatibility option, which instructs Improvely to treat links tagged with UTM parameters as ad clicks and to add UTM parameters to new tracking links. |
| track_organic |
|
true |
Boolean (“true” or “false”) indicating whether to enable tracking of organic and search traffic. If set to false, only ad clicks will be recorded for this project. |
| max_clicks |
|
0 |
The maximum number of ad clicks allowed from a single person in a 24 hour period before the visitor is warned and an alert is generated. Set to 0 to disable click fraud monitoring for this project. |
| fraud_message |
|
|
The warning message to display to someone who has clicked ads more than `max_clicks` times. |
| goal_mode |
|
all |
Set to “all” to count all conversions. Set to “one” to count only one conversion per person for each goal type. |
| attribution_model |
|
firstad |
Sets the conversion attribution model.
“first” for first-click attribution. “firstad” for first ad click attribution. “last” for last-click attribution. “lastad” for last ad click attribution. |
| duplicate_filter |
|
false |
Boolean (“true” or “false”) to enable or disable the duplicate conversion filter. This filter removes conversions sent to Improvely with the same reference value as any previous conversion. |
Example request:
curl https://api.improvely.com/v1/project.json \
-X POST \
-d 'key=90c0d64fds653338as6869e54267e05&name=My+Store¤cy=$&google_url_compatibility=true&track_organic=true&max_clicks=5&fraud_message=You%20have%20been%20detected%20clicking%20this%20ad%20more%20than%205%20times%20in%20the%20past%2024%20hours.%20This%20information%2C%20including%20your%20IP%20address%20and%20geographic%20location%2C%20has%20been%20logged%20and%20sent%20to%20the%20owner%20of%20this%20ad.&goal_mode=all&attribution_model=firstad&duplicate_filter=false'
Example successful response (HTTP status code 200):
{
"status": "success",
"id": 3,
"website_code": "<script type=\"text/javascript\">\r\nvar im_domain = 'example';\r\nvar im_project_id = 3;\r\n(function(e,t){window._improvely=[];var n=e.getElementsByTagName(\"script\")[0];var r=e.createElement(\"script\");r.type=\"text/javascript\";r.src=\"https://\"+im_domain+\".iljmp.com/improvely.js\";r.async=true;n.parentNode.insertBefore(r,n);if(typeof t.init==\"undefined\"){t.init=function(e,t){window._improvely.push([\"init\",e,t])};t.goal=function(e){window._improvely.push([\"goal\",e])};t.label=function(e){window._improvely.push([\"label\",e])}}window.improvely=t;t.init(im_domain,im_project_id)})(document,window.improvely||[])\r\n</script>"
}
Example failure response (HTTP status code: 400):
{
"status": "error",
"type": "parameters",
"message": "Invalid parameter value: `track_organic`."
}
More from this category
PUT /project.json
Description: Updates the settings for a project. Any parameters you do not provide values for will retain their current value.
API Endpoint URL: https://api.improvely.com/v1/project.json
| Attribute |
Required |
Default |
Description |
| key |
|
|
Your API key |
| id |
|
|
The ID number of the project. The ID number may be retrieved from a previous API call or from the top of the Project Settings page within your account. |
| name |
|
|
The name of the project. |
| currency |
|
|
The currency symbol to display in reports. Valid values: “$” (dollar), “€” (Euro), “£” (Pound Sterling), “¥” (Japanese Yen), “₹” (Indian Rupee). |
| google_url_compatibility |
|
|
Boolean (“true” or “false”) indicating whether to enable the Google Analytics URL Compatibility option, which instructs Improvely to treat links tagged with UTM parameters as ad clicks and to add UTM parameters to new tracking links. |
| track_organic |
|
|
Boolean (“true” or “false”) indicating whether to enable tracking of organic and search traffic. If set to false, only ad clicks will be recorded for this project. |
| max_clicks |
|
|
The maximum number of ad clicks allowed from a single person in a 24 hour period before the visitor is warned and an alert is generated. Set to 0 to disable click fraud monitoring for this project. |
| fraud_message |
|
|
The warning message to display to someone who has clicked ads more than `max_clicks` times. |
| goal_mode |
|
|
Set to “all” to count all conversions. Set to “one” to count only one conversion per person for each goal type. |
| attribution_model |
|
|
Sets the conversion attribution model.
“first” for first-click attribution. “firstad” for first ad click attribution. “last” for last-click attribution. “lastad” for last ad click attribution. |
| duplicate_filter |
|
|
Boolean (“true” or “false”) to enable or disable the duplicate conversion filter. This filter removes conversions sent to Improvely with the same reference value as any previous conversion. |
Example request:
curl https://api.improvely.com/v1/project.json \
-X PUT \
-d 'key=90c0d64fds653338as6869e54267e05&id=3&duplicate_filter=true'
Example successful response (HTTP status code 200):
{
"status": "success"
}
Example failure response (HTTP status code: 400):
{
"status": "error",
"type": "parameters",
"message": "Missing or invalid required parameter: `id`."
}
More from this category
DELETE /project.json
Description: Deletes a project.
API Endpoint URL: https://api.improvely.com/v1/project.json
| Attribute |
Required |
Default |
Description |
| key |
|
|
Your API key |
| id |
|
|
The ID number of the project. The ID number may be retrieved from a previous API call or from the top of the Project Settings page within your account. |
Example request:
curl https://api.improvely.com/v1/project.json \
-X DELETE\
-d 'key=90c0d64fds653338as6869e54267e05&id=3'
Example successful response (HTTP status code 200):
{
"status": "success"
}
Example failure response (HTTP status code: 400):
{
"status": "error",
"type": "parameters",
"message": "Missing or invalid required parameter: `id`."
}
More from this category
POST /link.json
Description: Creates a new Tracking Link. Tracking links keep track of clicks from ads or other marketing efforts, track their costs, and monitor clicks for signs of click fraud.
API Endpoint URL: https://api.improvely.com/v1/link.json
| Attribute |
Required |
Default |
Description |
| key |
|
|
Your API key |
| project |
|
|
The ID number of the Improvely project to create this link within. You can retrieve this number from the top of the Project Settings page of the relevant project in your account. |
| url |
|
|
The landing page URL this link will redirect to when clicked. |
| campaign |
|
|
Campaign name (e.g. Google Ads, Spring Sale, TV Spot). |
| source |
|
|
Source (e.g. Google, Microsoft AdCenter). |
| medium |
|
|
Medium (e.g. PPC, E-mail, Banner). |
| content |
|
|
Ad content (e.g. Free Shipping Offer). |
| cost_type |
|
PPC |
Must be one of these strings: “PPC”, “one-time” or “monthly”. |
| cost |
|
0 |
The monetary cost associated with the ad. This attribute should be numeric with no currency symbol or thousands separator. |
| custom_url |
|
|
Custom tracking URL (e.g. https://example.iljmp.com/1/customurl). Letters, numbers and dashes only; no spaces or special characters. |
Example request:
curl https://api.improvely.com/v1/link.json \
-X POST \
-d 'key=90c0d64fds653338as6869e54267e05&project=1&url=http%3A%2F%2Fwww.example.com&campaign=Google+AdWords&medium=PPC&source=Product+Listing+Ads&content=Natural+Skincare&cost_type=PPC&cost=0.50&custom_url=skincare1'
Example successful response (HTTP status code 200):
{
"status": "success",
"google": {
"short_link": "https://awio.iljmp.com/1/skincare1?kw={keyword}",
"direct_link": "http://www.example.com/?ims=skincare1&kw={keyword}"
},
"bing": {
"short_link": "https://awio.iljmp.com/1/skincare1?kw={keyword}",
"direct_link": "http://www.example.com/?ims=skincare1&kw={keyword}"
},
"7search": {
"short_link": "https://awio.iljmp.com/1/skincare1?kw=###KEYWORD###",
"direct_link": "http://www.example.com/?ims=skincare1&kw=###KEYWORD###"
},
"anywhere": {
"short_link": "https://awio.iljmp.com/1/skincare1",
"direct_link": "http://www.example.com/?ims=skincare1"
}
}
Example failure response (HTTP status code: 400):
{
"status": "error",
"type": "parameters",
"message": "Missing required parameter: `campaign`."
}
More from this category
POST /conversion.json
Description: Creates a new Goal Conversion attached to a previous visitor to your website. This method is commonly used to record recurring bills or offline sales.
API Endpoint URL: https://api.improvely.com/v1/conversion.json
| Attribute |
Required |
Default |
Description |
| key |
|
|
Your API key |
| project |
|
|
The ID number of the Improvely project to record this conversion within. You can retrieve this number from the top of the Project Settings page of the relevant project in your account. |
| label |
See Note |
|
Label previously assigned to the visitor profile using the Visitor Labeling feature. |
| previous_reference |
See Note |
|
The reference value of a previous conversion completed by the same visitor. |
| subid |
See Note |
|
For affiliate network postbacks: the subid value associated with the conversion. |
| ip |
See Note |
|
IP address of the visitor that converted. |
| user_agent |
See Note |
|
Complete HTTP user agent string of the visitor that converted. |
| goal |
|
Conversion |
The name of the conversion goal that was completed (e.g. lead, sale). |
| revenue |
|
0 |
The amount of revenue associated with the conversion. This should be numeric with no currency symbols or thousands separator. |
| reference |
|
|
Additional information to attach to the conversion, like an order number or customer e-mail. |
| date |
|
Now |
The UNIX timestamp corresponding to the date and time the conversion event occurred. If not provided, the current time will be used. |
| notify |
|
false |
Boolean (‘true’ or ‘false’) indicating whether you want to generate e-mail notification(s) for this new conversion to any users subscribed to the associated project. |
Important Notes: Either a visitor label, IP and user-agent pair, previous reference or subid value must be specified in order to identify which visitor profile to attach this conversion to. If no profile can be found, the conversion will not be created. This API cannot be used to record arbitrary events that are not linked to a previous website visitor. The project attribute is required unless a subid is specified.
Example request:
curl https://api.improvely.com/v1/conversion.json \
-X POST \
-d 'key=90c0d64fds653338as6869e54267e05&project=1&previous_reference=54321&goal=Subscription+Renewal&revenue=29&reference=54321+Renewal+9/26&date=1411694111¬ify=false'
Example successful response (HTTP status code 200):
{
"status": "success"
}
Example failure response (HTTP status code: 400):
{
"status": "error",
"type": "parameters",
"message": "Missing required parameter: `label`, `ip` and `user_agent`, `previous_reference` or `subid`."
}
More from this category
POST /user.json
Description: Creates a new user for logging in to your Improvely account. This method is only available to accounts on the Startup or Agency billing plans.
API Endpoint URL: https://api.improvely.com/v1/user.json
| Attribute |
Required |
Default |
Description |
| key |
|
|
Your API key |
| first_name |
|
|
The user’s first name. |
| last_name |
|
|
The user’s last name. |
| email |
|
|
The user’s e-mail address. |
| password |
|
|
The user’s login password. |
| timezone |
|
America/New_York |
The time zone reports will be displayed in for this user. See supported time zone values. |
| is_administrator |
|
false |
Boolean (“true” or “false”) indicating whether the user is an administrator. An administrator may create and edit all projects and settings. Non-administrative users have read-only access to view projects and their reports. |
| notify_goal |
|
false |
Boolean (“true” or “false”) indicating whether to notify this user by e-mail when a new goal conversion occurs. |
| notify_fraud |
|
false |
Boolean (“true” or “false”) indicating whether to notify this user by e-mail when a new click fraud alert occurs. |
Example request:
curl https://api.improvely.com/v1/user.json \
-X POST \
-d 'key=90c0d64fds653338as6869e54267e05&first_name=Dan&last_name=Grossman&email=dan@awio.com&password=itsasecret'
Example successful response (HTTP status code 200):
{
"status": "success",
id: 3
}
Example failure response (HTTP status code: 400):
{
"status": "error",
"type": "parameters",
"message": "Missing required parameter: `email`."
}
More from this category
DELETE /user.json
Description: Deletes a user account.
API Endpoint URL: https://api.improvely.com/v1/user.json
| Attribute |
Required |
Default |
Description |
| key |
|
|
Your API key |
| id |
|
|
The ID number of the user to delete. |
| email |
|
|
The e-mail address of the user to delete. |
Note: Either id or email must be provided to identify which user to delete.
Example request:
curl https://api.improvely.com/v1/user.json \
-X DELETE \
-d 'key=90c0d64fds653338as6869e54267e05&email=dan@awio.com'
Example successful response (HTTP status code 200):
{
"status": "success"
}
Example failure response (HTTP status code: 400):
{
"status": "error",
"type": "parameters",
"message": "Missing parameter: either `id` or `email` must be provided."
}
More from this category