Download OpenAPI specification:Download
Documentation for ayeT-Studios Publisher APIs
2025-01-30: v1.12.5 - Updated Callback IP Whitelist
2024-12-19: v1.12.4 - Updated Static API and Offerwall API added field publisher_cpi_compensation
to indicate if the publisher is paid on a CPI basis.
2024-11-13: v1.12.3 - Added bonus_task
field to CPE tasks in Offerwall API response.
2024-10-10: v1.12.2 - Fixed Offerwall API response schema, added cpe_instructions
array to offers schema, changed cpe_instructions[m].multi_limit
to type number
and clarified some descriptions.
2024-10-08: v1.12.1 - Removed unused devices_whitelist and devices_blacklist from the offerwall_api response.
2024-08-19: v1.12.0 - Added Surveywall API.
2024-08-07 v1.11.12 - Updated Static API and Offerwall API added field max_conversion_time
.
2024-07-24: v1.11.11 - Updated Offerwall API and added offer_status_days_left
field which is set to null or days left to complete for active offers.
2024-06-26: v1.11.10 - Updated Static API, Offerwall API and CPE Offer Status API added field event_name
to CPE tasks. Also added callback parameter {event_name}
to conversion callback macro list.
2024-06-20: v1.11.9 - Updated Static API and Offerwall API added field has_installation_callback
.
2024-06-11: v1.11.8 - Updated Offerwall API offer_status
field to the new reward status states "new", "started" and "in_progress".
2024-04-10: v1.11.7 - Updated Static API and Offerwall API to include categories
and tasks
in tags
field.
2024-01-26: v1.11.6 - Updated Offerwall API documentation examples to include support related fields.
2024-01-10: v1.11.5 - Added include_mobile_offers
, include_cpe
in Offerwall API response schema and cleaned up non-documented response fields
2024-01-03: v1.11.4 - Added documentation for placements/get_ads_txt API endpoint
2023-11-21: v1.11.3 - Added languages JA, KO, TH, ZH, ID to response examples
2023-09-23: v1.11.2 - Added a persistent task_uuid
field to cpe tasks in API responses.
2023-09-21: v1.11.1 - Added max_android_version
and max_ios_version
fields to Static API and Offerwall API response.
2023-09-11: v1.11 - Reworked the Offerwall API implementation, simplified request parameters, added client_hints
and a new example for client-side requests. Older integrations are still functional for the time being, but offer and device matching is impacted.
2023-08-21: v1.10.3 - Updated Offerwall API and Static API responses to include the optionally filled video_url_vp9
field. This is a higher quality VP9 encoded video that might exist if video_url
is set.
2023-07-01: v1.10.2 - Updated & improved the Static API documentation.
2023-06-06: v1.10.1 - Updated Offerwall API request to accept the optional include_mobile_offers
parameter that if request is made from non mobile device also includes mobile offers.
2023-05-22: v1.10.0 - Updated Offerwall API and Static API responses to include the optionally filled icon_large
and video_url
fields.
2023-01-31: v1.9.9 - Live API has been removed and will no longer return offers
2022-11-29: v1.9.8 - Updated documentation examples to reflect Static API response now including field currency_amount
2022-07-18: v1.9.7 - Added DAU/ARPDAU to publisher reporting API response
2022-06-13: v1.9.6 - Changed custom_parameter into optional_parameter for Publisher Reporting API, add custom parameters to available postback parameters.
2022-06-08: v1.9.5 - Added rewarded video statistics to Publisher Reporting API.
2022-04-27: v1.9.4 - Updated documentation to include new endpoint for setting currency conversion rate via api and 2 newly available postback parameters.
2022-04-20: v1.9.3 - Updated documentation to reflect Static API change to use Static API token.
2022-01-27: v1.9.2 - Removed default "&num_offers=10" parameter in Offerwall API. By default the number of offers returned is no longer limited.
2021-07-23: v1.9.1 - Renamed "CPE Offer Status" parameter from "externalIdentifier" to "external_identifier" and added "Static API" parameter "include_cpe"
2021-03-03: Added new documentation
2021-03-03: v1.9 - Added Offerwall API, Deprecated Live API
2020-08-11: v1.8.1 - Updated documentation to introduce new parameters to differentiate chargebacks from conversions
2020-05-19: Initial release of the Publisher Reporting API
2020-04-30: v1.8 - Updated documentation to reflect Live API changes (desktop support and optional device identifiers)
2019-07-19: v1.7 - Updated documentation to reflect the adslot changes
2018-03-07: v1.6 - Renamed platform type "web" to "desktop" + "pc" and "mac" device types, added "start_date" and "end_date" to offer entities
2018-03-01: v1.5 - Updated parameters for live api requests, provided examples with plain GET requests
2018-02-08: v1.4 - Added static api response example for non-incent campaigns
2017-10-28: v1.3 - Conversions & Postbacks has been updated, parameters are no longer passed to postback URLs automatically
2017-10-23: v1.2 - Publisher account & placement creation information, virtual placements, placement_identifier in s2s callbacks
2017-05-10: v1.1 - Release of our Live Offers API
Our Publisher APIs allow fetching our offer inventory either statically from your servers ("Static API") or dynamically for specific users both server-side and client-side ("Offerwall API").
The Offerwall API delivers offers for a specific user and filters our inventory by his country, device type and other possible factors (campaign eligibility) which will increase your conversion rate and CPM.
The Static API on the other hand is intended for special (network) integration and must be called from your servers each 15-30 minutes to make sure our campaigns are still available, did not run into daily caps or changed targeting / bid. The Static API key, once approved by your account manager, is available in the adslot details.
We use a REST API with application/json responses. Most of our examples in this documentation are available in different languages. The PHP examples rely on mod_curl being enabled.
Before starting with the API integration, we recommend to sign up for a publisher account.
We will assist you in setup and initial backend configuration regarding conversion postbacks, quality of your traffic, offer categories you're looking for and possible use cases for each API.
In your account, go to Placements / Apps and create a new API placement and one or more adslots for it.
After creating a placement and adslot(s), go to Edit Adslot to get integration details in the modal's overview tab.
If you want to perform the integration manually, you'll need the adslot id and your api key (which can be obtained under Account Settings) to proceed.
The Offerwall API provides a solution for publishers who want to include an offerwall in their application/website but have control over the presentation of the offers. All offers matching the parameters provided will be returned and can be displayed to the user. The Offerwall API supports both server and client-side calls.
Retrieve offers matching the provided parameters
This endpoint can be called client-side or server-side, where the ip
parameter is required only for server-side requests.
The following parameters are recommended:
[ip] + user_agent + client_hints
client_hints
can be obtained in a secure (SSL) browser context - please check the example to the right.
Alternative parameter combinations for special use cases are:
ip + device_make + device_model + os + os_version
(Android & iOS devices)ip + browser + browser_version
(Desktop devices)Attention: Check the list below for the correct input format of the available parameters.
adslot required | string Id of the adslot |
external_identifier required | string Example: external_identifier=id of user External identifier |
device_make | string Example: device_make=Samsung Make of the user's device |
device_model | string Example: device_model=GALAXY S10 Model of the user's device |
os | string Enum: "android" "ios" "desktop" Example: os=android Operating system of the user's device |
os_version | string Example: os_version=10.1.0 Operating system version of the user's device |
browser | string Example: browser=Chrome Browser of user's device |
browser_version | string Example: browser_version=88.0.4324.96 Browser version of user's device |
user_agent | string Example: user_agent=Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36 User agent of user's browser |
client_hints | string Example: client_hints={"architecture":"","bitness":"","brands":[{"brand":"Chromium","version":"116"},{"brand":"Not)A;Brand","version":"24"},{"brand":"Google Chrome","version":"116"}],"fullVersionList":[{"brand":"Chromium","version":"116.0.5845.164"},{"brand":"Not)A;Brand","version":"24.0.0.0"},{"brand":"Google Chrome","version":"116.0.5845.164"}],"mobile":true,"model":"Pixel 7","platform":"Android","platformVersion":"13.0.0","uaFullVersion":"116.0.5845.164","wow64":false} Client hints of user's browser if existent, otherwise empty string |
ip | string Example: ip=203.0.113.1 IP address of the user (if called server-side) |
gaid | string Example: gaid=97987bca-ae59-4c7d-94ba-ee4f19ab8c21 Google Advertising Identifier of the user's device |
idfa | string Example: idfa=6D92078A-8246-4BA4-AE5B-76104861E7DC iOS Identifier for Advertisers of the user's device |
custom_1 | string Custom parameter to pass variables to the conversion callbacks |
custom_2 | string Custom parameter to pass variables to the conversion callbacks |
custom_3 | string Custom parameter to pass variables to the conversion callbacks |
custom_4 | string Custom parameter to pass variables to the conversion callbacks |
custom_5 | string Custom parameter to pass variables to the conversion callbacks |
request_live_networks | boolean Default: false |
num_offers | integer Number of offers to return |
offer_sorting | string Enum: "payout" "conversion_rate" "epc" "ecpm" Specify the key for sorting |
minimum_payout | number <double> Minimum payout of offers to return |
include_cpe | boolean Default: false Example: include_cpe=true Specifies whether to return cpe campaigns in the response |
include_mobile_offers | boolean Default: false Example: include_mobile_offers=true Specifies whether to return mobile offers for request made from non mobile device |
async function fetchData() { let adslotId = 1234; let externalIdentifier = 'YOUR_VALUE'; let userAgent = navigator.userAgent; let clientHints = ''; if (navigator.userAgentData) { try { clientHints = await navigator.userAgentData.getHighEntropyValues(['architecture', 'bitness', 'brands', 'mobile', 'model', 'platform', 'platformVersion', 'uaFullVersion', 'fullVersionList', 'wow64']); clientHints = encodeURIComponent(JSON.stringify(clientHints)); } catch (e) { console.log(e); } } let requestUrl = 'https://www.ayetstudios.com/offers/offerwall_api/' + adslotId + '?external_identifier=' + externalIdentifier + '&user_agent=' + encodeURIComponent(userAgent) + '&client_hints=' + clientHints; fetch(requestUrl) .then(response => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(data => { console.log(data); }) .catch(error => { console.log('There was a problem with the fetch operation:', error.message); }); } fetchData();
{- "status": "success",
- "num_offers": 6,
- "filters": {
- "make": "Samsung",
- "model": "GALAXY S10",
- "os": "Android",
- "os_version": "10.1.0",
- "ip": "79.213.245.101",
- "platform": "android",
- "include_mobile_offers": true,
- "offer_sorting": "ecpm",
- "minimum_payout": 0,
- "include_cpe": true,
- "num_offers": 10
}, - "offerwall": {
- "name": "oapi2",
- "currency_name_singular": "Coin",
- "currency_name_plural": "Coins",
- "currency_sale": false,
}, - "offers": [
- {
- "id": 61,
- "store_id": "",
- "name": "Engagement Test Campaign",
- "description": "Earn 697 Coins by completing the following task:",
- "tags": {
- "tab": "tasks",
- "tasks": [
- "install"
], - "categories": [
- "games_racing",
- "games"
]
}, - "icon_large": "",
- "video_url": "",
- "video_url_vp9": "",
- "platform": "web",
- "platforms": [
- "android",
- "ios"
], - "devices": [
- "phone",
- "tablet"
], - "category": "incent",
- "conversion_type": "cpe",
- "conversion_time": 300,
- "max_conversion_time": 17340,
- "conversion_instructions": "Genieße dieses großartige Spiel und erhalte mehrere Belohnungen <div> Genießen Sie dieses großartige <b>Spiel</b> und erhalten Sie <b>mehrere Belohnungen</b> : <br> </div> {multiple_rewards} <div><br></div><div>* Text 1 Lorem Ipsum Text 1 Lorem Ipsum Text 1 Lorem Ipsum Text 1 Lorem Ipsum Text 1 Lorem Ipsum Text 1 Lorem Ipsum </div><div>** Anmerkung 2</div><div><br></div><div><br></div>",
- "conversion_instructions_short": "Genieße dieses großartige Spiel und erhalte mehrere Belohnungen",
- "conversion_instructions_long": "<div> Genießen Sie dieses großartige <b>Spiel</b> und erhalten Sie <b>mehrere Belohnungen</b> : <br> </div> {multiple_rewards} <div><br></div><div>* Text 1 Lorem Ipsum Text 1 Lorem Ipsum Text 1 Lorem Ipsum Text 1 Lorem Ipsum Text 1 Lorem Ipsum Text 1 Lorem Ipsum </div><div>** Anmerkung 2</div><div><br></div><div><br></div>",
- "created": "2020-04-09 12:53:57",
- "start_date": "2020-04-09 00:00:00",
- "end_date": "2025-04-09 00:00:00",
- "offer_owner": 0,
- "score": 0,
- "offer_complexity": "",
- "payment_required": "",
- "offer_status": "new",
- "offer_status_days_left": null,
- "require_reservation": true,
- "min_android_version": null,
- "min_ios_version": null,
- "max_android_version": null,
- "max_ios_version": null,
- "priority": 0,
- "cpe_instructions": [
- {
- "name": "Register",
- "uuid": "dff19bdd-3667-31f1-ac97-7523455a215c",
- "event_name": "ev_reg001",
- "payout_base": 56,
- "payout": 56,
- "multi_limit": 1,
- "currency": "Coins",
- "completed": false,
- "bonus_task": false
}, - {
- "name": "Complete Level 5",
- "uuid": "dff19bdd-3667-31f1-ac97-7523455a219a",
- "payout_base": 84,
- "payout": 84,
- "multi_limit": 1,
- "currency": "Coins",
- "completed": false,
- "bonus_task": false
}, - {
- "name": "Stay Engaged!",
- "uuid": "dff19bdd-3667-31f1-ac97-7523455a217d",
- "event_name": "ev_54545",
- "payout_base": 56,
- "payout": 56,
- "multi_limit": 1,
- "currency": "Coins",
- "completed": false,
- "bonus_task": false
}, - {
- "name": "Team Up",
- "uuid": "dff19bdd-3667-31f1-ac97-7523455a215a",
- "event_name": "team_up",
- "payout_base": 281,
- "payout": 281,
- "multi_limit": 1,
- "currency": "Coins",
- "completed": false,
- "bonus_task": false
}, - {
- "name": "Regular Player",
- "uuid": "dff19bdd-3667-31f1-ac97-7523455a216e",
- "event_name": "reg_ev_455",
- "payout_base": 22,
- "payout": 22,
- "multi_limit": 10,
- "currency": "Coins",
- "completed": false,
- "percentage": 0,
- "bonus_task": false
}
], - "cpe_total_rewards_currency_name": "Coins",
- "cpe_progressbar_percentage": "5",
- "payout": 697,
- "payout_base": 697,
- "payout_name": "697 Coins",
- "button_text": "+697",
- "has_installation_callback": true,
- "publisher_cpi_compensation": false
}
]
}
The Static API is recommended only for special integrations, because not all campaigns are available without more sophisticated device match. If integrated, it should be called each 15-30 minutes to make sure our campaigns are still available, did not run into daily caps or changed targeting / bid. The "Static API key" for requests is adslot specific and available in the adslot details once approved by your account manager.
Returns a list of currently running campaigns on our platform which suit your adslot configuration. Can be filtered by additional parameters.
Note: To pass custom parameters from clicks to conversion callbacks, the tracking_link
parameter in offer objects can be extended with &custom_1=...
to &custom_5=...
Those five parameters can be accessed in the publisher dashboard and from conversion callbacks using the {custom_1} - {custom_5}
macros in the resulting callback URL.
The external_identifier
parameter found as placeholder in tracking links is important for persistent user identification and also allows access to the users reward status.
adslot required | string |
apiKey required | string static api key that is available under adslot details in your dashboard |
countries[] | Array of strings Example: countries[]=US array of iso2 country codes |
platform[] | Array of strings Items Enum: "android" "ios" "desktop" |
conversion_type[] | Array of strings Items Enum: "cpi" "cpa" "cpl" |
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.ayetstudios.com/offers/get/3142?apiKey=xxxx&countries%5B%5D=DE&platform%5B%5D=ios&conversion_type%5B%5D=cpi",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
{- "status": "success",
- "num_offers": 3,
- "offers": [
- {
- "id": 218592,
- "store_id": "com.ncsoft.universeapp",
- "name": "UNIVERSE",
- "description": "",
- "tags": {
- "tab": "apps",
- "tasks": [
- "install"
], - "categories": [
- "games_racing",
- "games"
]
}, - "icon_large": "",
- "video_url": "",
- "video_url_vp9": "",
- "platform": "android",
- "platforms": [
- "android"
], - "devices": [
- "phone",
- "tablet"
], - "category": "incent",
- "conversion_type": "cpi",
- "conversion_time": 900,
- "max_conversion_time": 17340,
- "conversion_instructions": "Install and open app - new users only",
- "conversion_instructions_short": "Install and open app - new users only",
- "conversion_instructions_long": "Install and open app - new users only",
- "countries": [
- "DE"
], - "payout_usd": 0.091,
- "currency_amount": 91,
- "epc": 0,
- "daily_cap": 1000000,
- "created": "2021-02-10 13:56:38",
- "start_date": "2021-02-10 00:00:00",
- "end_date": "2026-02-10 00:00:00",
- "offer_owner": 0,
- "score": 0,
- "devices_whitelist": [ ],
- "devices_blacklist": [ ],
- "offer_complexity": "0",
- "payment_required": false,
- "i18n": {
- "en": {
- "conversion_instructions_short": "Install and open app - new users only",
- "conversion_instructions_long": "Install and open app - new users only"
}, - "de": {
- "conversion_instructions_short": "App installieren und öffnen - nur für neue Benutzer",
- "conversion_instructions_long": "App installieren und öffnen - nur für neue Benutzer"
}, - "es": {
- "conversion_instructions_short": "Instala, abre y usa esta aplicación durante unos minutos.",
- "conversion_instructions_long": "<div><b><ol><li>Instale la aplicación</li><br><li>Abre la aplicación</li><br><li>Usa la aplicación por unos minutos</li></ol></b></div><br/><div>--<br/>Si ya instaló la aplicación anteriormente, no es elegible para una recompensa</div>"
}, - "fr": {
- "conversion_instructions_short": "Installer, ouvrir et utiliser cette application pendant quelques minutes.",
- "conversion_instructions_long": "<div><b><ol><li>Installer l'application</li><br><li>Ouvrez l'application</li><br><li>Utilisez l'application pendant quelques minutes</li></ol></b></div><br/><div>--<br/>Si vous avez installé l'application avant, vous n'êtes pas admissible à recevoir une récompense.</div>"
}, - "pt": {
- "conversion_instructions_short": "Instale, abra e use este aplicativo por alguns minutos.",
- "conversion_instructions_long": "<div><b><ol><li>Instale o aplicativo</li><br><li>Abra o aplicativo</li><br><li>Use o aplicativo por alguns minutos</li></ol></b></div><br/><div>--<br/>Se você instalou o aplicativo antes, não é elegível para receber uma recompensa.</div>"
}, - "ru": {
- "conversion_instructions_short": "Установите, откройте и используйте это приложение в течение нескольких минут.",
- "conversion_instructions_long": "<div><b><ol><li>Установите приложение</li><br><li>Откройте приложение</li><br><li>Используйте приложение в течение нескольких минут</li></ol></b></div><br/><div>--<br/>Если вы установили приложение до того, как вы не получите право на вознаграждение.</div>"
}, - "ja": {
- "conversion_instructions_short": "アプリをインストールして開きます - 新規ユーザーのみ",
- "conversion_instructions_long": "アプリをインストールして開きます - 新規ユーザーのみ"
}, - "ko": {
- "conversion_instructions_short": "앱 설치 및 열기 - 신규 사용자만 해당",
- "conversion_instructions_long": "앱 설치 및 열기 - 신규 사용자만 해당"
}, - "th": {
- "conversion_instructions_short": "ติดตั้งและเปิดแอป - ผู้ใช้ใหม่เท่านั้น",
- "conversion_instructions_long": "ติดตั้งและเปิดแอป - ผู้ใช้ใหม่เท่านั้น"
}, - "zh": {
- "conversion_instructions_short": "安裝並打開應用程式 - 僅限新用戶",
- "conversion_instructions_long": "安裝並打開應用程式 - 僅限新用戶"
}, - "id": {
- "conversion_instructions_short": "Instal dan buka aplikasi - khusus pengguna baru",
- "conversion_instructions_long": "Instal dan buka aplikasi - khusus pengguna baru"
}
}, - "min_android_version": null,
- "min_ios_version": null,
- "max_android_version": null,
- "max_ios_version": null
}, - {
- "id": 218819,
- "store_id": "com.contextlogic.wish",
- "name": "Wish - Shopping Made Fun",
- "description": "",
- "tags": {
- "tab": "apps",
- "tasks": [
- "install"
], - "categories": [
- "games_racing",
- "games"
]
}, - "icon_large": "",
- "video_url": "",
- "video_url_vp9": "",
- "platform": "android",
- "platforms": [
- "android"
], - "devices": [
- "phone",
- "tablet"
], - "category": "incent",
- "conversion_type": "cpi",
- "conversion_time": 900,
- "max_conversion_time": 17340,
- "conversion_instructions": "Install and open app - new users only",
- "conversion_instructions_short": "Install and open app - new users only",
- "conversion_instructions_long": "Install and open app - new users only",
- "countries": [
- "DE"
], - "payout_usd": 0.246,
- "currency_amount": 246,
- "epc": 0.03,
- "daily_cap": 1000000,
- "created": "2021-02-12 15:11:35",
- "start_date": "2021-02-12 00:00:00",
- "end_date": "2026-02-12 00:00:00",
- "offer_owner": 0,
- "score": 0,
- "devices_whitelist": [ ],
- "devices_blacklist": [ ],
- "offer_complexity": "0",
- "payment_required": false,
- "i18n": {
- "en": {
- "conversion_instructions_short": "Install and open app - new users only",
- "conversion_instructions_long": "Install and open app - new users only"
}, - "de": {
- "conversion_instructions_short": "App installieren und öffnen - nur für neue Benutzer",
- "conversion_instructions_long": "App installieren und öffnen - nur für neue Benutzer"
}, - "es": {
- "conversion_instructions_short": "Instala, abre y usa esta aplicación durante unos minutos.",
- "conversion_instructions_long": "<div><b><ol><li>Instale la aplicación</li><br><li>Abre la aplicación</li><br><li>Usa la aplicación por unos minutos</li></ol></b></div><br/><div>--<br/>Si ya instaló la aplicación anteriormente, no es elegible para una recompensa</div>"
}, - "fr": {
- "conversion_instructions_short": "Installer, ouvrir et utiliser cette application pendant quelques minutes.",
- "conversion_instructions_long": "<div><b><ol><li>Installer l'application</li><br><li>Ouvrez l'application</li><br><li>Utilisez l'application pendant quelques minutes</li></ol></b></div><br/><div>--<br/>Si vous avez installé l'application avant, vous n'êtes pas admissible à recevoir une récompense.</div>"
}, - "pt": {
- "conversion_instructions_short": "Instale, abra e use este aplicativo por alguns minutos.",
- "conversion_instructions_long": "<div><b><ol><li>Instale o aplicativo</li><br><li>Abra o aplicativo</li><br><li>Use o aplicativo por alguns minutos</li></ol></b></div><br/><div>--<br/>Se você instalou o aplicativo antes, não é elegível para receber uma recompensa.</div>"
}, - "ru": {
- "conversion_instructions_short": "Установите, откройте и используйте это приложение в течение нескольких минут.",
- "conversion_instructions_long": "<div><b><ol><li>Установите приложение</li><br><li>Откройте приложение</li><br><li>Используйте приложение в течение нескольких минут</li></ol></b></div><br/><div>--<br/>Если вы установили приложение до того, как вы не получите право на вознаграждение.</div>"
}, - "ja": {
- "conversion_instructions_short": "アプリをインストールして開きます - 新規ユーザーのみ",
- "conversion_instructions_long": "アプリをインストールして開きます - 新規ユーザーのみ"
}, - "ko": {
- "conversion_instructions_short": "앱 설치 및 열기 - 신규 사용자만 해당",
- "conversion_instructions_long": "앱 설치 및 열기 - 신규 사용자만 해당"
}, - "th": {
- "conversion_instructions_short": "ติดตั้งและเปิดแอป - ผู้ใช้ใหม่เท่านั้น",
- "conversion_instructions_long": "ติดตั้งและเปิดแอป - ผู้ใช้ใหม่เท่านั้น"
}, - "zh": {
- "conversion_instructions_short": "安裝並打開應用程式 - 僅限新用戶",
- "conversion_instructions_long": "安裝並打開應用程式 - 僅限新用戶"
}, - "id": {
- "conversion_instructions_short": "Instal dan buka aplikasi - khusus pengguna baru",
- "conversion_instructions_long": "Instal dan buka aplikasi - khusus pengguna baru"
}
}, - "min_android_version": null,
- "min_ios_version": null,
- "max_android_version": null,
- "max_ios_version": null,
- "has_installation_callback": true,
- "publisher_cpi_compensation": false
}, - {
- "id": 218820,
- "store_id": "",
- "name": "Idle Barber Shop Tycoon - Business Management Game",
- "description": "",
- "tags": {
- "tab": "apps",
- "tasks": [
- "install"
], - "categories": [
- "games_racing",
- "games"
]
}, - "icon_large": "",
- "video_url": "",
- "video_url_vp9": "",
- "platform": "android",
- "platforms": [
- "android"
], - "devices": [ ],
- "category": "incent",
- "conversion_type": "cpe",
- "conversion_time": 300,
- "max_conversion_time": 17340,
- "conversion_instructions": "Complete multiple tasks to get your rewards. {multiple_rewards}",
- "conversion_instructions_short": "Complete multiple tasks to get your rewards.",
- "conversion_instructions_long": "{multiple_rewards}",
- "countries": [ ],
- "payout_usd": 0.506,
- "currency_amount": 506,
- "epc": "new",
- "daily_cap": 1000000,
- "created": "2021-06-09 09:17:47",
- "start_date": "2021-06-09 00:00:00",
- "end_date": "2026-06-09 00:00:00",
- "offer_owner": 0,
- "score": 0,
- "devices_whitelist": [ ],
- "devices_blacklist": [ ],
- "offer_complexity": "0",
- "payment_required": false,
- "i18n": {
- "en": {
- "conversion_instructions_short": "Complete multiple tasks to get your rewards.",
- "conversion_instructions_long": "{multiple_rewards}"
}, - "de": {
- "conversion_instructions_short": "Schließe mehrere Aktionen ab, um deine Belohnungen zu erhalten.",
- "conversion_instructions_long": "Schließe mehrere Aktionen ab, um deine Belohnungen zu erhalten."
}, - "es": {
- "conversion_instructions_short": "Completa varias tareas para obtener tus recompensas.",
- "conversion_instructions_long": "Completa varias tareas para obtener tus recompensas."
}, - "fr": {
- "conversion_instructions_short": "Effectuez plusieurs tâches pour obtenir vos récompenses.",
- "conversion_instructions_long": "Effectuez plusieurs tâches pour obtenir vos récompenses."
}, - "pt": {
- "conversion_instructions_short": "Conclua várias tarefas para obter suas recompensas.",
- "conversion_instructions_long": "Conclua várias tarefas para obter suas recompensas."
}, - "ru": {
- "conversion_instructions_short": "Выполните несколько задач, чтобы получить награды.",
- "conversion_instructions_long": "Выполните несколько задач, чтобы получить награды."
}, - "ja": {
- "conversion_instructions_short": "アプリをインストールして開きます - 新規ユーザーのみ",
- "conversion_instructions_long": "アプリをインストールして開きます - 新規ユーザーのみ"
}, - "ko": {
- "conversion_instructions_short": "앱 설치 및 열기 - 신규 사용자만 해당",
- "conversion_instructions_long": "앱 설치 및 열기 - 신규 사용자만 해당"
}, - "th": {
- "conversion_instructions_short": "ติดตั้งและเปิดแอป - ผู้ใช้ใหม่เท่านั้น",
- "conversion_instructions_long": "ติดตั้งและเปิดแอป - ผู้ใช้ใหม่เท่านั้น"
}, - "zh": {
- "conversion_instructions_short": "安裝並打開應用程式 - 僅限新用戶",
- "conversion_instructions_long": "安裝並打開應用程式 - 僅限新用戶"
}, - "id": {
- "conversion_instructions_short": "Instal dan buka aplikasi - khusus pengguna baru",
- "conversion_instructions_long": "Instal dan buka aplikasi - khusus pengguna baru"
}
}, - "tasks": [
- {
- "name": "Install the app",
- "uuid": "dff19bdd-3667-31f1-ac97-7523455a215d",
- "event_name": "triggered_001",
- "payout": 0.056,
- "currency_amount": 56,
- "conversion_limit": 1,
- "single_conversion_per_day": true,
- "i18n": {
- "en": "Install the app",
- "de": "Installiere die App",
- "es": "Instala la aplicación",
- "fr": "Installez l'application",
- "pt": "instale o aplicativo",
- "ru": "Установите приложение",
- "ja": "アプリをインストールする",
- "ko": "앱 설치",
- "th": "ติดตั้งแอป",
- "zh": "安裝應用程式",
- "id": "Instal aplikasinya"
}
}, - {
- "name": "Open your own salon",
- "uuid": "dff19bdd-3667-31f1-ac97-7523455a218a",
- "event_name": "triggered_002",
- "payout": 0.112,
- "currency_amount": 112,
- "conversion_limit": 1,
- "single_conversion_per_day": true,
- "i18n": {
- "en": "Open your own salon",
- "de": "Eröffne deinen eigenen Salon",
- "es": "Abre tu propio salón",
- "fr": "Ouvrez votre propre salon",
- "pt": "Abra seu próprio salão",
- "ru": "Откройте свой салон",
- "ja": "自分のサロンを開く",
- "ko": "나만의 살롱을 열어보세요",
- "th": "เปิดร้านทำผมของคุณเอง",
- "zh": "開設自己的沙龍",
- "id": "Buka salon Anda sendiri"
}
}, - {
- "name": "Earn 1m game dollars",
- "uuid": "dff19bdd-3667-31f1-ac97-7523455a219c",
- "event_name": "triggered_003",
- "payout": 0.168,
- "currency_amount": 168,
- "conversion_limit": 1,
- "single_conversion_per_day": true,
- "i18n": {
- "en": "Earn 1m game dollars",
- "de": "Verdienen Sie 1 Mio. Spieldollar",
- "es": "Gana 1 millón de dólares en juegos",
- "fr": "Gagnez 1 million de dollars de jeu",
- "pt": "Ganhe 1 milhão de dólares em jogos",
- "ru": "Заработайте 1 млн игровых долларов",
- "ja": "100万ゲームドルを獲得",
- "ko": "백만 달러의 게임 달러를 벌어보세요",
- "th": "รับหนึ่งล้านดอลลาร์เกม",
- "zh": "賺取一百萬遊戲幣",
- "id": "Hasilkan satu juta dolar permainan"
}
}, - {
- "name": "Earn 10 milion game dollars",
- "uuid": "dff19bdd-3667-31f1-ac97-7523455a215b",
- "payout": 0.168,
- "currency_amount": 168,
- "conversion_limit": 1,
- "single_conversion_per_day": true,
- "i18n": {
- "en": "Earn 10 milion game dollars",
- "de": "Verdienen Sie 10 Millionen Spieldollar",
- "es": "Gana 10 millones de dólares en juegos",
- "fr": "Gagnez 10 millions de dollars de jeu",
- "pt": "Ganhe 10 milhões de dólares em jogos",
- "ru": "Заработайте 10 миллионов игровых долларов",
- "ja": "1,000万ゲームドルを稼ぐ",
- "ko": "게임달러 1000만 달러 벌기",
- "th": "รับเงินเกมสิบล้านดอลลาร์",
- "zh": "賺取一千萬遊戲幣",
- "id": "Hasilkan sepuluh juta dolar permainan"
}
}
], - "min_android_version": null,
- "min_ios_version": null,
- "max_android_version": null,
- "max_ios_version": null,
- "has_installation_callback": true,
- "publisher_cpi_compensation": false
}
]
}
Retrieves cpe offers reward status information for the adslot by the given external identifier. The returned data includes the offer id, click id, publisher payment, shows completed and available task etc.
adslot required | string |
apiKey required | string static api key that is available under adslot details in your dashboard |
external_identifier required | string |
{- "status": "success",
- "num_offers": 2,
- "offers": {
- "218819": {
- "name": "Wish - Shopping Made Fun",
- "click_id": "785efc9772d5-c218819-a7dcaed2d895",
- "expiration_time": 1623330344,
- "created": "2021-05-11 13:05:44",
- "pub_payout": 0.73,
- "remaining_payout_usd": 0.281,
- "tasks": [
- {
- "name": "Task 1",
- "uuid": "dff19bdd-3667-31f1-ac97-7523455a215e",
- "event_name": "1w2e1w2e",
- "status": "completed",
- "num_conversions": 1,
- "pub_payout": 0.168,
- "conversion_limit": 1,
- "single_conversion_per_day": false,
- "i18n": {
- "de": "Aufgabe 1",
- "es": "Tarea 1",
- "fr": "Tâche 1",
- "pt": "Tarefa 1",
- "ru": "Задача 1",
- "ja": "アウフガベ・アイン",
- "ko": "작업 1",
- "th": "เอาฟกาเบ ไอน์ส",
- "zh": "奧夫加貝·艾因斯",
- "id": "Tugas satu"
}
}, - {
- "name": "Task 2",
- "uuid": "dff19bdd-3667-31f1-ac97-7523455a934b",
- "event_name": "d54sd45s",
- "status": "available",
- "num_conversions": 1,
- "pub_payout": 0.281,
- "conversion_limit": 2,
- "single_conversion_per_day": false,
- "i18n": {
- "de": "Aufgabe 2",
- "es": "Tarea 2",
- "fr": "Tâche 2",
- "pt": "Tarefa 2",
- "ru": "Задача 2",
- "ja": "アウフガベ ツヴァイ",
- "ko": "아우프가베 즈바이",
- "th": "เอาฟกาเบ ซไว",
- "zh": "奧夫加貝·茨維",
- "id": "Tugas kedua"
}
}
]
}, - "218872": {
- "name": "Play Games and Earn ",
- "click_id": "2510e039d5fe-c218872-f11f0318ee70",
- "expiration_time": 1623395242,
- "created": "2021-05-12 07:07:22",
- "pub_payout": 0.381,
- "remaining_payout_usd": 0.281,
- "tasks": [
- {
- "name": "Task 1 ",
- "uuid": "dff19bdd-3667-31f1-ac97-7523455a915c",
- "event_name": "adsddssd",
- "status": "completed",
- "num_conversions": 1,
- "pub_payout": 0.1,
- "conversion_limit": 1,
- "single_conversion_per_day": false,
- "i18n": {
- "de": "Aufgabe 1",
- "es": "Tarea 1",
- "fr": "Tâche 1",
- "pt": "Tarefa 1",
- "ru": "Задача 1",
- "ja": "アウフガベ・アイン",
- "ko": "작업 1",
- "th": "เอาฟกาเบ ไอน์ส",
- "zh": "奧夫加貝·艾因斯",
- "id": "Tugas satu"
}
}, - {
- "name": "Task 2",
- "uuid": "dff19bdd-3558-31f1-ac09-9923kk5a919d",
- "event_name": 32234,
- "status": "available",
- "num_conversions": 0,
- "pub_payout": 0.281,
- "conversion_limit": 1,
- "single_conversion_per_day": false,
- "i18n": {
- "de": "Aufgabe 2",
- "es": "Tarea 2",
- "fr": "Tâche 2",
- "pt": "Tarefa 2",
- "ru": "Задача 2",
- "ja": "アウフガベ ツヴァイ",
- "ko": "아우프가베 즈바이",
- "th": "เอาฟกาเบ ซไว",
- "zh": "奧夫加貝·茨維",
- "id": "Tugas kedua"
}
}
]
}
}
}
The Surveywall API provides a solution for publishers who want to include a surveywall in their application/website, but have control over the presentation of the surveys. All surveys matching the parameters provided will be returned and can be displayed to the user. The Surveywall API supports both server and client-side calls.
We provide an SDK to easily integrate the API into your website. You can find an example here: https://jsbin.com/nizusojeke/edit?html,output
If you want to modify the SDK to fit your needs, you can find the source code here: https://d1mys92jzce605.cloudfront.net/offerwall/js/ayetsurveywallapisdk_source.js
Retrieve surveys matching the provided parameters
This endpoint can be called client-side or server-side. The targeting and ip parameter are required when calling the endpoint server-side.
Attention: Check the list below for the correct input format of the available parameters.
Surveys work by matching a respondent to a specific survey. A survey may only accept respondents with a certain demographic (e.g., only women, age 18-35, own a dog). We do the targeting and ask respondents for this information.
If a user has not previously completed a profile, we will ask them a few initial profiling questions when they first click on a survey link from the Surveywall API. We provide you with the number of initial profiling questions at profiler.missing_profiler_qualifications
.
Certain surveys may require more specific questions: we list the number of missing survey specific questions for each survey under missing_qualifications
.
Publishers can choose to ignore the missing question information or display the number to the user. However, the questions are always asked by us - the publisher doesn't have to worry about asking the user.
adslot required | string |
external_identifier required | string Example: external_identifier=id of user External identifier |
targeting | string Enum: "desktop" "android_phone" "android_tablet" "ios_phone" "ios_tablet" The device type. If this parameter is not provided, we try to detect the device type based on the user agent. |
ip | string IP address of the user (if called server-side) |
num_surveys | integer Default: 20 Number of surveys to return |
survey_sorting | string Enum: "loi" "payout" "cr" "eepm" Specify the key for sorting |
minimum_payout | number Example: minimum_payout=0.44 Minimum payout of surveys to return |
custom_1 | string Custom parameter to pass variables to the conversion callbacks |
custom_2 | string Custom parameter to pass variables to the conversion callbacks |
custom_3 | string Custom parameter to pass variables to the conversion callbacks |
custom_4 | string Custom parameter to pass variables to the conversion callbacks |
custom_5 | string Custom parameter to pass variables to the conversion callbacks |
<!--- You can find a working example here: https://jsbin.com/nizusojeke/edit?html,output You may use the SDK we provide to easily integrate the Surveywall API into your website. If you want to modify the code to better integrate it into your website, feel free to take a look at unminified the code here: https://d1mys92jzce605.cloudfront.net/offerwall/js/ayetsurveywallapisdk_source.js !---> <div id="surveys-container"></div> <script src="https://d1mys92jzce605.cloudfront.net/offerwall/js/ayetsurveywallapisdk.min.js"></script> <script> let theme = { "primaryColor": "#d45097", "tagColor": "#3c3c3b", q"payoutPrefix": "$", "payoutSuffix": " Coins" }; let adslotId = 17330; let externalIdentifier = "foobar"; AyetSurveys.initialize(adslotId, externalIdentifier, theme, {"num_surveys": 20}); </script>
{- "status": "success",
- "filters": {
- "targeting": "desktop",
- "ip": "127.0.0.1",
- "num_surveys": 20,
- "survey_sorting": "cr",
- "minimum_payout": 0
}, - "surveywall": {
- "name": "surveywall test",
- "currency_name_singular": "Coin",
- "currency_name_plural": "Coins",
- "currency_sale": false,
- "currency_sale_multiplier": 1,
- "currency_sale_end": null
}, - "profiler": {
- "missing_profiler": false,
- "missing_profiler_qualifications": 0
}, - "surveys": [
- {
- "id": 6232459,
- "cpi": 32.21,
- "loi": 17,
- "category": "miscellaneous",
- "remaining_completes": 2,
- "is_new": false,
- "missing_qualifications": 0,
}, - {
- "id": 6232614,
- "loi": 16,
- "category": "technology",
- "remaining_completes": 2,
- "is_new": false,
- "cpi": 54.25,
- "missing_qualifications": 1,
}
]
}
Our Publisher Reporting API allows publishers with and without adserver functionality to retrieve detailed statistics on their placement & adslot performance.
Retrieves all statistics for the account for the given date range and filtered by optional parameters. The returned data includes the impressions, clicks, conversions, revenue etc. statistics for the specified date range for each day grouped by country. If optional parameters (placements, adslots, etc.) are set, only metrics matching those parameters will be returned.
Attention: Requests to the reporting module are limited to 20 calls per hour.
startDate required | string Example: startDate=2020-05-05 The start date for the statistics retrieval |
endDate required | string Example: endDate=2020-05-06 The end date for the statistics retrieval |
placements[] | Array of integers Example: placements[]=102&placements[]=103 Placements to get reports for |
adslots[] | Array of integers Example: adslots[]=525&adslots[]=526 Adslots to get reports for |
adsource[] | Array of strings Example: adsource[]=adnetwork_abc&adsource[]=adnetwork_xy names of your configured partner networks (adserver customers only) |
adformat[] | Array of strings Example: adformat[]=offerwall |
countries[] | Array of strings Example: countries[]=US&countries[]=DE |
optional_parameter | string Example: optional_parameter=test_parameter Filters statistics with a specific subtype (works only on Rewarded Video Adslots and if a optionalParameter is set/supplied in AyetVideoSdk.init(...) when initializing) |
apiKey required | string Your publisher api key (under account settings in dashboard) |
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.ayetstudios.com/api2/publisher/reporting?startDate=2020-05-05&endDate=2020-05-6&apiKey=xxxx&placements[]=5",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
{- "status": "success",
- "filters": {
- "startDate": "2022-07-10",
- "endDate": "2022-07-11",
- "placements": [
- "3"
], - "adslots": [
- "3",
- "26"
]
}, - "data": {
- "2022-07-10": {
- "3": {
- "type": "web",
- "statistics": [ ],
- "adslots": {
- "3": {
- "adformat": "offerwall",
- "statistics": [ ],
- "network_statistics": [ ]
}, - "26": {
- "adformat": "offerwall_api",
- "statistics": [ ],
- "network_statistics": [ ]
}
}
}
}, - "2022-07-11": {
- "3": {
- "type": "web",
- "statistics": {
- "US": {
- "DAU": 1
}
}, - "adslots": {
- "3": {
- "adformat": "offerwall",
- "statistics": {
- "US": {
- "impressions": 2,
- "clicks": 0,
- "adserver_clicks": 0,
- "conversions": 0,
- "adserver_conversions": 0,
- "revenue": 0,
- "adserver_revenue": 0,
- "mediation_fees": 0,
- "DAU": 1,
- "EPC": 0,
- "eCPM": 0
}
}, - "network_statistics": {
- "US": {
- "ayetstudios": {
- "offer_impressions": 14,
- "clicks": 0,
- "conversions": 0,
- "revenue": 0,
- "EPC": 0,
- "eCPM": 0
}
}
}
}, - "26": {
- "adformat": "offerwall_api",
- "statistics": [ ],
- "network_statistics": [ ]
}
}
}
}
}
}
Allows publishers to update Currency Conversion Rate, for a specific adslot.
Attention: Requests to the set_conversion_rate module are limited to 60 calls per hour.
apiKey required | string Your publisher api key (under account settings in dashboard) |
adslotId required | integer The id of the adslot for which the currency conversion rate is to be update. |
rate required | number <double> Example: rate=12.2 New currency conversion rate. |
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.ayetstudios.com/api2/publisher/placements/set_conversion_rate?apiKey=xxx&adslotId=xx&rate=25000",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
{- "status": "success",
- "message": "Currency conversion rate for Adslot # 5 successfully updated to 25000.23 ."
}
Allows publishers to retrieve the current (raw) ads.txt file.
placementId required | integer Placement ID |
hash required | string hash for privacy reasons (can be retrieved in the ads txt tab in the placement settings modal) |
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.ayetstudios.com/api2/publisher/placements/get_ads_txt?placementId=22&hash=0abd827e81729b681b85022ca8dd14d1914e215c",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
# AYET-STUDIOS ayetstudios.com, AYETSTUDIOS, DIRECT ayetstudios.com, PL-22, DIRECT
Whenever a conversion for your traffic is tracked, our server sends a postback to your tracking endpoint. In your publisher dashboard, you can configure the callback urls for each of your placements.
Important: Your server must always reply with an HTTP 200 status code to our postbacks. Otherwise we will resend the postback 12 times over a span of one hour before giving up.
Let's assume this is your configured postback URL (in our dashboard under Placements -> Settings):
https://www.your-ad-server.com/postback?payout_usd={payout_usd}&placement_identifier={placement_identifier}&adslot_id={adslot_id}&sub_id={external_identifier}&your_parameter={custom_1}
Your user used this tracking link and completed an offer:
https://www.ayetstudios.com/s2s/pub/53270/1/1?external_identifier=your-user-id-1&custom_1=your-custom-click-id
The final postback to your server will look like this:
https://www.your-ad-server.com/postback?payout_usd=0.51&placement_identifier=my_api_placement&adslot_id=18&sub_id=your-user-id-1&your_parameter=your-custom-click-id&is_chargeback=0-or-1
Our server will always add a custom header, X-Ayetstudios-Security-Hash, containing a SHA256 HMAC hash of the request parameters and your publisher api key. Your API key can be found in your dashboard at ayetstudios.com under settings.
To verify the hash, perform the following steps: (1) Get all request parameters (2) Order the request parameters alphabetically (3) Build and compare the HMAC hash using the ordered request parameter string and your API key
Placeholder | Type | Description |
---|---|---|
{transaction_id} | string | Unique transaction id - use for duplicate checks. If chargeback it's prepend with r- |
{payout_usd} | float | The actual conversion payout in USD. If chargeback value is negative. |
{currency_amount} | float | The amount of currency the user earned (taken from your offerwall currency configuration). If chargeback value is negative. |
{external_identifier} | string | Offerwall API: The external_identifier parameter passed when requesting the offers; Static API: The value of the sub_id parameter appended to the original tracking link |
{user_id} | int | Our internal ID for this offerwall user. |
{placement_identifier} | string | The placement_identifier for which the conversion occured |
{adslot_id} | int | The ID of the adslot for which the conversion occured |
{sub_id} | string | The ID of the placement for which the conversion occured[PL-1...n] |
{ip} | string | Converting device's IP address if known, 0.0.0.0 otherwise |
{offer_id} | int | Offer ID of the converting offer |
{offer_name} | string | Name / title of the converting offer |
{device_uuid} | string | ayeT-Studios internal device identificator |
{device_make} | string | Device manufacturer |
{device_model} | string | Device model |
{advertising_id} | string | Device advertising id (GAID/IDFA) if known, otherwise empty |
{sha1_android_id} | string | Device sha1 hashed android id if known, otherwise empty |
{sha1_imei} | string | Device sha1 hashed imei if known, otherwise empty |
{is_chargeback} | int | Either 0 or 1. Indicator if the callback is a conversion (0) or a chargeback (1). |
{chargeback_reason} | string | Reason why chargeback created. Only available if is_chargeback set to 1. |
{chargeback_date} | string | Date of chargeback creation. Only available if is_chargeback set to 1. |
{event_name} | string | For CPA & CPE campaigns, internal event name of the conversion. |
{task_name} | string | CPE campaigns only, shows individual task name (as shown to the user) for that conversion. |
{task_uuid} | string | CPE campaigns only, shows the persistent task UUID for that conversion. |
{currency_identifier} | string | Shows virtual currency name as set in adslot. |
{currency_conversion_rate} | number | Shows currency conversion rate used to calculate user currency for the given conversion. |
{custom_1} | string | Custom parameter to pass variables to the conversion callbacks. Can be appended to Static API / Offerwall API tracking links or the web offerwall entry URL. |
{custom_2} | string | Custom parameter to pass variables to the conversion callbacks. Can be appended to Static API / Offerwall API tracking links or the web offerwall entry URL. |
{custom_3} | string | Custom parameter to pass variables to the conversion callbacks. Can be appended to Static API / Offerwall API tracking links or the web offerwall entry URL. |
{custom_4} | string | Custom parameter to pass variables to the conversion callbacks. Can be appended to Static API / Offerwall API tracking links or the web offerwall entry URL. |
{custom_5} | string | Custom parameter to pass variables to the conversion callbacks. Can be appended to Static API / Offerwall API tracking links or the web offerwall entry URL. |