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.

api

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&currency=$&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;” (Euro), “&pound;” (Pound Sterling), “&yen;” (Japanese Yen), “&#8377;” (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&notify=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
Conversion tracking and click fraud monitoring for all your marketing.   Start a Free Trial