# Documentation

&#x20;

<table data-view="cards"><thead><tr><th align="center"></th><th align="center"></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td align="center"><h4><a href="/pages/JsKd452Nu8XTrHz68zaF">General</a></h4></td><td align="center">A high-level overview, introduction and FAQs.</td><td><a href="/spaces/FueMjjtWG3dON1cRyiko">/spaces/FueMjjtWG3dON1cRyiko</a></td><td><a href="/files/AZkN3Z37r311qZviOONJ">/files/AZkN3Z37r311qZviOONJ</a></td></tr><tr><td align="center"><h4><a href="/spaces/i4Is92LUeIhwL8XSbGLq/pages/7b0cb388745240dfb9e322349a6f2b9c445738b8">Advertisers</a></h4></td><td align="center">An overview of the Advertiser Dashboard, Statistics, Campaigns, Payments, and Marketplace features. </td><td><a href="/spaces/i4Is92LUeIhwL8XSbGLq">/spaces/i4Is92LUeIhwL8XSbGLq</a></td><td><a href="/files/CVj15SEKutoOEr1crxbR">/files/CVj15SEKutoOEr1crxbR</a></td></tr><tr><td align="center"><h4><a href="/spaces/GoSwRYjxsR1XS6va6yLj/pages/aa3474c6359ba71113a1d8d5522e01e707cc6760">Publishers</a></h4></td><td align="center">An overview of the Publisher Dashboard, Statistics, Sites &#x26; Zones, and Payments features.</td><td><a href="/spaces/GoSwRYjxsR1XS6va6yLj">/spaces/GoSwRYjxsR1XS6va6yLj</a></td><td><a href="/files/gRJFSVj8aItsr4QZaFVP">/files/gRJFSVj8aItsr4QZaFVP</a></td></tr><tr><td align="center"><h4><a href="/spaces/heLdnSvlscGlKRpJhqef/pages/2c3ab450772dd096fff6720cdaaefd4388f27945">RTB</a></h4></td><td align="center">A guide to RTB (Real-Time Bidding) adverstising for both Advertisers and Publishers.</td><td><a href="/spaces/heLdnSvlscGlKRpJhqef">/spaces/heLdnSvlscGlKRpJhqef</a></td><td><a href="/files/fEiZqO46SuE3jsIOjFIj">/files/fEiZqO46SuE3jsIOjFIj</a></td></tr><tr><td align="center"><h4><a href="/spaces/8NjyLDBAmO9fktn8uFhA/pages/84afb76bc198948b9277e4c733ab0ffec2d82c18">API</a></h4></td><td align="center">An overview of how to use the latest version of the public API.</td><td><a href="/spaces/8NjyLDBAmO9fktn8uFhA">/spaces/8NjyLDBAmO9fktn8uFhA</a></td><td><a href="/files/fwWt2jVOrG7NuXud8veG">/files/fwWt2jVOrG7NuXud8veG</a></td></tr><tr><td align="center"><h4><a href="/spaces/XRTEcQqfhsGV0195oNi9/pages/8rhjfAedn30tNZnutYBl">MCP</a></h4></td><td align="center">Connecting ExoClick to your AI tool.</td><td><a href="/spaces/XRTEcQqfhsGV0195oNi9">/spaces/XRTEcQqfhsGV0195oNi9</a></td><td><a href="/files/2c9SiEFRNUWyZ4zXL9rG">/files/2c9SiEFRNUWyZ4zXL9rG</a></td></tr><tr><td align="center"><h4><a href="/spaces/J4RqRdVZkeXomdmwHKOL/pages/e1b388cfdae286dc8f9076e173a9f50dc14a4187">Tutorials</a></h4></td><td align="center">Step-by-step guides for Advertisers and Publishers.</td><td><a href="/spaces/J4RqRdVZkeXomdmwHKOL">/spaces/J4RqRdVZkeXomdmwHKOL</a></td><td><a href="/files/t4p1uD8aU123EyKlqWKJ">/files/t4p1uD8aU123EyKlqWKJ</a></td></tr><tr><td align="center"><h4><a href="/spaces/ghqSi3hY9nwZcHJBosKe/pages/ef5929e2d3d88bfef020a4050812603eebe44277">Videos</a></h4></td><td align="center">Platform features explained through video tutorials.</td><td><a href="/spaces/ghqSi3hY9nwZcHJBosKe">/spaces/ghqSi3hY9nwZcHJBosKe</a></td><td><a href="/files/Hmc0l40ps9DiHoEvaXVS">/files/Hmc0l40ps9DiHoEvaXVS</a></td></tr></tbody></table>

&#x20;

&#x20;

&#x20;


# Why Choose ExoClick

We are ranked the 4th biggest advertising company in the world, with a global presence for your traffic/campaigns!

There are several reasons why to choose ExoClick as your ad network:

**For Advertisers:**

* Advanced targeting options to reach specific audiences for your products
* A day parting facility linked directly to the country(s) you wish to target and the hours to maximize impact
* Various pricing models to match your budget - run a campaign for as little as 20 EUR/USD
* Easy to fund your account with an auto-recharge option if you fund with Credit Card.
* Real-time reporting see your statistics at anytime for an up-to-date assessment of your campaign performance
* 24/7 assistance and quick campaign approval, start making money now!!

**For Publishers:**

* High earnings potential by matching the best performing advertisers to your ad-zones and our own [**Ad Block**](https://neverblock.exads.com/) solution to keep those revenues flowing!
* Quality advertising, we stay updated to the latest compliance changes within the industry, to ensure safe/compliant campaigns reach your sites!
* Multiple advertising formats allowing you to integrate specific ad-zones that fit perfectly with the type of visitors you receive
* Multiple payment options and frequencies: receive your earnings weekly or monthly!
* Real-time reporting, see your statistics at anytime for an up-to-date assessment of your site/ad-zones performance
* 24/7 assistance when you need it!

[**Sign up now**](https://www.exoclick.com/signup/) - or contact our [**Customer Success team**](https://www.exoclick.com/contact/) (Select **New business enquiry**) if you have additional questions.

**We look forward to working with you!**


# Getting Started

Whatever the service you are looking for you can register in 2 minutes by clicking [<mark style="color:$primary;">**here**</mark>](https://www.exoclick.com/signup/).

Before registering, please make sure you agree with ExoClick´s [**Terms And Conditions**](https://www.exoclick.com/terms-conditions/).

If you want to **advertise** with us but not sure what to do, please feel free to check the steps [**here**](/advertisers/setting-up-advertiser-account).

If you are a **publisher** [**here**](/publishers/setting-up-publisher-account) you'll find a step by step guide to setting up your account!

For **Ad Exchange/programmatic** facilities see [**here**](https://www.exoclick.com/advertisers-2/programmatic/) and follow the links at the bottom of that page.

**Can I work as an individual?** Yes of course you can!

If you still have questions before you want to sign up, please [**contact**](https://www.exoclick.com/contact/) our Customer Success team selecting the reason "**New Business Enquiry**" from the drop down options.

## Overview

![The Admin Panel](/files/2830fe68257f23cda8fa802b0bddb2e5e49030e6)

The Admin Panel provides a single interface for Advertisers and Publishers to monitor and manage all aspects of their online advertising business.

This documentation will give you an overview of all of the different components of the Admin Panel, whether you are using it as an Advertiser, Publisher or both.

### Supported Browsers

* Google Chrome: Version 80+
* Firefox: Version 75+
* Opera: 67+
* Safari: Version 13+
* Microsoft Edge: Version 81+


# My Profile

The **My Profile** page contains all the essential information about your account. This section covers each tab available in the **Profile** page, explaining their purpose and how to configure them correctly.

## Profile Tab

![profile-tab](/files/ac7325219cda96920af3a43dcbd0a3c171310368)

The **Profile** tab is where you provide all the necessary information about yourself or your business. The data you include here will be used for your **publishing and advertising invoices**, as well as to **contact you** should there be any issues with your account.

{% hint style="info" %}
**Note**: the fields listed here must be completed in order to **verify your account** to run campaigns or to receive publisher earnings.
{% endhint %}

![profile-tab](/files/8747ff3761de419c71bdeda91efab2f58f625b89)

**For more details, visit:**

* **Advertisers**: [Setting Up an Advertiser Account](/advertisers/setting-up-advertiser-account)
* **Publishers**: [What do I need to get my earnings?](/publishers/publishers-faq/publisher-compliance/what-need-to-get-earnings)

### Important Note: VAT / Tax ID

* **For EU-based advertisers**: You must verify your **VAT number** before adding funds to your account.
* **For Spain-based publishers**: You are required to present a certificate from the **Censo de obligados tributarios** to receive payments. Please [contact our Compliance team](https://www.exoclick.com/contact/) in order to verify your data.
* **For non-EU-based accounts**: VAT is **not required**, but the field **cannot be left blank**. You can enter any **tax ID or business identification number** that you want to appear on your invoices.

### Communication Settings

In this section, you can manage your communication preferences, including:

* **Receive Email Notifications** – Stay updated with important account-related alerts.
* **Sign up for our Newsletter** – Get the latest news, offers, and updates from ExoClick.

### Security

![profile-tab](/files/3edcc92549c2339926001d6d1741020a014f8771)

The **Profile** tab also includes security settings where you can **change your password**.

### Two-Factor Authentication (2FA)

![2FA-tab](/files/fef4da7fe9e2fe2e3c3cde2775fab0139d159da6)

Two-Factor Authentication (2FA) adds an extra layer of security to your account by requiring a second verification step when logging in. We highly recommend enabling 2FA for increased security.

For more details, visit: [Enabling Two-Factor Authentication](/exoclick-docs/enabling-two-factor-authentication)

## Settings Tab

![settings-tab](/files/e30ead0f9ae76a08e88bb486241e9c5d0ec81c5d)

{% hint style="info" %}
**Note**: These settings apply only to advertisers.
{% endhint %}

### Global Daily Budget

Set a **daily budget** for your advertising campaigns. You can choose any amount between **$50 and $200,000** to control your spending.

Once your **Global Daily Budget** is reached, all your **active campaigns will automatically pause** until the next day when the budget resets. This ensures that you do not exceed your planned spending.

### Balance Email Alert

Receive an **email notification** when your account balance drops below a certain amount. You can set this threshold anywhere between **$100 and $100,000** to stay informed and ensure your campaigns keep running smoothly.

## Payment Settings Tab

![payment-settings-tab](/files/7314a773d039c16fbaad92e19e0cbb1f9efcfc54)

{% hint style="info" %}
**Note**: These settings apply only to publishers.
{% endhint %}

### Payment Type

By default, **no payment method** is selected. Publishers must choose their **preferred payment method** to receive payouts.

### Minimum Payout & Payment Frequency

* Set your **minimum payout amount**, which can range from **$20 to $20,000**.
* Choose how often you receive payments: **Weekly or Monthly**.

For more details, visit: [Payment Options & Timescales](/publishers/payments)

## Blacklists Tab

![Blacklists-tab](/files/177f87743cb880cdc4f23d7756202e7de40d32ec)

The **Blacklists** tab allows you to **search for specific sites** and add them to your blacklist. You can **search by site name or site ID** to find the sites you want to block.

### How is this different from site blocking in campaigns?

* **Campaign-level blocking** only applies to a **single campaign**, meaning the blocked sites will still be able to send traffic to your other campaigns.
* The **Blacklists tab**, however, allows you to create a **global blacklist** that applies across **all your campaigns**. Any sites added here will be completely blocked from delivering traffic to you, regardless of the campaign.

If you want to **target blacklisted sites again** in the future, you can update your blacklist and remove them at any time.

For more details, visit: [Blacklisted Sites](/advertisers/campaigns/creating-a-campaign/create-campaign-step5#blacklisted-sites)

## API Tokens Tab

![API-tab](/files/b290a9650cafec5fd415da7de33d1e0ec2cb7228)

The **API Tokens** tab displays all the **API tokens** you have created. For each token, you can see:

* **Status** – Indicates whether the token is active or inactive.
* **Date of Creation** – Shows when the token was generated.
* **Token** – The unique key used to access **ExoClick’s API**.

Use these tokens to integrate with [ExoClick’s API](/api).

## Notifications Tab

![notifications-tab](/files/7a350d3b0437a0f1458a8a02ca5e78da7fd3bc16)

The **Notifications** tab stores all your **notifications from the last 90 days**. After this period, notifications are **automatically deleted** and will no longer be available.

For more details, visit: [Notifications](/exoclick-docs/notifications)


# Icons in Your Admin Panel

![Icons-tab](/files/e0d5c3f3d769fb76c1ab07243b20c8fb814bdb2a)

Your admin panel features several icons that provide quick access to key functions. From managing your account settings and changing the platform language to receiving important notifications and contacting Customer Success via live chat, these icons help you navigate efficiently. Advertisers also have a balance icon to track funds and add credit when needed.

## Balance & Add Funds

{% hint style="info" %}
This applies only to advertisers.
{% endhint %}

Displays account balance and allows adding funds.

For more details, visit: [Payments](/advertisers/advertiser-payments)

## User Profile

![Icons-tab](/files/ca6737000a7e5b5096affd674ff03950aaecd125)

The User Profile dropdown contains the following options:

* **My Profile**: Access and manage your account settings and personal information.

  For more details, visit: [My Profile](/exoclick-docs/my-profile)
* **Help**: Access the Documentation section and other helpful documentation.

  For more details, visit: [ExoClick Documentation](/)
* **Switch View**: Adjust the layout of your admin panel by moving the top bar to the side of the screen.
* **Logout**: Sign out of the admin panel.
* **Version**: View the current version of your admin panel.

## Language Selector

Easily switch the platform language to your preference.

The available options include:

* 简体中文 (Simplified Chinese)
* Deutsch (German)
* English
* Español (Spanish)
* Français (French)
* Bahasa Indonesia (Indonesian)
* Italiano (Italian)
* 日本語 (Japanese)
* Português (Portuguese)
* Русский (Russian)
* ไทย (Thai)
* Tiếng Việt (Vietnamese)

## Notifications

Alerts for important updates.

For more details, visit: [Notifications](/exoclick-docs/notifications)

## Live Chat

Contact Customer Success Managers in real time.

Easily reach us via live chat for instant assistance.

The icon will appear grayed out when live chat is unavailable and active when support is online.


# Vat Verification

## For Advertisers

* Advertising Accounts within the EU are subject to VAT when funds are added unless they have a valid VAT number that has been verified by our Compliance Team on their account.
* Advertisers based in Spain will be charged VAT regardless of whether they have a valid VAT number or not. Exoclick is based in Spain so must conform to Spanish VAT regulations.
* **DO NOT** add funds if your VAT details are showing as "Pending". Instead contact our Compliance Team [**here**](https://www.exoclick.com/contact/) and select the reason "VAT Verification".

## For Publishers

* Any publisher account based in the EU (or connecting from an EU country) should add their VAT number reviewed for validation.
* Spanish publishers must contact ExoClick Compliance team [**here.**](https://www.exoclick.com/contact/)


# How to Change Account Currency

Currently there is no option to switch currencies in your Admin panel once the account is created.

Should you need a different currency on your account, please follow these steps:

1. Create a new account [**here**](https://www.exoclick.com/signup/).
2. Select **EURO or USD** in the registration form.

{% hint style="info" %}
**NOTE:** Advertising Accounts within the EU are subject to 21% VAT when funds are added. Unless you work or live outside of Spain and you have a \[**valid VAT number**] that has been verified by our Compliance Team.
{% endhint %}

**DO NOT** add funds if your VAT details are showing as "Pending". Instead contact our Compliance Team [**here**](https://www.exoclick.com/contact/) and select the reason "**VAT Verification**".


# How can I Change my Account Username?

Currently there is no option to change username in your Admin panel once the account is created.

In case you need to change the account username, you will have to create a new account.&#x20;

Please follow the steps below:

* [**Contact**](https://www.exoclick.com/contact/) our Compliance team to close the account you no longer need.
* [**Sign up**](https://www.exoclick.com/signup/) with the new username you want for your account.


# Which time zone are our statistics in?

All our statistics are displayed in **New York time zone** (EST or EDT). Currently there isn't an option to change the time zone for the entire account.

The only tab where you can use a different time zone is the **Hour** sub-tab within **Dates**. On the right side, below the graph, you can change the time zone by selecting the corresponding country and time zone:

![statistics](/files/c2cdc9b0e3ae9e4db82f1e35bc83350b50c0f120)

{% hint style="info" %}
Hourly data is available up to the last 30 days of data.
{% endhint %}


# Enabling Two-Factor Authentication on ExoClick Accounts

**Two-factor authentication (2FA)** is a highly efficient way to secure your accounts and digital assets. It works like an extra layer of security to better protect both user’s credentials and the resources that the user can access. If you enable 2FA, you will be asked for two things when you log into your ExoClick account: a **password** (something you know) and a **second factor**, such as a one-time passcode via SMS sent to your mobile phone (something you own).

In order to enable 2fa in your ExoClick account, click on your **Username** in the top-right corner of the Admin panel, then click again to access your **Account Details**

![account\_details](/files/0bdb22c0770610ffc1954c91aed823d08e417984)

At the bottom of the page corner, under the **Security** section, you will find the **Two-Factor Authentication** section:

![2FA\_settings](/files/a11a9208efb23e31e956dff3cafc843063068869)

You can choose 2 different options of 2fa: via **Authentication app** or via **SMS Authentication**.

## Via Authentication app

Click **Enable** and **scan the QR code with your authentication app**. If the QR code doesn't work, you can add the authentication code manually. After adding ExoClick to your authentication app, add the **6-digit code** provided by the authentication app and click **Next**.

{% hint style="info" %}
**Note**: You can also set it as your primary authentication method by checking the box.
{% endhint %}

![qr code](/files/d4ba21c2ae2654811abf91e22725ec6af29f97d2)

2FA will be enabled in your account. From now on, you will need your authentication app in addition to your password in order to log in to ExoClick.

{% hint style="info" %}
**Note**: You can **use the Authentication app if multiple users need to connect**. An example of authentication app is the [Google Authenticator](https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2\&hl=en)
{% endhint %}

## Via SMS

Click **Enable** and **add your phone number**. Make sure that you add the appropriate phone prefix for your country:

![phone number](/files/885b7493ff1460414dca9631ffbe1a27b477b0a5)

After clicking **Next**, you will be asked to confirm 2FA by adding a **6-digit code** sent to your phone:

![sms](/files/d5800f1bb0885c88f19c7d0ee564e66d33f89a8f)

{% hint style="info" %}
**Note**: 2FA SMA method is not available for the following countries: Sudan, Zambia, Senegal, Tanzania, Mauritania, Bolivia.
{% endhint %}

2FA will be enabled in your account. From now on, you will need to provide not only your password but also the 6-digit token sent to your phone in order to login to ExoCLick.

{% hint style="info" %}
**Note**: You can have both 2FA methods enabled in your account. However, **only one of them** will be requested for each login attempt. You can determine which method will be requested using the **Set as Primary Authentication method** checkbox or by clicking on the **Set as Default** link.
{% endhint %}

![authentication 1](/files/99865c529dac98bf6a0316026752d7c40d08cb03)


# Guidelines/ T\&C Abuse

Compliance issues involving traffic manipulation, or promoting the spread of computer viruses/Malware are our number one compliance priority, and we work 24/7 to ensure our clients are protected and action taken quickly!!

If you see something that breaks our [**guidelines**](https://www.exoclick.com/guidelines/), report such cases immediately, if you can be sure the source originated from **ExoClick** and you can provide sufficient information that will enable to us to take the appropriate action!

Website content copyright should be discussed directly with the webmaster, unless they have broken our [**guidelines**](https://www.exoclick.com/guidelines/).

All banner/landing page copyright claims need to be supported with an official [**DMCA**](http://en.wikipedia.org/wiki/Digital_Millennium_Copyright_Act).

Please select “**Abuse of our guidelines**” when clicking [**here**](https://www.exoclick.com/contact/) from the drop down menu and complete as much of the requested information as possible (the more you tell us, the quicker it is for us to take action).


# How can I get an Account Manager?

Thank you for your interest in having an Account Manager!

The ExoClick team is dedicated to helping all customers achieve their goals and enjoy the best possible experience on our platform.

ExoClick is a self-service platform and our qualified professionals can guide you on how to start the activity, understand the platform features, optimize your account activity and reach your goals:

**Customer Success Managers** are available 24/7 (including public holidays) via email or live chat to assist with any type of request, including:

* Account setup
* Payments
* Technical or general inquiries
* Optimization reviews
* Access to exclusive deals or specific premium features

**Account Managers** are available during business hours from Monday to Friday (except public holidays) through email or Telegram. To have an Account Manager offering you enhanced optimization review and recommendations for revenue growth, the following criteria applies:

**For Advertisers:**

* Potential to generate over $10,000 per month
* Minimum of 2 months of spending
* Availability for weekly discussions with an Account Manager
* Commitment to testing various ad formats
* Compliance with our advertiser guidelines

**For Publishers:**

* Potential to generate over $20,000 in revenue per month
* High-quality websites receiving organic traffic
* At least one payment received from us
* Availability for weekly discussions with an Account Manager
* Compliance with our publisher guidelines

ExoClick also offers a **Managed Service for Advertisers only**, and we can handle your campaigns, including setup, optimization, monitoring, and reporting. For more details about conditions and fees, please contact us [here](https://www.exoclick.com/contact/).


# What is ExoClick's Certified Advertiser Program?

This new feature consists of ExoClick manually authorizing advertisers to run campaigns on exclusive inventory.

ExoClick will apply a zero-tolerance policy for advertisers failing its rules. All ExoClick advertisers must comply with [ExoClick Guidelines](https://www.exoclick.com/guidelines/) and [Terms and Conditions](https://www.exoclick.com/terms-conditions/) as well as the following specific rules:

## Certified Advertiser Program

ExoClick will enable its Advertiser Certification Program which consists of manually authorizing advertisers to run campaigns on our top premium traffic sources. Advertisers eligible to apply for the Certified Advertiser Program must comply with the following criteria:

* The advertiser is assigned to an ExoClick account manager
* The advertiser is currently working with ExoClick for more than 6 months
* The advertiser has not had any serious compliance issues during the last 6 months
* The advertiser spends at least $5,000 per month with ExoClick
* The advertiser has an established relationship with ExoClick

For all certification inquiries please contact your account manager or our [Customer Success team](https://www.exoclick.com/contact/).

## Specific Rules

### Popunder Zone Specific Rules

Apart from [ExoClick's Guidelines](https://www.exoclick.com/guidelines/), we will not accept the following landing pages for these traffic sources:

* Using Back Button Offers
* Using browser notification request (push notifications on landing pages)
* Using entry Javascript prompts
* Promoting any free tube site
* Antivirus offers
* Sweepstake offers
* Served by an ad network or ad exchange

ExoClick reserves its right to make exceptions.


# Age Verification Benefits

## Overview

"Age Verification Status" is a key targeting parameter that affects campaign delivery and traffic availability.

Understanding and configuring this setting correctly helps:

* Maximise campaign performance.
* Avoid zero-traffic issues.
* Improve inventory matching.

## What is Age Verification Status?

Age Verification Status shows whether a website verifies that users are of legal age before accessing adult content.

Publishers set this status on their ad zones based on whether their users have been age-verified. Advertisers use it when configuring campaign targeting.

### Available Status Options

* **Age Verification – Verified** – User has completed age verification.
* **Age Verification – Not Verified (SFW)** – User has not passed age verification yet.

<figure><img src="/files/dbqOrt5JSJ5JaOfAhMgq" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
The "Undefined" option exists only at the zone level if a publisher has not declared verification.
{% endhint %}

## Why Age Verification Matters

### Legal Compliance

Many countries now require age-gated access for adult or restricted content. This setting supports your compliance efforts but does not by itself guarantee legal compliance; publishers remain responsible for meeting age-verification requirements in their jurisdiction.

### Protecting Your Campaigns

If an advertiser targets "Verified" users only, and a publisher's zones are still set to "Not Verified" or "Undefined", that inventory won't be eligible for the campaign. This is one of the most common reasons campaigns show zero or very low traffic, even when the audience would otherwise be a good fit.

### Audience Safety & Reputation

Verifying users helps confirm they've completed an age check before seeing adult content and reduces the risk of exposing underage users to age-restricted material.

## For Advertisers

### Targeting Configuration

When creating a campaign, you can select which age verification statuses to target.

### Best Practices

**Recommended Approach**

To reach both Verified and Not Verified traffic, create two campaigns:

{% stepper %}
{% step %}

## Target "Not Verified" traffic

Target "Not Verified" only, using SFW creative.
{% endstep %}

{% step %}

## Target "Verified" and "Undefined" traffic

Target all traffic ("Verified" & "Undefined"), using NSFW creative.
{% endstep %}
{% endstepper %}

This way it reaches both Verified traffic and traffic that never went through a verification process at all, while keeping actual Not Verified users out.

Also, this gives you separate budgets, reporting, and control for each audience and ensures you reach maximum traffic. If you only target "Verified" and skip the "Not Verified" campaign, your traffic will depend on how many publishers have configured age verification on their end, which can mean reduced volume.

Link: [Step 3 - Targeting](/advertisers/campaigns/creating-a-campaign/create-campaign-step3)

## For Publishers

### What does "Verified" traffic mean for me?

"Verified" traffic means users who have completed an age check on your site before seeing adult content, for example, through an age verification provider like AgeGO.

In practice, this affects what your zone is eligible to show:

* When a zone sends "Verified" traffic (based on the parameter set at that moment), it becomes eligible for campaigns that require age-verified users, including NSFW ads.
* When a zone sends "Not Verified" traffic, it's only eligible for campaigns approved for non-verified audiences, typically SFW ads.
* The same zone can send both types of traffic at different times, depending on whether each individual visitor has completed verification.

**Example:**

Two publishers both have adult-content zones.

* Publisher A has AgeGO active and sends the "Verified" status with their traffic → eligible for NSFW campaigns and more advertiser demand.
* Publisher B hasn't set up age verification, so their traffic comes in with no status at all. This is typical for traffic from countries with no AV law in place → still eligible for NSFW campaigns.
* Publisher C actively sends the "Not Verified" status → only eligible for SFW campaigns, less demand and lower fill/revenue on that inventory.

### Zone Configuration

When creating a zone, you must declare the correct age verification status.

This improves advertiser matching and demand quality. Advertisers targeting "Verified" traffic can only reach that volume if it's correctly declared and sent with the right status.

### How to Get "Verified" Status

To set your zones as "Verified", your site needs to have an age verification solution in place, for example, AgeGO. AgeGO checks and confirms a user's age before they access your content. Once that's active on your site, you can correctly label this traffic with the Verified age-verification status in ExoClick.

If you haven't integrated an age verification solution yet, your zones should stay as "Not Verified" or "Undefined". Declaring "Verified" without an active check in place is not correct and should be avoided, as with any self-declared setting, accuracy here is the publisher's responsibility.

### Best Practices

* Enable the age verification status on all those GEOs where AV is implemented and ensure traffic is correctly labelled.
* Review your zones periodically to make sure the status still reflects reality (for example, if you add or remove age verification later).

Links:

* [Creating a Zone](/publishers/sites-and-zones/create-zone)
* [How to serve SFW ads with ExoClick](/tutorials/tutorials/publishers-tutorials/serve-sfw-ads)

## Need Help?

[Contact](https://www.exoclick.com/contact/) support for any questions.


# Ad Formats

There are many different ad formats which Advertisers can use in their campaigns and Publishers can see in their ad zones.

## Web

### Banner

![banner](/files/da99af9d1bf9edf93b7dac84d9ca6dd4cebd9ced)

These are classic display banners, which are available in a range of different sizes.

#### **Available Pricing Models**

* CPC
* CPM
* Smart CPM
* Smart Bid

#### **Creatives Requirements**

* Image: JPEG, PNG or GIF in one of the following dimensions: 300×250, 300x500, 728×90, 160×600 or 900×250 (maximum weight 300 KB)
* Video: MP4 video in one of the following dimensions: 300×250, 300x500, 728×90, 160×600 or 900×250 (maximum weight 1500 KB)
* Iframe: iframe code with width and height attributes corresponding to the chosen dimension: 300×250, 300x500, 728×90, 160×600 or 900×250.
* Creatives with multiple images merged together into one are not permitted.

{% hint style="info" %}

* Campaigns using MP4 video banners will not display on the UC Browser.
* Video Banners are not to be confused with [Video Ads](#video).
  {% endhint %}

### Sticky Banner

![sticky banner](/files/9ef32c30a703c2cc4fc6425ee9c5b1d214312036)

A display banner that can be made to "stick" in a specific position on a desktop screen. The sticky banner comes in various sizes.

#### **Available Pricing Models**

* CPC
* CPM
* Smart CPM
* Smart Bid

#### **Creatives Requirements**

Maximum weight of 300 KB:

* Image: JPEG, PNG or GIF in one of the following dimensions: 300×250, 728×90, 160×600 or 900×250 (maximum weight: 300 KB)
* Video: MP4 video in one of the following dimensions: 300×250, 728×90, 160×600 or 900×250 (maximum weight: 1500 KB)
* Iframe: iframe code with width and height attributes corresponding to the chosen dimension: 300×250, 728×90, 160×600 or 900×250.
* Creatives with multiple images merged together into one are not permitted.

### Popunder

![popunder](/files/52a92eea3a1b0b1684ac56d2b42444b698385862)

After the user clicks a link from the publisher's website, the advertiser URL is displayed in a new browser tab. While the focus remains on the publisher's website, the advertisement will be displayed once the user closes the current browser tab.

Publisher can customize the ad zone to display when clicking any link from the website or when clicking links with a specific class.

#### **Available Pricing Models**

* CPM
* Smart CPM
* Smart Bid

#### **Creatives Requirements**

* Advertiser's landing page URL

### Instant Message

![instant message](/files/89ae778930dcec117a8bedf925467bb04296c870)

This is typically a copy of the Instant Messenger chat box. This ad format appears to users by displaying a 300×250 ad at the bottom of the page.

#### **Available Pricing Models**

* CPC
* CPM
* Smart CPM
* Smart Bid

#### **Creatives Requirements**

* Image: 300×250 JPEG, PNG or GIF (maximum weight: 300 KB)
* Video: 300×250 MP4 video (maximum weight: 1500 KB)
* Iframe: 300×250 iframe code
* Creatives with multiple images merged together into one are not permitted.

### Desktop Fullpage Interstitial

![desktop fullpage interstitial](/files/e395531addd22fb57a4f7b6a23ff63d4cad513bd)

Large 1600 x 900 horizontal banner that fills the screen after the user clicks a link from the website. There is a small padding so that the Publisher’s site is still visible underneath. User navigation resumes as usual when the visitor moves to a different tab or when the **Close Ad** button is clicked.

This ad format works only in Desktop, Smart TV and Console devices screens.

#### **Available Pricing Models**

* CPC
* CPM
* Smart CPM
* Smart Bid

#### **Creatives Requirements**

* Image: 1600x900 JPEG, PNG, GIF (maximum weight 300Kb)
* Video: MP4 video (maximum weight 1.5 Mb)
* iFrame: responsive landing page optimized to 1600x900

### Direct Link

![direct link](/files/e61e6b2142f095f6c065aeeb63d4ef69a4dd5bbd)

Direct Link are a flexible, premium format which can be presented in multiple ways by publishers based on how their users behave. Targeting users per vertical, this CPC based format is most popular in the form of full-page tabs, push notifications and backbutton offers. **Available on selected Publishers by request only.**

#### **Available Pricing Models**

* CPC
* Smart CPC
* Smart Bid

#### **Creatives Requirements**

* Advertiser's landing page URL

### Email Clicks

![email clicks](/files/a24d23195e7d8c3adf35dab5a7d9730f3e171fe1)

An email is sent to the end user containing a call to action that, when clicked, directs the user to the advertiser’s landing page or sign up form.

The recipient of the email comes from the publisher's userbase. Every email is personalized based on the publisher's preference.

#### **Available Pricing Models**

* CPC
* Smart CPC
* Smart Bid

#### **Creatives Requirements**

* Advertiser's landing page URL

## Video

### In-Stream Video (VAST)

![instream video](/files/80e9441bdaa5d3582a8fe1c824a3764241007e9b)

Automatically plays when a user clicks on a website's video content. Customizable with clickable calls to action and features a Skip ad button. HTML5 video players must be [**VAST-compatible**](broken://spaces/GoSwRYjxsR1XS6va6yLj/pages/9bc0445f49a3265e583ed914fc194dfe67f75cb0) in order to display In-Stream ads.

{% hint style="info" %}
If you don't know which HTML5 video player to use, we recommend using [Fluid Player](https://www.fluidplayer.com/), which is a free HTML5 video player that is lightweight, easy to integrate and fully compatible with our In-Stream ad zones.
{% endhint %}

#### **Requirements for in-stream video (VAST)**

The video quality needs to be high enough to be easily viewable to all site visitors:

* Type: MPEG-4 video (video/mp4)
* Video Codec: H.264
* Audio Codec: MPEG-4 AAC
* Maximum size: 51.2 MB.
* Aspect Ratio: Popular video players automatically resize the video so that it fits to their dimensions while keeping the ratio. Nevertheless, a ratio matching the player ratio (if known) is preferable. Most common video aspect ratio used is **16:9**.
* Resolution: The resolution should be viewable by all site visitors.
* Duration: The minimum duration is 10 seconds and the maximum duration is 30 seconds.
* When using a **VAST link creative**, the skipoffset attribute of the linear element must be set to **00:00:05**. See our sample [**VAST tag**](/publishers/vast/vast-tag) for reference.

#### **Available Pricing Models**

* CPM
* Smart CPM
* CPC
* CPV
* Smart Bid

### Vertical Video (VAST) <a href="#vertical-video-vast" id="vertical-video-vast"></a>

![vertical video](/files/QHk2dYqwl6JMb8F57RRQ)

A short-form vertical video format (9:16) designed for placement inside Reels, Shorts, and TikTok-style feeds. The format is served as a **VAST tag**, so all UI, playback behaviour, and interaction logic are owned by the Publisher’s own video player.

The Vertical Video format works best when integrated into a short-form video feed containing **at least 20 organic video items** (not ads), with the ad inserted between two organic videos and following the same swipe/scroll behaviour as the surrounding content.

This format is intended for use inside a vertical feed of full-page video elements that scroll or swipe one at a time, like TikTok or Instagram Reels.

**Recommended user interaction patterns (Publisher-controlled)**

The following behaviours are common in vertical video carousel implementations. They are **implemented by the Publisher’s player** and are not enforced by ExoClick:

* The ad can be swiped away immediately (from 0 seconds).
* The video typically autoplays on mute when visible, and pauses when no longer in view.
* The video may loop while in view until the user swipes to the next item.
* Upon completion, the video may remain visible and optionally offer a replay action.
* Impression tracking follows standard **VAST impression and quartile reporting**, consistent with other Video formats.
* It is recommended that the player does not re-request a new VAST ad when the user scrolls back to a previously served ad within the same session; the player should replay the cached creative locally instead of triggering a new VAST call.

**Available Pricing Models**

* CPM
* Smart CPM
* CPC
* CPV

**Creatives Requirements**

* **Type:** MPEG-4 video (video/mp4)
* **Video Codec:** H.264
* **Audio Codec:** MPEG-4 AAC
* **Maximum size:** 51.2 MB.
* **Aspect Ratio:** 9:16, with a ±10% tolerance (8.1 – 9.9 : 14.4 – 17.6).
* **Recommended dimensions:** 480×854 (minimum). 720×1280 and 1080×1920 are also accepted.
* **Minimum dimensions:** 480 × 854.
* **Maximum dimensions:** 1080 × 1920.
* **Duration:** Minimum 5 seconds, maximum 30 seconds.
* **Mandatory campaign material:** Video file + Friendly URL.
* **Optional campaign material:** Call to Action (CTA), Title, Description, Interaction Buttons.

***

**Note:** Creatives that do not match the 9:16 aspect ratio (within the ±10% tolerance) or fall outside the allowed duration are rejected at upload with the same validation errors used for other video assets.

***

### Video Slider

![video slider](/files/df6143ff4644f717bb3075c00ce73fcd452ef253)

Video format that slides in from the bottom right of the website. Features a close ad button.

#### **Available Pricing Models**

* CPM
* Smart CPM
* CPC
* CPV
* Smart Bid

#### **Creatives Requirements**

Same as [**In-stream**](#requirements-for-in-stream-video-vast).

### Outstream Video

![outstream video](/files/6f8def599ace98b4e3bca0ed7c6262dbcaf58893)

A responsive video format that can be placed anywhere on a site. It plays when more than 50% of it is revealed:

* Plays on mute and can be unmuted by the user.
* Features a **Close Ad** button on the top right. Simply disappears when closed.
* Multiple outstream videos can be used on a single page.
* Will not show in containers smaller than 200px.
* Publishers can set whether the video responds to container size, or enter a custom size from 200-1080 pixels.

#### **Available Pricing Models**

* CPM
* Smart CPM
* CPC
* CPV
* Smart Bid

#### **Creatives Requirements**

Same as [**In-stream**](#requirements-for-in-stream-video-vast).

### In-Video Banners (VAST)

![invideo banner](/files/0b739ff26c518534d4a8a8ebfa65b036294065bb)

Non-linear VAST ads displayed within a video player. Note that this format refers to static and animated images only.

#### **Available Pricing Models**

* CPC
* CPM
* Smart CPM
* Smart Bid

#### **Creatives Requirements**

* Image: 300×250 JPEG, PNG or GIF (maximum weight: 300 KB)
* Creatives with multiple images merged together into one are not permitted.

## Native

{% hint style="info" %}
Please check our [**Guidelines**](https://www.exoclick.com/guidelines/) to find out about Native additional creative requirements.
{% endhint %}

### Recommendation Widget

![recommendation widget](/files/80e48d6524e371950393ee88a8aa0d700b03ff77)

Our native advertising offers a fully customizable recommendation widget that features images and a short piece of text with a title and description. Ad zones can be configured to be fully responsive based on various screen sizes.

#### **Available Pricing Models**

* CPC
* CPM
* Smart CPM
* Smart Bid

#### **Creatives Requirements**

* Image ratio can be 16:9, 4:3, and 1:1. Image size can range from 300x300px to 900x900px as long as it is within the previously mentioned aspect ratios. Image will be automatically resized to fit the ad zone settings. Image file must be PNG or JPEG.
* Title Text: Maximum 90 characters.
* Description Text: Maximum 90 characters.
* Brand Test: Maximum 30 characters.

#### **Optional Video Thumb (Preview on Touch/Hover)**

You can optionally add a video thumb with the following requirements:

* **File size**: Less than 1.5 MB
* **Duration**: Under 10 seconds
* **Aspect ratio**: 16:9
* For a seamless hover effect, we recommend using the first frame of your video as the image and matching its aspect ratio.

## Push Notifications

![push notifications](/files/9fd977b1a43db96fa70378052429cdda4cfef2fd)

Push Notifications 720x480 (icon + image) or 192x192 (icon only) and text are sent to opted in users of a publisher's website. Users receive them on their desktop, tablet and mobile devices even when they are not browsing the Internet. As users have opted in, they provide 100% high quality traffic and high CTR. Users can opt out through their browser settings.

{% hint style="info" %}
Push Notifications work on the following **browsers/devices**:

* Desktop: PC / OS X : Chrome, Firefox, Opera
* Mobile devices : Chrome, Firefox, Opera, Edge, Samsung Internet
* Safari (OS X, iOS) does not allow web push notifications
* Push Notifications won’t work on HTTP sites, only with HTTPS sites.
  {% endhint %}

{% tabs %}
{% tab title="720x480 (Icon + Image)" %}
This format allows users to upload one 720x480 image to use for both the icon and the main image of your push notification ad.

**Available Pricing Models**

* CPC
* CPM
* Smart CPM
* Smart Bid

**Creatives Requirements**

* 720×480 JPEG, PNG or GIF (maximum size 300 KB).
* Title Text: Maximum 50 characters.
* Description Text: Maximum 90 characters (please note some browsers restrict the amount).
  {% endtab %}

{% tab title="192x192 (Icon)" %}
This format allows you to upload one image in the 192 x 192 format, which will be used for the icon only (where the device supports it).

**Available Pricing Models**

* CPC
* CPM
* Smart CPM
* Smart Bid

**Creatives Requirements**

* 192×192 JPEG, PNG or GIF (maximum size 300 KB).
* Title Text: Maximum 50 characters.
* Description Text: Maximum 90 characters (please note some browsers restrict the amount).
  {% endtab %}
  {% endtabs %}

### In-Page Push Notifications

![In-Page Push Notifications](/files/f55d7f3df09ba13836d19de9a929aff0e0ebf20f)

As opposed to the other Push Notification formats, In-Page Push ads are displayed within the publisher's website and they do not need user opt in to be displayed. Publishers can configure the ad zone to display up to two notifications within the same page. Notifications can be closed easily using the close button shown in the ad.

{% hint style="info" %}
In a situation where an In-Page Push and a [Desktop Interstitial](#desktop-fullpage-interstitial) or a [Mobile Interstitial](#mobile-fullpage-interstitial) are being shown on a page at the same time, the Desktop or Mobile Interstitial ad will display over the In-Page Push.
{% endhint %}

#### **Available Pricing Models**

* CPC
* CPM
* Smart CPM
* Smart Bid

#### **Creatives Requirements**

* 192×192 or 720x480 JPEG, PNG or GIF (maximum size 300 KB).
* Title Text: Maximum 50 characters.
* Description Text: Maximum 90 characters (please note some browsers restrict the amount).

## Mobile

### Mobile Banner

![mobile banner](/files/da99af9d1bf9edf93b7dac84d9ca6dd4cebd9ced)

The Mobile Banner format displays classic banners in sizes optimized for mobile: 300x250 & 300x100

#### **Available Pricing Models**

* CPC
* CPM
* Smart CPM
* Smart Bid

#### **Creatives Requirements**

* Image: 300×250, 300x100 and 300x50 JPEG, PNG or GIF (maximum weight 300 KB)
* Video: 300×250, 300x100 and 300x50 MP4 video (maximum weight 1500 KB)
* Iframe: iframe code with width and height attributes corresponding to the chosen dimension: 300×250, 300x100 or 300x50.
* Creatives with multiple images merged together into one are not permitted.

### Mobile Popunder

![mobile popunder](/files/52a92eea3a1b0b1684ac56d2b42444b698385862)

After the user clicks a link from the publisher's website, the advertiser URL is displayed in a new browser tab. While the focus remains on the publisher's website, the advertisement will be displayed once the user closes the current browser tab.

Publisher can customize the ad zone to display when clicking any link from the website or when clicking links with a specific class.

#### **Available Pricing Models**

* CPM
* Smart CPM
* Smart Bid

### Mobile Instant Message

![mobile instant message](/files/89ae778930dcec117a8bedf925467bb04296c870)

The Mobile Instant Message format looks similar to an instant messenger chat box. This ad format appears to users by displaying an ad at the bottom right of the mobile page. It is very efficient for dating and live cam products.

#### **Available Pricing Models**

* CPC
* CPM
* Smart CPM
* Smart Bid

#### **Creatives Requirements**

* Image: 300×100 JPEG, PNG or GIF (maximum weight: 300 KB)
* Video: 300×100 MP4 video (maximum weight: 1500 KB)
* Iframe: 300×100 iframe code
* Creatives with multiple images merged together into one are not permitted.

### Mobile Fullpage Interstitial

![mobile fullpage interstitial](/files/8c956bbbfb5c09d85143189e0166d097c8e62872)

Large 900x1600 vertical banner that fills the screen after the user clicks a link from the website. There is a small padding so that the Publisher’s site is still visible underneath. User navigation resumes as usual when the visitor moves to a different tab or when the **Close Ad** button is clicked.

This ad format works only in Mobile and Tablet devices screens.

{% hint style="info" %}
This ad format does not show if the mobile device is in horizontal mode. If this ad format is displaying and the device is changed to horizontal mode, it will close automatically.
{% endhint %}

**Available Pricing Models**

* CPC
* CPM
* Smart CPM
* Smart Bid

**Creatives Requirements**

* Image: 900x1600 JPEG, PNG, GIF (maximum weight 300Kb)
* Video: MP4 video (maximum weight 1.5 Mb)
* iFrame: responsive landing page optimized to 900x1600

{% hint style="info" %}
When using an iFrame, this ad can show in horizontal mode.
{% endhint %}

## Multi-Format

![Multi Ad Format](/files/93a841c09010d1259b23c9e87c67d08aeff46491)

**Multi-Format** ad zones allow Publishers to combine up to ten of their existing **Banner** and **Native** ad zones into a single zone. This allows them to:

* Choose multiple existing ad zones and let them compete against each other, showing the one with the highest eCPM multiple times, horizontally or vertically.
* Choose multiple existing ad zones and let them compete against each other, showing the one with the highest eCPM only once.

### Benefits

* As a Publisher, using **Multi-Format** ad zones enable you to increase the performance of your ad zones, as they allow you to show multiple ad formats in a single zone.
* As an Advertiser, **Multi-Format** ad zones allow you to serve multiple ad formats in a single zone. This can enable you to reach more users without the need to create specific creatives for each placement.

### Requirements

* Up to ten Banner or Native ads (Recommendation Widget) can be added to a Multi-Format ad zone.
* The maximum size for a Multi-Format ad zone using Banners is 1200 px vertical or horizontal.


# Enable Ad Transparency

## What is DSA ?

The European Union’s DSA regulates online intermediaries and platforms e.g. marketplaces, social networks, app stores etc. Its goal is to prevent illegal and harmful activities online and the spread of disinformation. It ensures user safety, protects fundamental rights, and creates a fair and open online platform environment.

For Advertisers and Publishers, this relates specifically to [Article 24 - Online advertising transparency](https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32022R2065\&qid=1692301215242) . The purpose of this law is to enable EU users to identify a content as an advertisement, and the advertiser behind every ad that is shown to the user.

## What does it mean?

All Online Platforms must comply with allowing the end user to know more about the advertisement they are seeing. This involves the following mandatory items:

* That the information displayed is an advertisement;
* The natural or legal person on whose behalf the advertisement is displayed;
* Meaningful information about the main parameters used to determine the recipient to whom the advertisement is displayed.

Therefore in accordance with the DSA, ExoClick will display such information about the ad irrespective of where the Online Platforms or Advertisers are based geographically.

## How will this work in ExoClick?

A small clickable 'i' information icon will display overlaid on the top left corner of the ad:

![DSA 1](/files/57bb46c679b0005fbd6a358833218ada978f2ec7)

Once the end user clicks on the icon, a display box appears over the ad showing a clickable **About This Ad** button. At this stage the EU end user can click the back button to return to the ad or can continue to see more about the ad, by clicking **About This Ad.**

![DSA 2](/files/cecc89363b19a85548383221a9095296a812c50c)

On clicking **About This Ad** a new webpage will open. The webpage displays two sections of information:

* **Why you’re seeing this ad**
* **About this Advertiser**

![DSA 3](/files/4c97c1ea3ea2b2ff129ca1c6281a7e553f70919c)

The EU end user can then close the webpage and their screen will show them the website they were browsing and the ad will appear blank as shown below.

![DSA 4](/files/cecc89363b19a85548383221a9095296a812c50c)

The EU end user will then be able to click the arrow on the top left corner of the ad and the ad will be displayed once again.

![DSA 5](/files/57bb46c679b0005fbd6a358833218ada978f2ec7)

## What Advertisers should do

Campaigns will not be accepted on ExoClick’s network if you do not provide the correct information. To comply, all you need to do is enter your Admin Panel and update your ExoClick profile with the following factually correct information:

* Company name
* First name
* Last name

{% hint style="info" %}
**Note:** The data you provide for your account is used for invoice generation, and the accuracy of the account data is important for invoice generation for your tax purposes. As an Advertiser it is your sole responsibility to provide true factual profile information. We recommend that you do this immediately.
{% endhint %}

## What Publishers should do

In your Admin Panel under [**Sites and Zones**](/publishers/sites-and-zones/sites-and-zones-page) you will see a toggle switch called **Enable Ad Transparency Dialog** on your ad zone settings. Please make sure to keep this switch ON in order to remain compliant with DSA.

![DSA 5](/files/9d31ce60186e9879c8b7f0551ecbd6aeaecefb17)

You can find more details on our [**dedicated DSA webpage**](https://www.exoclick.com/dsa/) and if you require further information please contact your account manager or our [Compliance team](https://www.exoclick.com/contact/) here.


# IAB Transparency and Consent Framework (TCF)

In order for ExoClick and its clients to comply with GDPR and the ePrivacy Directive, ExoClick has implemented TCF.

## What is the TCF?

The Interactive Advertising Bureau (IAB) runs the Transparency & Consent Framework (TCF) – a collaborative solution for businesses conducting targeted advertising in compliance with GDPR. The purpose of TCF is to standardize how businesses - publishers, ad tech vendors, and agencies – can continue running advertising in a way that is compliant with GDPR & the ePrivacy Directive.

Adhering to the IAB Transparency and Consent Framework (TCF) is crucial for Ad Servers, Publishers and other Ad Tech Vendors who are looking to be fully compliant with GDPR & the ePrivacy Directive, as well as keeping up to date with evolving guidance and legislation. The framework provides guidelines for Consent Management Platforms (CMPs) to inform website visitors as to the purposes for which data is being collected, how it will be used and how visitors can give or withhold their consent.

## What is a TC String?

Technically, TCF relies on the Transparency & Consent String (TC String). It contains all the user choices when it comes to accessing or storing information on their device and the use of their personal data as well as the publisher preferences when it comes to vendor use of data. In this way, it serves as a means of communication within the TCF.

The TC String can be communicated either via OpenRTB (e.g. in a bid request) or in the following URL parameters:

* **gdpr**: contains a flag (0,1) that informs if GDPR & ePrivacy applies.
* **gdpr\_consent**: contains the TC String (base64 string).

## What pieces of information are stored in the TC String?

* Metadata concerning the consent (version of the TC String, last update, version of the provider list, etc.)
* The purpose for which the providers may use the data.
* Which providers have received the user’s consent.

ExoClick will respect the end user’s choices when it comes to cookie and data consent. You, as a Publisher, would simply need to integrate your site with a TCF compliant CMP and ExoClick will do the rest by automatically detecting if the site is working with such CMP. From there ExoClick understands the end user's choices on consent and serves ads accordingly.

{% hint style="info" %}
TCF support is only available for ad zones using asynchronous scripts; make sure to use the latest version of our scripts that mention “async”.
{% endhint %}

## What are the legal bases for data usage under TCF?

There are 2 legal bases for which vendors can process data under TCF. These are:

* **Consent:** The data to be stored and processed requires consent from the end user.
* **Legitimate Interest:** Legitimate interest is based on an overriding benefit of using personal data without obtaining consent. For example to ensure fraud prevention and provide flexibility for the vendors to operate across different legal systems while respecting individuals' rights.

## What purposes are defined with TCF for the processing of user data?

Data can be gathered and processed by vendors for the following purposes as laid out in TCF, and in line with the following allowable lawful bases.

1. Store and/or access information on a device - Consent.
2. Use limited data to select advertising - Consent or Legitimate Interest.
3. Create a personalized ad profile - Consent.
4. Select personalized ads - Consent.
5. Create a personalized content profile - Consent.
6. Select personalized content - Consent.
7. Measure ad performance - Consent or Legitimate Interest.
8. Measure content performance - Consent or Legitimate Interest.
9. Understand audiences through statistics or combinations of data from different sources - Consent or Legitimate Interest.
10. Develop and improve services - Consent or Legitimate Interest.
11. Use limited data to select content - Consent or Legitimate Interest.

TCF Special Purposes:

1. Ensure security, prevent fraud, and debug - Legitimate Interest.
2. Deliver and present advertising and content - Legitimate Interest.
3. Save and communicate privacy choices - Legitimate Interest.

The TCF Purposes that ExoClick uses are listed in section 3. e of its [**Privacy Policy.**](https://www.exoclick.com/privacy-policy/)

## What does this mean for Publishers?

It is recommended that ExoClick’s publishers integrate with a CMP that is IAB TCF compliant. ExoClick platform will provide transparency on all the relevant consent needed from the end user to display ads.

To find out whether a third-party CMP provider is TCF compliant or not, you can look into the [**CMP list provided by IAB Europe**](https://iabeurope.eu/cmp-list/).

If you have any questions regarding TCF and Cookie Consent please speak to your Account Manager or a Customer Success Manager [**here**](https://www.exoclick.com/contact/).


# Glossary

## Essential Terms

### Administration or Admin Panel (AP)

The interface provided by ExoCLick to clients (Publishers and Advertisers) in order to buy and sell traffic.

### Ad Serving Platform

Describes the technology and service that places advertisements on websites.

### Advertisers

ExoClick's customers who create campaigns to promote offers, which might be their own or might belong to a third party. ExoClick acts as an intermediary between Advertisers and Publishers.

### Ad Format

The specifications of the advertisement displayed in the website. For more information about our available ad fomats, please check our [**Ad Formats page**](/exoclick-docs/ad-formats).

### Advertising Campaign

A collection of targeting features, price settings and creatives that enable the promotion of an offer.

### Ad Zone

A script that allows publishers to display ads in a website. Usually, this script is added to the source code of the website.

### Audience

The potential amount of users your website or campaign can reach to.

### Category

Classifications that Publishers can use to categorize their inventory and therefore improve targeting. They can also be used by Advertisers to ensure that their ad campaigns are seen by the most appropriate audience.

### Keywords

Search terms or phrases targeted by the advertising campaign.

### Email Marketing

A type of advertising that focuses on reaching users via emails. Instead of the regular display advertising, which is achieved by adding image, video and HTML creatives to a site, Email Marketing consists of sending affiliate links via newsletters to a database of emails that might be interested in the promoted offer.

### Offer

The product or URL being promoted by the advertiser.

### Publisher

ExoClick's customers who earn money by sending traffic from their websites to us, using the ad zones they create in the Admin Panel.

### Traffic

The flow of data sent and received by visitors to a website. In ExoClick, traffic is divided into **clicks**, **impressions** and **video views**.

* **Click**: a click on an advertisement, which generates a new tab with the advertiser's URL.
* **Impression**: a request for an advertisement from the publisher's website. An impression is counted regardless of whether the advertisement is displayed on the website or not.
* **Video view**: an advertising video view happens after 10 second of video playback.

In addition, traffic can have different sources. Most analytics tools from the industry classify traffic into different types:

* **Organic**: traffic coming from search engines.l
* **Direct**: traffic coming from direct URL searches.
* **Referral**: traffic coming from other websites.
* **Blind**: traffic with no clear source or origin.

## Campaign terms

### Advertising Budget

The amount of money that an advertiser sets aside for an advertising campaign.

### Bid

The amount that an advertiser is willing to pay, based on the price model, in order to promote their offer. More information on how to set up the appropriate bid in your campaign [**here.**](/advertisers/campaigns/creating-a-campaign/create-campaign-step4)

### Call to Action (CTA)

A prompt, often a button or text link, designed to provoke an immediate response from users. You can add a CTA to your [**video campaigns**](/advertisers/campaigns/creating-a-campaign/create-campaign-step2#additional-compulsory-fields-when-creating-a-native-a-ds-push-notifications-or-video-campaign) using a dropdown menu with several options. Whether this CTA is displayed to users or not depends on the publisher.

### Conversion

A specific user interaction with the offer that is considered as the goal of the advertising campaign. A conversion can be either a simple user interaction, such as a registration (aka. **lead**) or an **install** of a free app, or a paid one such as a purchase. You can find the instructions to set up conversions in ExoClick [**here**](/advertisers/conversion-tracking/conversion-tracking).

### Creatives

The assets (images, videos and other designs) chosen by advertisers to be displayed in the publishers' websites as means to promote the offer. Advertisers can manage all their uploaded creatives through their [**Media Library**](/advertisers/campaigns/media-library)

### Dynamic tokens

Also known as **macros**, these tags can be added to your campaign URL so as to pass data related to the user interacting with your add. More information about Dynamic tokens [**here.**](/advertisers/campaigns/macros)

### Frequency Capping

Restricting (capping) the number of times (frequency) a specific visitor to a website is shown a particular ad. More information about Frequency Capping [**here.**](/advertisers/campaigns/creating-a-campaign/create-campaign-step4#frequency-capping)

### Geo-Targeting

The action of pointing an advertisement towards a specific geographical region, area or location. Geo-targeting is done based on the IP address of the visitor. Geo-Targeting is one of the many [**Targeting options**](/advertisers/campaigns/creating-a-campaign/create-campaign-step3) we have in ExoClick.

### Iframe

An HTML element that shows content (images, scripts, etc.) from an external webpage into the current site, acting as a "window" to another source. Some ad formats in ExoClick enable advertisers to [**add iframes for advanced functionalities and tracking**](/advertisers/campaigns/third-party-adserving). Note, however, that **this feature is not enabled by default** and you need to [contact Customer Success](https://www.exoclick.com/contact/) to enable it.

### Landing Page

The specific web page that a visitor ultimately reaches after clicking an advertisement. You can direct your campaigns to a single URL or rotate multiple landing page through a [**Landing Page group**](/advertisers/campaigns/offer-landing-pages).

### Pixel Tag

An invisible image of 1x1px used in [**pixel tracking**](/advertisers/conversion-tracking/conversion-tracking#using-pixel-tracking). The pixel tag generates a cookie that help us identify the user as long as the cookie remains in session.

### Postback URL

A URL that notifies our server whenever there is a conversion on a campaign, so that conversion details can be reflected both on the tracking solution and ExoClick Admin Panel. Postback URLs are essential for [**Server-to-Server(S2S) tracking**](/advertisers/conversion-tracking/conversion-tracking#using-conversion-tracking-api-s2s-recommended).

### Pricing models

The way in which advertisers wish pay for the traffic they get in their campaigns. The most common pricing models are the following:

* **Cost per Click (CPC):** Advertiser pays for each click on the advertisement.
* **Cost per Mille (CPM):** Advertiser pays for one thousand advertisement impressions regardless of the consumer’s subsequent actions.
* **Cost per View (CPV):** Advertiser pays for each view of a video ad.
* **Cost per Action (CPA):** Advertiser pays for each specific action (usually a conversion) made by the user after being redirected by the ad. CPA can also be separated into different subcategories:
  * Cost per Sale (CPS): Advertiser pays only when a user makes a purchase on the advertiser website or adds his credit card number to sign up for a paid subscription.
  * Cost per Lead (CPL): Advertiser pays for every email address or user sign up on the website.
  * Cost per Install (CPI): Advertiser pays for every app download or extension install.

Note that **CPA is not available as a pricing model in ExoClick**. You can find out more about our available Pricing Models [**here**](/advertisers/campaigns/creating-a-campaign/create-campaign-step4#pricing-models)

### Remarketing/Retargeting

A feature that allows advertisers to target or exclude users that have been identified through pixel tracking. Retargeting is a useful feature to keep your brand visible by helping prospective customers finish their sales. It can also help you distribute your budget by removing finshed sales from your targeted traffic.

We have a [**dedicated section**](/advertisers/campaigns/creating-a-campaign/create-campaign-step3#behavioural-retargeting) that will help you design a successful retargeting strategy.

### Variation

The combination of a creative and a landing page/advertiser URL in a specific campaign. You can determine the [**traffic distribution**](/advertisers/campaigns/creating-a-campaign/create-campaign-step2#selecting-a-distribution-algorithm) across the variations in your campaign.

### Zone Type/Ad Placement

The specific position within the website where the ad zone is located. Some common zone types are:

* **Header:** Ad zone is placed at the very top of the website, before the site's contents.
* **Homepage cube:** Ad zone is placed within the site's contents, but in a highlighted place **above-the-fold** (i.e: user does not need to scroll in order to see the advertisement).
* **Middle:** Ad zone is placed within the contents (scrolling might or might not be needed in order to see the ad).
* **Footer:** Ad zone is placed after at the very bottom of the website, after the site's contents. It's the most common type of **below-the-fold** ad placements.
* **Sidebar:** Ad zone is placed on a menu next to the site's contents, which might stay on screen while scrolling or not.
* **Next-To-Video (NTV):** Ad zone is placed on one of the sides from the main video player from the website.
* **In-Video:** Ad zone is placed inside the video player. Can appear before the main video starts, during video playback or only when the video is paused.
* **Underplayer:** Ad zone is placed right below the video player.

Ad placements are useful to filter the zones from our [**Marketplace**](/advertisers/marketplace)

## Metrics Terms

These are the metrics that can appear in [advertiser](/advertisers/advertiser-statistics) and [publisher](/publishers/publisher-statistics) statistics.

### Click Through Rate (CTR)

The percentage of clicks based on the amount of impressions sent by an advertisement.

### Conversion Rate (CR)

The relationship between the clicks received by an advertisement and the conversions it generated. When the ad format does not register clicks (e.g: popunder), this metric will use impressions instead.

### Effective Cost per Action (eCPA)

A metric used to calculate how much advertiser paid to reach a certain conversion (sale, lead or install). A campaign is considered profitable when the eCPA is lower than the payout of the conversion.

### Effective Cost Per Mille (eCPM)

This term has slightly different meaning for advertising and publishing.

In publishing, this is considered as the value of a publisher’s traffic. The eCPM does not only depend on the amount of clicks and impressions, but also on the bids that advertisers set up in their campaigns to target the publisher’s traffic. The more interested advertisers are in an ad zone’s traffic, the higher the bids will be and the higher the eCPM publisher will get.

In advertising, this is used to calculate the effectiveness of an advertising campaign regardless of the actual pricing model.

### Return on Investment (ROI)

The net benefit obtained by a campaign (or a set of campaigns) after calculating all the costs it entailed.

### Views Ratio

The ratio of impressions of a video advertisement to viewings of that video

***

As a side note, here are some metrics that, although **not offered by ExoClick**, might also be relevant for your business model:

### Abandon Rate

The percentage of users who do not complete every step of your [**funnel.**](#funnel)

### Bounce Rate

The percentage of sessions leaving a website without any interaction.

***

## Sales Terms

### Affiliate / Media Buyer

An affiliate is an advertiser that promotes 3rd party offers. Affiliates usually make money on commission, that is, by generating conversions. Affiliates get the offer links from affiliate platforms or directly from the product owner.

Since affiliates are not the owners of the offers, they cannot make any edits on the landing page and are limited to buy only the traffic allowed by the affiliate platform.

Media buyers are more or less the same, but they tend to have more flexibility in deciding which audiences to target and which ad formats to use.

### Feed

A feed is usually an XML file that delivers structured data of the products advertiser is willing to promote. Feeds are a common element in programmatic media buying and they usually respond only when the impression or click matches the advertiser's interests. See [**Real-Time Bidding**](#real-time-bidding-rtb) for reference.

### Funnel

The funnel represents journey users take from discovering the product you promote (i.e: seeing your creative) to finally making a purchase. Funnels can be expanded by sending the user to a [**pre-lander**](#pre-lander) with multiple steps or they can be shortened by sending the user directly to the purchase page.

### Flat deal

A campaign that receives traffic on a flat basis instead of having to compete with other advertisers. Flat deals are arranged between the advertiser and the account manager or Customer Success agent so as to receive a certain volume of the ad zone's traffic at a fixed CPM rate for an extended period of time.

### Key Performance Indicators (KPIs)

The indicators that define success in your campaign. Some examples of KPIs are: hitting a certain daily budget consistently, achieving a stable eCPA, etc. Ultimately it's the Advertiser who defines what KPIs they want to set on their campaigns.

### Insertion Order (IO)

A written authorization to display advertisement on Website(s). IOs specify the duration and location where the ad will be displayed. IOs are not provided unless the advertiser agrees to set up a [**Flat deal**](#flat-deal).

### Paid To Read (PTR) / Paid to Click (PTC)

Incentive programs where members earn real money or in-web currency (credits) for reading or clicking on advertisements. This type of traffic is not accepted in ExoClick.

### Pre-lander

A website that advertisers create in order to gather information about visitors before redirecting them to the actual offer. Pre-landers can be useful to gather information about the target audience but they can affect the performance of the campaign because it takes more time to reach the actual conversion.

### Product Owner

The individual or company who owns the offer promoted in the advertising campaigns. Since they own the website, they can place tracking pixels and carry out retargeting campaigns.

### Single & double opt-in (SOI & DOI)

A type of offer where a user has to register with his email. A Single opt-in offer means that the client only needs to add the email, whereas the double opt-in client has to confirm the email address by clicking on a confirmation link sent to his email. Double opt-ins are usually more valuable than singles.

### Tube sites

Sites that feature many videos, like YouTube.

### Tracking URL

A URL that tracks all the information (device, country, etc.) of the user that comes from an advertisement. Tracking URLs are always empty (they display no content) and simply redirect the user to the offer or to a pre-lander.

## Other relevant terms

### Application Programming Interface (API)

A set of routines, frameworks and sentences that allows the user to request data from and post to external servers using their own software.

### General Data Protection Regulation (GDPR)

The [General Data Protection Regulation](https://eur-lex.europa.eu/eli/reg/2016/679/oj) is the EU's strict data privacy law governing how personal data of individuals in the EU/EEA is collected, used, and protected. To make sure our ads are compliant with EU laws, ExoClick has implemented the Transparency and Consent Framework (TCF), which allows users to determine their consent in regards to how data is processed and stored through ExoClick's ad zones. More information [**here.**](/exoclick-docs/iab-tcf)

### Real Time Bidding (RTB)

A system where impressions and clicks are sold via programmatic auction. Traffic is sold per impression/click and delivery is instant. RTB allows the connection between multiple **Supply** and **Demand Service Platforms** (SSP and DSP, respectively).

### Secure Sockets Layer (SSL) Certificate

A digital key that allows a secure connection to a website. SSL is a requirement for campaigns running on HTML/iframes. It also plays a small role in SEO.

### Search Engine Optimization (SEO)

The study and development of strategies required to improve the ranking of a page or a website in search engine results (like Google or Bing).

### Video Ad Serving Template (VAST)

An advertising structure for video players. VAST is used by many HTML5 video players to serve video advertisements.


# Media Library

Upload and manage creatives for your campaigns.

The **Media Library** is where advertisers store and manage uploaded creatives.

Use it to keep campaign assets in one place and reuse them across campaigns.

## What you can manage

* Images
* Videos
* Other approved creative assets

## Why it matters

The Media Library helps you organize assets before adding them to your campaigns.

It also makes it easier to reuse creatives without uploading them again.


# Media Kit

* [**Media Pack 2026**](https://www.exoclick.com/wp-content/uploads/2026/02/ExoClick-Media-Kit-2026_EN.pdf) in English
* [**Media Pack 2026**](https://www.exoclick.com/wp-content/uploads/2026/02/ExoClick-Media-Kit-2026_RU.pdf) in Russian
* [**Media Pack 2026**](https://www.exoclick.com/wp-content/uploads/2026/02/ExoClick-Media-Kit-2026_ES.pdf) in Spanish
* [**Media Pack 2026**](https://www.exoclick.com/wp-content/uploads/2026/02/ExoClick-Media-Kit-2026_CH.pdf) in Chinese
* [**Media Pack 2026**](https://www.exoclick.com/wp-content/uploads/2026/02/ExoClick-Media-Kit-2026_JP.pdf) in Japanese


# Notifications

![login](/files/a720dcb23e460a438d1a7b33fe956a57624f550e)

Notifications are updates about activity on the Admin Panel.

To view your notifications, you can select the notifications icon (bell) in the top-right navigation bar.

Alternatively, you can choose the option **View All Notifications** under the notification icon (below) or go to your user **Profile** and choose the **Notifications** tab to view and manage your notifications from a single page.

![notifications-icon](/files/296330d7b636cd41596272ca84ef81ce9caea7c8)

![notifications-page](/files/569c1216e15af80afde870d61ec1a5be9667ff60)

There are three types of notifications:

| Type            | Symbol                                                          | Explanation                                                            |
| --------------- | --------------------------------------------------------------- | ---------------------------------------------------------------------- |
| **Alert**       | ![alert](/files/f90e2cb3fe64f08feec3183c541d7a474c5a21d1)       | An exceptional event has occurred that is important or time sensitive. |
| **Information** | ![information](/files/3a7536d5426e0cb14060de46608477621a9eae74) | Acknowledgment that an event occurred.                                 |
| **Success**     | ![success](/files/47e81370ffc92bbe93e23fddae6fcbb397895a87)     | Confirmation that an action was taken.                                 |

When you have unread notifications, a red bubble will appear on top of the notifications icon (bell) with the number of unread notifications. To clear your unread notifications, you can select Mark as Read for a specific notification, or Mark All as Read for all your unread notifications.

When a notification is marked as read under the notifications icon (bell), this notification will disappear from the list, but it will be available on Notifications page.

Be aware that notifications will be automatically deleted after 90 days.


# Responsive Display Ads (RDA)

The Responsive Display Ads (RDA) are a combination of visual and textual elements that can be used as an alternative for our standard ads. These ads automatically adjust their size, appearance and format to fit the allocated ad space. This is a great source for digital marketers to run their ad campaigns. Publishers can enable this setting to optimize the performance of ad zones with increased ad inventory for both desktop and mobile formats.

![Responsive Display Ads](/files/77cc74a4eed6a0d27b4171237a6b7d97417dd233)

![Responsive Display Ads](/files/5ff14c179781fdd571032ed76694e8fcc0ee0fd9)

![Responsive Display Ads](/files/bdbd17764befcd4ab0c039daede6d287114df080)

## Details

### Advertisers

As an Advertiser, while creating a **Native Ad** campaign, there is a **Responsive Display Ads** checkbox on [step 1](/advertisers/campaigns/creating-a-campaign/create-campaign-step1) of campaign setup:

![Responsive Display Ads](/files/09b923d8c15e29e59f9761b3972c24e25c7b73bd)

Checking this box will extend the reach of your campaign to include zones that are enabled for Responsive Display Ads, essentially using content from your Native campaign to be responsively displayed within the allocated zone.

This checkbox is enabled in all Native campaigns by default.

### Publishers

As a Publisher, you will see a button called **Responsive Display Ads** in the zone settings from the following formats:

* **Banner / Mobile Banner**:

  ![Responsive Display Ads 1](/files/bd6ed1cac9e0134d40adbbce76392494988d442a)
* **Instant Message / Mobile Instant Message**:

  ![Responsive Display Ads 2](/files/189327dfd38abe796763a5be482650aab756c94f)
* **Sticky Banner**:

  ![Responsive Display Ads 3](/files/96a6a8b8c6b9abd4b4adb690ada2797017202a1b)
* **FullPage Interstitial / Mobile FullPage Interstitial**:

  ![Responsive Display Ads 4](/files/814b394632b8ecfb6c7bd0bc98f3b5fe441f2eee)

Switching on this button opens up these zones to demand from Native Ad campaigns. These campaigns are then added to the bidding auction for these zones. The content from winning Native campaigns is then served to responsively display within the allocated zone.

This button is switched on in all these zones by default.


# Introduction for Advertisers

<figure><img src="/files/YQDugB3K3OyIW8sT8Vxh" alt=""><figcaption></figcaption></figure>

As an Advertiser, you can use the Admin Panel to set up advertising campaigns, view real-time statistics on every aspect of them, and take action to increase your revenues based on this detailed information.

#### **Advantages of the Admin Panel for Advertisers:**

* [Advanced targeting](/advertisers/campaigns/creating-a-campaign/create-campaign-step3#targeting-options) options to reach specific audiences for your products.
* The ability to target the most effective [times of day](/advertisers/campaigns/creating-a-campaign/create-campaign-step3#a-d-schedule) in the countries you are targeting.
* Various [pricing models](/advertisers/campaigns/creating-a-campaign/create-campaign-step4) to match your budget.
* Real-time reporting - see your [statistics](/advertisers/advertiser-statistics) at any time for an up-to-date assessment of your campaign performance.

#### **Tabs of the Admin Panel for Advertisers:**

* The [Dashboard](/advertisers/advertiser-dashboard) shows you a real-time executive summary of key metrics that you can use to stay on top of your campaigns.
* In the [Statistics](/advertisers/advertiser-statistics) tab you can view more detailed statistics than the **Dashboard**, so that you can really drill down into your data to guide your strategic planning or diagnose problems.
* In the [Campaign](/advertisers/campaigns) tab you can set up and manage all aspects of your campaigns.
* In the [Payments](/advertisers/advertiser-payments) tab you can manage payment for your account.
* In the [Marketplace](/advertisers/marketplace) tab you can view all of the sites available to you and buy advertising on them.


# Setting up your advertiser account

We are happy you have considered ExoClick as a great way to advertise your offers!

Please follow the steps below to start the advertising activity with ExoClick:

## Sign up

Sign up [**here**](https://www.exoclick.com/signup/) by selecting "Advertiser - I want to buy traffic" at the bottom of the form.

<figure><img src="/files/237V51NAgHxRcVALw0tz" alt=""><figcaption></figcaption></figure>

## Create a campaign

Create your first campaign by following [**these instructions**](/advertisers/campaigns/creating-a-campaign/create-campaign-step1)

## Add funds to your account

All payments must be sent through the Admin Panel. Please check the available payment options [**here**](/advertisers/advertiser-payments).

## Verify your account

Once your first campaign is created and the first payment is added, your account will be reviewed by our Compliance team. On your Admin Panel you will see:

1. Account Status: **Not Verified**
2. Campaign Status: **Rejected - Account Verification in progress. We will contact you within 24 hours**.

<figure><img src="/files/8GkPPJz4o7qbpNhuVzQJ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/qS41jeZSuTvPMFuF5zT5" alt=""><figcaption></figcaption></figure>

Please note this is a standard verification process for all advertising accounts. If you have any additional questions during the verification process, please feel free to **contact our Compliance team** using the "Account Verification" reason from our [**our contact form**](https://www.exoclick.com/contact/).

Once the verification process is completed, your account status will be one of the following:

* **Verified**: If your account has passed our verification, your campaigns will start receiving traffic, unless there is an issue with your creatives or landing page (the email you will receive from Compliance will give you more details about your campaign status)
* **Not Verified**: If your account hasn't passed our verification, your account will remain Not Verified and you won’t be able to access it again. Funds will be returned to the payment method you used (please check the email from Compliance to find out more about return times).

{% hint style="info" %}
**Important notes:**

You will always receive an email from ExoClick to confirm the account status once the verification process is completed.

In the same email you will receive the details of the refund if the account does not pass verification.

**ExoClick will never keep your funds if you do not pass our verification**.
{% endhint %}


# Dashboard

## Overview of the Advertiser Dashboard

<figure><img src="/files/Gf1vw1Rh8URFO5Usb8R6" alt=""><figcaption></figcaption></figure>

When you are logged in as an Advertiser, the Dashboard will show you key information to give you insight into how your campaigns are performing.

## Top Panels (A) and (B)

<figure><img src="/files/AxMVggwjSCm9LRbXJxp3" alt=""><figcaption></figcaption></figure>

At the top of the Advertiser Dashboard you can see the **News Panel** (A), which shows any current news that may be of interest to you. You can dismiss or hide the news by clicking on the **Dismiss** icon on the right of panel (A).

Below this in (B), you can see your current **Balance** in green, and the amount you have spent on campaigns for **Today**, **This Month**, and the last **6 Months**. Click **View** to see the graph for the past 6 months. The **Status** panel shows you the **Status** of your account, whether it is **Verified** or **Unverified** to run advertising campaigns.

{% hint style="info" %}
In the following sections you will see descriptions of the default charts and tables that show on the Dashboard. However, you can customise the dashboard to show any charts and tables that meet your needs.
{% endhint %}

## Graphs (C), (D), (E), and (F)

<figure><img src="/files/PPaDcOd2EocENJgN3FXL" alt=""><figcaption></figcaption></figure>

In (C) you can choose to add new dashboards and customize each dashboard to your needs. Also, you can choose a time option **Today**, **Yesterday**, **Last 7 Days**, **Last 30 Days**, **This Month**, or **Last Month**.\
You can read more about this section [here](/advertisers/advertiser-dashboard#adding-new-dashboards) in this document.

<figure><img src="/files/nimGsRN048xpyfEOHIJ6" alt=""><figcaption></figcaption></figure>

Each of the three graphs in (D), (E), and (F) shows two lines, to enable you to compare how things have changed in the time period you selected. The red/green line shows the later time, and the grey line shows the earlier time for comparison.

<figure><img src="/files/KJevTbfTYFwtWhqcjfYl" alt=""><figcaption></figcaption></figure>

So, if you have chosen **This Month** in as a time period, any point on the red line will show you a date from this month, and the grey will show you the corresponding date from the previous month.

{% hint style="info" %}
When you select **Today** in as a time period, the two line graphs will compare times in the current day to the same time in the previous day.

When you select **Yesterday** in as a time period, the two line graphs will compare individual times in hours from yesterday to the same times in the day before that.
{% endhint %}

D. **Costs**: This graph shows the total you have spent on your campaigns in the selected time period. The red/green line graph shows the total for the selected time period, while the grey line graph shows the period before that.

E. **Video Impressions**: This graph shows the total video impressions your ads have received. The red/green line graph shows the total for the selected time period, while the grey line graph shows the period before that.

F. **Clicks**: This graph shows the total clicks your ads have received. The red/green line graph shows the total for the selected time period, while the grey line graph shows the period before that.

## Tables (G), (H), and (I)

<figure><img src="/files/K2dvteLukEZGY7mvZHkn" alt=""><figcaption></figcaption></figure>

G. **Costs / Campaigns**: This table shows your spend on ten selected campaigns. The choice of campaigns is determined by the **Campaign**, **Cost**, **Change**, and **Diff** columns: When you click on one of these headers, the list is sorted by highest/lowest value, and the campaigns that display will change accordingly.

* **Cost** shows the amount of money spent on the campaign in the selected time period.
* **Changes** shows the percentage change in cost for the campaign in the selected time period.
* **Diff** shows the difference in cost for the campaign in the selected time period.

H. **Costs / Zone Types**: This table shows your costs for ten selected zone types. The choice of zone types is determined by the **zone**, **cost**, **Change**, and **Diff** columns: When you click on one of these headers, the list is sorted by highest/lowest value, and the zone type that display will change accordingly.

* **Cost** shows the costs for the zone type in the selected time period.
* **Changes** shows the percentage change in impressions for the campaign in the selected time period.
* **Diff** shows the difference in impressions for the campaign in the selected time period.

I. **Cost / Countries**: This table shows your spend on ten selected campaigns. The choice of campaigns is determined by the **Country**, **Cost**, **Change**, and **Diff** columns: When you click on one of these headers, the list is sorted by highest/lowest value, and the campaigns that display will change accordingly.

* **Cost** shows the amount of money spent on the campaign in the selected time period.
* **Changes** shows the percentage change in cost for the campaign in the selected time period.
* **Diff** shows the difference in cost for the campaign in the selected time period.

### Action icons in the tables

<figure><img src="/files/PTdRQHt0QSNT5Cy4lzSN" alt=""><figcaption></figcaption></figure>

If you roll over any campaign name in the table, two icons will appear on the right side of the table: **Edit** and **Statistics**.

* Clicking on the **Edit** icon will take you to into Step 1: **General Details** of that campaign, so that you can edit it.
* Clicking on the **Statistics** icon will take you into the **Statistics** tab, filtered for that campaign.

## Customizing your Dashboard

<figure><img src="/files/TCb8TpzqJ93RvcgLof6Y" alt=""><figcaption></figcaption></figure>

It's also possible to customize the data shown in your **Dashboard**. You can choose from a selection of metrics and dimensions to show in the 9 slots of your **Dashboard**. This can help you to focus your dashboard on the particular data that is most relevant to your business.

In the top right of each of the 9 slots, click on the settings icon to customize the data shown in any of the panels. The **Dashboard Settings** pop up will appear. Here you can set what metrics you wish to see in the tab:

Set whether you wish to see a **Chart** or a **Table** using the tabs.

{% tabs %}
{% tab title="Creating a chart" %}
If you choose **Chart** you can then select whether to show a **Combo** chart, **Line** chart, or **Pie** Chart:

* **Combo**: Select a **Metric** to show on a bar chart, with a **Secondary Metric** to show on a line chart.
* **Line**: Select a **Metric** to show on the line graph. This will show two lines, one for the selected time period e.g. days, and a red/green line for the corresponding time period before that.
* **Pie**: Select a **Metric** to compare with a **Dimension** from the drop-downs.

After selecting the chart type, metric, and dimension, click **Update Preview** to see the result on the right side of the **Dashboard Settings** box.

Click **Apply** to show this chart on your Dashboard.
{% endtab %}

{% tab title="Creating a table" %}
If you choose **Table**, select a **Metric** to compare with a **Dimension** in the table.

You will see a preview of your table on the right side of the **Dashboard Settings** box.

Click **Apply** to show this table on your Dashboard.
{% endtab %}
{% endtabs %}

### Adding a Custom Title

Advertiser can save a Custom Title for each large widget in the dashboard. This Custom Title field is optional. You can add a Custom Title that best suits that Widgets settings.

### Adding and deleting widgets on your dashboard

<figure><img src="/files/pe0tqT93GTxjXtXzati6" alt=""><figcaption></figcaption></figure>

You can delete any of the six charts/tables on you dashboard by clicking the delete icon on the top right of any of them.

Once a widget has been deleted, you can add a completely new one by clicking on the **New Widget** button. You can then set up the chart/table to meet your needs.

<figure><img src="/files/3DduTFFFGgkFkdy6dppt" alt=""><figcaption></figcaption></figure>

### Filtering your tables or charts

<figure><img src="/files/dEvYTkOhXVytNKyjPBgg" alt=""><figcaption></figcaption></figure>

You can also add a filter to any charts or tables you create on your dashboard. For example, you could create a **Line** graph showing today's spend, and then filter it by **Browsers**.

To do this, click the **+Add Filter** button at the bottom of the **Dashboard Settings** panel, and select a filter from the list:

* When you choose a filter, you can then choose which items you wish to filter by: For example, if you choose to filter by **Browsers**, you can then use the checkboxes to choose which browsers to filter by.
* Use the **Show selected only** checkbox to exclude the items that you haven't selected, and choose **Select All** to select all items.
* You can add multiple filters by clicking on the **Add Filter** button again.

Once you have added the filters you require, click on the **Update Preview** button on the chart or table to see how it looks.

Once a widget has had a filter applied, you will see a **Filter applied** symbol on the left side of it:

<figure><img src="/files/MjNQld5q0SvbnBSfi2uO" alt=""><figcaption></figcaption></figure>

#### Available Filters for Advertisers

* Ad Block
* Ad Format
* Age Verification Status
* Browsers
* Campaign Groups
* Campaign Status
* Campaigns
* Carriers
* Categories
* Conversion (Advertiser > Goal Name)
* Conversion Type
* Countries
* Device Types
* Devices
* Domains
* Landing Page IDs
* Landing Pages Groups
* Languages
* Operating Systems
* Proxy
* Regions
* Site IDs
* Sub IDs
* Traffic Types
* Variation IDs
* VR
* Zone IDs
* Zone Types

## Adding New Dashboards

<figure><img src="/files/87dxuLc0iB7g7QafBwbS" alt=""><figcaption></figcaption></figure>

As an Advertiser, you can create multiple custom Dashboards. This way, you can setup each of your **Dashboard** with specific data that is most relevant to your business. This will allow you to organize multiple Dashboards and see at a glance the information that you need to know.

### Add New Dashboard

<figure><img src="/files/WnYi8snazDoQF1hhuUgl" alt=""><figcaption></figcaption></figure>

* Click on the **New Dashboard** button to add a new Dashboard.
* Click the **New Widget** button to add a widget, then update it with a table or chart and the metric that suits your needs.

<figure><img src="/files/dpBXUhhAuOaJGgaXZnBv" alt=""><figcaption></figcaption></figure>

### Rename a Dashboard

<figure><img src="/files/qFrCXDNR8DWSjMmYVYiN" alt=""><figcaption></figcaption></figure>

* Click on the **Pencil** icon to rename a Dashboard.
* You can choose a name that best defines the information you choose to display on that Dashboard.
* Click on **APPLY** button for this name to be saved.

### Delete a Dashboard

<figure><img src="/files/78uxxtMdmT7MvCfV2Ar8" alt=""><figcaption></figcaption></figure>

* Click on the **Bin** icon to delete a Dashboard.
* Once you delete a Dashboard, you will not be able to undo this action.
* An Advertiser can delete all dashboards if need be.

## Drag, Drop and Expand Dashboard Widgets

As an Advertiser, you will be able to drag, drop or expand any widget within the Dashboard. This will enable you to easily change the position of widgets and/or expand them, such that your dashboards are highlighting the relevant data in the best way possible.

### Expand Dashboard Widgets

* The four corners are highlighted with expand icons.

<figure><img src="/files/YHlQDI6oSdfcMtery5gU" alt=""><figcaption></figcaption></figure>

* The cursor changes to a four headed cursor anywhere on the widget where it can be expanded along any of it's four sides.

<figure><img src="/files/rc6ctC6wH02D6jc3p654" alt=""><figcaption></figcaption></figure>

* The cursor changes to a two headed cursor when hovering over the top/bottom or right/left borders of the widget respectively.
* Using your cursor you will be able to use the new features as you require.

### Drag and Drop Dashboard Widgets

* Using the cursor, you can change the position of any widget by dragging and dropping them from one place to another.
* A grid is shown in dotted lines in the background while moving a widget which acts as a template for you to know which spot is available.

{% hint style="info" %}
**Note**:

* The maximum number of widgets in any dashboard is 18.
* The maximum size of an expanded widget is 2x2.
* While resizing or drag and drop of a widget the neighboring widgets will automatically adjust/move to the next available space.
  {% endhint %}


# Statistics

<figure><img src="/files/vtzXLdgEH7kpQXMP9gSm" alt=""><figcaption></figcaption></figure>

The **Statistics** tab shows you a broad range of information about your campaigns. It allows you to gain insights into the performance of your campaigns and diagnose problems when they occur. The **Graph Data** panel at the top of the screen shows you charts of data related to your campaigns, while the **Table Data** panel at the bottom shows you tables of important data for recent dates, as well as the cost of achieving selected conversions.

The information in the **Statistics** tab is broken down across several **groups** and **dimensions**. Data is displayed in **New York** time zone (EST or EDT). The only exception is the **Hour** dimension within **Dates**. In this breakdown, you can change the statistics time zone by selecting the corresponding country in the bottom right of the graph on this tab, choosing the corresponding time zone (if there are multiple), then clicking **Apply**:

<figure><img src="/files/EyBj8gtN7EQP6Bn49mXp" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Hourly data is available up to the last 30 days of data.
{% endhint %}

## Dimensions Available

Below is the list of all dimensions available to advertisers:

| **Group**                   | **Dimension Name**  | **Values**                                                                                                                               |
| --------------------------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|                             | **Dates**           | Year, Month, Week, Day, Hour.                                                                                                            |
| **Campaigns & Variations**  | **Campaign Groups** | Contains values as defined in Campaign Group Name.                                                                                       |
|                             | **Campaigns**       | Contains values as defined in Campaign Name.                                                                                             |
|                             | **Variations**      | Ad Variations uploaded for campaigns.                                                                                                    |
| **Landing Pages**           | **Groups**          | Contains values for Ad Destinations set when creating campaigns.                                                                         |
|                             | **Landing Page**    | Contains values for Ad Destinations set when creating campaigns.                                                                         |
| **Sites & Zones**           | **Domains**         | Contains values for the publisher domains.                                                                                               |
|                             | **Site Types**      | Contains values for Site Types.                                                                                                          |
|                             | **Sites**           | Contains values for Site names.                                                                                                          |
|                             | **Ad Zones**        | Contains values for Zone names.                                                                                                          |
|                             | **Sub IDs**         | Contains values for SubIDs numbers.                                                                                                      |
| **Categories**              | **Categories**      | Contains the Categories from the pages where the ad was shown.                                                                           |
| **Locations**               | **Countries**       | Contains values for countries as per IP address.                                                                                         |
|                             | **Regions**         | Contains values for regions as per IP address.                                                                                           |
| **Devices**                 | **Device Type**     | Contains values for device types such as Desktop, Mobile, Smart TV, Console, etc.                                                        |
|                             | **Devices**         | Contains values for devices in the format of device type and manufacturer name, such as Mobile-Iphone, Mobile-Samsung, Tablet-iPad, etc. |
| **Operating Systems**       |                     | Contains values for the operating systems used on the devices where ads were requested.                                                  |
| **Languages**               |                     | Contains values for the end users' languages.                                                                                            |
| **Browsers**                |                     | Contains values for the end users' browsers.                                                                                             |
| **Carriers**                |                     | Contains values for the end users' mobile carriers.                                                                                      |
| **Ad Block**                |                     | End users with or without AdBlock software enabled                                                                                       |
| **VR**                      |                     | End users who are requesting ads via VR.                                                                                                 |
| **Ad Format**               | **Ad Format**       | Contains values for the Ad Formats in which the ad was shown.                                                                            |
|                             | **Zone Types**      | Contains values for the Zone Types where the ad was shown.                                                                               |
| **Hour/Day Intervals**      | **Day of Week**     | Contains values for the days of the week.                                                                                                |
|                             | **Hour of Day**     | Contains values for the hours of the day.                                                                                                |
| **Traffic Type**            |                     | Contains values for the categorization of the traffic based on the quality of the traffic: Free Content, Members Area, etc.              |
| **Proxy**                   |                     | Contains values for the end users' type of connection                                                                                    |
| **Age Verification Status** |                     | Contains values indicating whether the user has verified their age or not                                                                |

## Adding filters and determining the Time Period of the data

<figure><img src="/files/Zms7Ho0leuklwtePjXHG" alt=""><figcaption></figcaption></figure>

You can add filters to your data for a more granular insight of your results. To filter the currently selected tab based on your desired segment, click on the **+ADD FILTER** button and select the item/s you wish to filter by.

You can also change the **Time Period** of your data. The statistics show the **Last 7 Days** by default, but you can choose a different period by clicking on the calendar icon to the left of the **+ADD FILTER** button. You can choose a date as far back as the last two years.

<figure><img src="/files/i4nC0A6szcqTQJlfhNu9" alt=""><figcaption></figcaption></figure>

You can also drill-down into your data in the [**Table Data**](#the-table-data-panel) panel. If you click on a specific data row, that segment will be added as a filter to the existing selection of filters and will remain for all other Statistics tabs you navigate to.

Filters and Time Period can be reverted back to default by pressing the **Reset Filters** button.

### Filter settings

<figure><img src="/files/YUkjoykmDka9LfZddff1" alt=""><figcaption></figcaption></figure>

When adding a filter, you can either **Include** or **Exclude** that filter.

When you choose to **Incude** a filter, you will limit the data to show only the segments that match the filter conditions. For instance, if you choose to Include Chrome Browser **and** Android OS, then you will only see the traffic that belongs to that specfic browser and OS.

If you choose to **Exclude** a filter, you will remove any data that matches any of the conditions you specify. For instance, if you choose to Exclude Chrome Browser and Android OS, then you won't see any traffic coming from that Browser **or** from that OS.

You can search for specific items within the chosen filter using the search bar. You can also select all available items within the filter by clicking the **Select All** checkbox. Lastly, you can review all your selected options by clicking the **Show Selected Ony** checkbox.

## Saving Custom Filter Set

<figure><img src="/files/l20yRfNpAqa7CSpWgFgD" alt=""><figcaption></figcaption></figure>

Using the Save Report option, you can save filter sets on the statistics page, give this filter set a custom name, and choose from a list of previously saved filter sets.

### Saving a report

As a user, the default view of the statistics tab will not have any filters applied. You can either save a filter report by adding a few filters of your choice or choose from the list of already saved filters to obtain the desired view.

{% hint style="info" %}
**Notes:**

* The Statistics page will be reset once you leave to go to another page in Admin Panel.
* You can see the list of saved filters in the Saved Reports dropdown.
* The order of sorting the Saved reports will be the latest one created on top.
  {% endhint %}

### Update the existing report or Save As a new report

<figure><img src="/files/MAgFw1PmRO4Eol8yZKoF" alt=""><figcaption></figcaption></figure>

**Update**

* You can update an existing saved report by selecting it, changing the filters and then clicking on the Update button.
* The filter setting will be updated and saved under the chosen Saved Report.

**Save As**

* You can also save an existing filter set with another name by clicking on the Save As option.
* Or you can also Save As a new report by adding or removing a few filters from this set.

### Rename, Delete a Saved Reports

<figure><img src="/files/xGWSzGoZgfQmSYwMpAsp" alt=""><figcaption></figcaption></figure>

Using the action buttons against each saved report in the Saved Report drop-down, you can either edit or delete a report.

* The Pencil Icon helps rename a Saved Report. Note that no two reports can have the same name.
* The Bin icon helps delete a Saved Report. Note once a report it deleted, you cannot undo this action.

## The Graph Data Panel

<figure><img src="/files/NgfDM2p1iDooQfHAvQLi" alt="" width="343"><figcaption></figcaption></figure>

For any of the tabs in the **Statistics** tab, you can choose what information you would like to see in the graphs in the top half of the screen:

<figure><img src="/files/SmSCubqBzpoNznLB0aB5" alt=""><figcaption></figcaption></figure>

All the groups in the Statistics tab allow you to view charts for any of the available metrics. The type of chart will vary depending on the group or dimension you have selected:

* In the **Dates** tab and in the **Hour/Day Intervals** tab, you can choose two metrics presented in two concurrent **line and bar graphs**.
* **Locations** will show you a **world map** where you can see your data broken down by country. You can zoom in and out of the map using the **+** and **-** buttons on the left.
* All other groups will show a single **pie chart**.

## The Table Data Panel

<figure><img src="/files/KRR3sDI2ZnHC0MYns2A8" alt=""><figcaption></figcaption></figure>

The **Table Data** panel shows the data from the chart in tabular format. In the **Show X entries** drop-down in the top right of the **Table Data** panel, you can choose how many lines of data you wish to see in the table. You can also click the arrows beside any of the column headers and sort the data from lowest to highest value.

By default, the **Table Data** panel only contains the **General** Panel. However, you can add the **Video**, **Conversions** and **RTB** panels to the right of the General panel through the [Toggle Options](#toggle-options).

### The General Panel

<figure><img src="/files/zAU45LskJSdQvu8utgHT" alt=""><figcaption></figcaption></figure>

The General Panel displays the following metrics:

| **Metric**              | **Description**                                                            |
| ----------------------- | -------------------------------------------------------------------------- |
| Impressions             | Number of ad impressions                                                   |
| Total Impressions       | Sum of regular and video impressions                                       |
| Impression Distribution | The proportion of Total impressions this specific dimension corresponds to |
| Clicks                  | Number of ad clicks                                                        |
| CPM                     | Cost Per Mille                                                             |
| CPC                     | Cost Per Click                                                             |
| CTR                     | Click through rate                                                         |
| Costs                   | Total cost of showing your ads                                             |

### The Video Panel

<figure><img src="/files/7PKb1L6bG2pwyiO01o1C" alt=""><figcaption></figcaption></figure>

The Video Panel displays the following metrics:

| **Metric**        | **Description**                                                                       |
| ----------------- | ------------------------------------------------------------------------------------- |
| Video Impressions | Number of video ad impressions                                                        |
| Views             | Number of video ad views (a video ad view happens after 10 seconds of video playback) |
| CPV               | Cost Per View                                                                         |
| Views Ratio       | Number of video views to the number of impressions                                    |

### The Conversion Tracking and Conversion Goals panels

<figure><img src="/files/hO7XibjhRIkH8kwbb7nH" alt=""><figcaption></figcaption></figure>

The Conversion Tracking and Conversions panels shows the amount of conversions you generated and various additional metrics that determine the profitability of your campaigns. While the Conversion Tracking panel shows the total results for all the Conversion Goals in your account, the Conversions panel shows the same metrics for each goal separately.

These panels display the following metrics:

| **Metric** | **Description**                                                                                                                              |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| Cnvs.      | Total amount of conversions or the conversions generated for that specific goal                                                              |
| eCPA       | Effective Cost Per Action. Shows the actual price you paid to achieve each conversion                                                        |
| CR         | Conversion Rate. Number of conversions divided by number of clicks.                                                                          |
| CV         | Conversion Value. The average value of the conversions sent. If you set the conversion goal as **No Value**, then this column will be empty. |

The following columns will only show data if you are passing the value of the conversion:

| **Metric** | **Description**                                      |
| ---------- | ---------------------------------------------------- |
| Revenue    | Sum of the value from all the generated conversions. |
| Profit     | Your revenue minus the cost.                         |
| ROI        | Your profit divided by the cost.                     |

And these columns will appear only in the Conversions Tracking panel and only if you are passing the value of the conversion:

| **Metric** | **Description**                                                               |
| ---------- | ----------------------------------------------------------------------------- |
| ROAS       | Return on Ad Spend measures the revenue generated for every unit of ad spend. |
| RPM        | Revenue per Mille measures the revenue earned per 1,000 Impressions.          |
| RPC        | Revenue per Click measures how much revenue is earned per individual Click.   |

Profit and ROI can appear in 3 different colors:

* **The number is&#x20;**<mark style="color:$success;">**GREEN**</mark>: ROI is more than 0%. Your return on investment is **positive** and you are paying less for each conversion than your COA.
* **The number is&#x20;**<mark style="color:$info;">**BLACK**</mark>: ROI is equal to 0%. Your return on investment is **almost OK**. Check the detailed statistics of the campaign to improve some sources of traffic.
* **The number is&#x20;**<mark style="color:$danger;">**RED**</mark>: ROI is less than 0%. Your return on investment is **negative** and you are paying more for each conversion than you can afford (more than your COA). Check the sources of traffic and your campaign setup for errors.

Each column in the **Conversion tracking** and **Conversions** panels can be sorted from highest to lowest using the arrows at the top of each column.

### The Real Time Bidding Panel

<figure><img src="/files/TA9TfJX2Oa6oX45umQbT" alt=""><figcaption></figcaption></figure>

If you have Real Time Bidding enabled in your account, then you can enable the Real Time Bidding Panel in the statistics.

The Real Time Bidding panel displays the following metrics:

| **Metric**    | **Description**                                                                        |
| ------------- | -------------------------------------------------------------------------------------- |
| Average Bid   | Average bid registered for your bids.                                                  |
| Average Time  | Average time taken between a request and response.                                     |
| Errors        | Number of bid requests that did not go through the bidding process due to some errors. |
| Errors Ratio  | Percentage of bid requests with errors against the total number of queries.            |
| No Bid        | Number of bid requests you did not reply to.                                           |
| No Bid Ratio  | Percentage of requests that did not make it to the bid.                                |
| Queries       | Number of bid requests you received                                                    |
| Resp. Ratio   | Percentage of bid responses out of the total number of bid requests.                   |
| Success       | Number of bid requests that were successful and received a response with no errors.    |
| Timeout       | Number of requests that timed out                                                      |
| Timeout Ratio | Percentage of requests that have timed out against the total number of queries.        |
| Win           | Number of bid requests that won the auction.                                           |
| Win Ratio     | Percentage of wins against the total number of queries.                                |

### Toggle Options

<figure><img src="/files/RrjdHqSe5C5lZRvtF0X8" alt="" width="320"><figcaption></figcaption></figure>

The Toggle Settings are found at the top right of the **Table Data** Panel. You can use these settings to toggle on/off specific columns or panels from the **Table Data**.

### Downloading the data

<figure><img src="/files/RBwxj88Z1dRH9yOuchpT" alt="" width="281"><figcaption></figcaption></figure>

You can click on the **Data** button next to the settings to download the data. You have 3 options:

* Choose **Download Visible Data** to download just the data that is visible in the table. This will download only the columns that you have chosen to see using the toggle settings for **General**, **Video**, **Conversions**, **Real Time Bidding** Panels.
* Choose **Download All Data** to download all the available data. This will download everything regardless of what you have chosen to see in the table.
* Choose **Copy Visible Data** option to copy the data in your clipboard so that you can paste it elsewhere. This will copy only the columns that you have chosen to see using the toggle settings for **General**, **Video**, **Conversions**, **Real Time Bidding** Panels.

## Managing campaigns through statistics

The **Statistics** page offers several quick access buttons to help you navigate through the Admin Panel while managing your campaigns.

When in the **Campaigns & Variations** > **Campaigns** tab, you can access the campaign settings of any campaign shown in statistics by pressing the **Edit** button in the **Table Data**, next to the campaign name:

<figure><img src="/files/vl4aGWGC1bpLM37FqbWd" alt=""><figcaption></figcaption></figure>

When in the **Campaigns & Variations** > **Variations** tab, you can pause variations by pressing the **Pause** button from the **Table Data** panel.

<figure><img src="/files/ZctlYUqxsLkI2vMnh6zT" alt=""><figcaption></figcaption></figure>

If you are filtering your statistics by a specific campaign, then you can also access the settings from that campaign by pressing the **Edit Campaign** button next to the filter settings:

<figure><img src="/files/GQ54wozvwg1TG1RgL4il" alt=""><figcaption></figcaption></figure>

Lastly, when in the **Sites & Zones** > **Zones** tab and filtering statistics by a specific campaign, you can block zones and remove them from your campaign by pressing the **Pause** button in the **Table Data** panel.

<figure><img src="/files/YRg8BsvSblrnPFyqqmAi" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**Notes:**

* If you pause the only running Variation of your campaign, the campaign status will be changed to **Won't Run** as there are no available Variations to show.
* Blocking zones through statistics can change the **zone targeting** of your campaign. If you are **targeting** or **blocking** one zone in your campaign and you **disable** or **enable** it in your campaign, then the campaign targeting will change to **All**.
  {% endhint %}

### Updating targeting dimensions through statistics

You can block or unblock targeting dimensions for your campaign in the statistics tab. To do so, select a single campaign using "**ADD FILTER**". You will then have access the following dimensions:

* Sites
* Locations
* Devices
* Operating Systems
* Languages
* Browsers
* Mobile Carriers

To update a dimension, navigate to the appropriate tab, and look for the block/unblock icon.

<figure><img src="/files/gUz3YbhZGwvZHm9TCiVk" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/5iOknx8d7Dwfy5aDBiB8" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**Note**: You must select a single campaign using the filter to manage targeting dimensions. These options are not available when multiple campaigns are selected.
{% endhint %}


# Campaigns

This section covers everything you need to set up and manage your advertising campaigns on ExoClick. Learn how to create a campaign step by step — from general settings and ad creation to targeting, pricing, and zone selection — and explore related tools like landing pages, dynamic tokens, the media library, and third-party ad-serving integration to get the most out of your campaigns.


# Creating a Campaign

Setting up a campaign on ExoClick is a five-step process. This section walks you through each step in order — from defining the campaign's general settings, to adding your ads, configuring targeting options, setting pricing and limits, and finally selecting the zones where your ads will run. Follow the steps below to launch your campaign.


# Step 1 - General

<figure><img src="/files/INRBl7s5uPPbVkrrxnYm" alt=""><figcaption></figcaption></figure>

In order to start buying traffic, you must **create a campaign**. To do this, from the main screen of the Admin Panel, click on **Campaigns**, then **Campaigns List**, and select **New Campaign**. The campaign creation process consists of 5 different steps, which you will proceed through them from left to right.

{% hint style="info" %}
**Note**: When creating a campaign, please make sure that you are following our [**advertiser guidelines**](https://www.exoclick.com/guidelines/). You can learn more about [how long a campaign can take to be approved](/advertisers/advertisers-faq/advertiser-compliance/how-soon-approve-campaign) or [why a campaign could be rejected](/advertisers/advertisers-faq/advertiser-compliance/my-campaign-got-rejected-why) in our **"Advertisers FAQ"** section in the sidebar.
{% endhint %}

## Adding General Details

First, add the following information to the **General Details** tab:

* **Name**: Select a name for the campaign that will allow you to identify it easily when viewing your statistics.
* **Group**: Select a group for this campaign from the drop-down, or click **+New Group** to create a new one.
* **Categories**: Use the toggles next to each category to choose which ones to target. If there are multiple top-level categories, a Target All toggle will appear, letting you quickly select or deselect all categories.
* **Ad format**: Choose the [ad format](/exoclick-docs/ad-formats) that you wish to use from the drop-down.
* **Zone Type**: Choose which zone types you wish to target. By default **All** will be selected. To exclude specific zone types, click on them.

<figure><img src="/files/ztKQ4lLbsBVT6LBrAtJQ" alt=""><figcaption></figcaption></figure>

If creating a Native Ad campaign, you will see two checkboxes: **Only Native Zones with Title** and **Responsive Display Ad Zones.**

<figure><img src="/files/nE8PRfQHOSQRggJnTrul" alt=""><figcaption></figcaption></figure>

## **Only Native Zones with Title**

This checkbox ensures that the ad will only target zones that allows the ad to show a title. Checking this box will also affect what zones are shown on [Step 5: Zones.](/advertisers/campaigns/creating-a-campaign/create-campaign-step5)

## **Responsive Display Ad Zones**

Checking this box will extend the reach of your campaign to include banner zones that are enabled for Responsive Display Ads. Essentially using content from your Native campaign and then serving the ad to responsively display within the allocated banner zone. By default this checkbox is enabled.


# Step 2 - Ads

<figure><img src="/files/lkN6bcxzD3ttwvMMCCpa" alt=""><figcaption></figcaption></figure>

This page manages the URLs you will be promoting through your campaign as well as any creatives that might be associated to them, depending on the ad format used.

## Creating a variation

In the **Ads** tab, once you click on the **Add Variations** button the **Select Ad Destination** box appears. Use the radio button to choose whether this will use a **Single Landing Page** or a **Landing Page Group**. Enter the URL for the Landing Page or Landing Page Group and click **Select Files**.

### Using dynamic tokens in landing page URLs

<figure><img src="/files/I8RLitEnza7veXV7AlAT" alt=""><figcaption></figcaption></figure>

When entering URLs for landing pages or landing page groups, you can click **+Add Tokens** to add dynamic tokens to the URL. The tokens pass useful information about the traffic you are buying, assuming that you have a tracking solution or affiliate platform where you can receive this information. Check the [**Dynamic Tokens**](/advertisers/campaigns/macros) page to find out more about the tokens available in ExoClick.

Note that you have to preceed the dynamic tag with the appropriate **parameter** in order to identify the variable in your own statistics. Please check with your tracking solution/affiliate platform which parameter you should use for each token.

Also note that you will have to add a **question mark** to separate these dynamic tags in the query string from your main URL. You only need to add the question mark once. E.g:

```
https://samplelandingpage.com?tag1={conversions_tracking}
```

### Additional **compulsory** fields when creating a native ads, push notifications or video campaign

If you are creating a native ads, push notifications or video campaign, you will be presented with additional fields. All these additional fields are **compulsory.**

For **native ads** or **push notifications** campaigns, the additional fields are:

* **Title:** Adds title content to your Native Ad or Push Notifications. You can add [**Dynamic tokens**](/advertisers/campaigns/macros#using-dynamic-tokens-in-native-and-push-a-ds) to the Title. Maximum of 90 characters.
* **Description:** Adds description content to your Native Ad or Push Notification. You can add [**Dynamic tokens**](/advertisers/campaigns/macros#using-dynamic-tokens-in-native-and-push-a-ds) to the Description. Maximum of 90 characters.
* **Brand Name:** Adds brand name content to your Native Ad. Maximum of 30 characters.

<figure><img src="/files/AXydQVFG8jvBierQyiL0" alt=""><figcaption></figcaption></figure>

For **video** campaigns, the additional fields are:

* **Call-to-Action (CTA) text:** A call-to-action text shown on top of the video ad. The position of the CTA text depends on the publisher config. Available options:
  * Automated (Default)
  * Click for More
  * Click Here
  * Play Game
  * Play Game Now
  * Play Now
  * See More
  * See Now
  * Try for Free
  * View Here
  * View More
  * Watch Free
* **Friendly URL:** the domain of your landing page URL, usually shown below the CTA text. Maximum of 25 characters.

<figure><img src="/files/Y3RCVvieImzpowDkwAxM" alt=""><figcaption></figcaption></figure>

### Custom Tracking URLs for video campaigns

In addition to your Landing Page URL you can also add [Custom Tracking URLs](/publishers/vast/custom-tracking-urls) to your video campaign. These Tracking URLs will be called during the corresponding video ad playback event, provided that the publisher's player supports such event. This feature is **optional**.

You can add any number of Custom Tracking Events. You can add [dynamic tokens](/advertisers/campaigns/macros) to Custom Tracking URLs. Custom tracking events can be added, edited and deleted in both Video and VAST tag campaigns.

<figure><img src="/files/B3TKohBM2asM9QxhzKUj" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/1mNxbQMEfwmkuPmoZl3b" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/U4guuKHeqdvRfUIhwaTY" alt=""><figcaption></figcaption></figure>

## Adding assets to the variation

Once you have clicked **Select Files**, you should select the assets for the campaign in the **Select Ad Assets** dialog.

<figure><img src="/files/6OEePC3BsTZ3xZICbDES" alt=""><figcaption></figcaption></figure>

Tick the checkbox beside the image(s) or video(s) that you wish to use. Selecting multiple images or videos will create multiple variations.

* In the **Select Ad Assets** screen you will only see images with the correct dimensions for the ad format you have chosen.
* The same applies to videos, though videos can be +/- pixel different from the standard dimension.
* If you choose to create a video campaign, videos with non-standard dimensions will show also.
* If you choose to create a Native Ad, you will also have the option to add next to the image a video thumb (a video preview of the ad available when hovering over the ad). The **Anchor Point** selected for the image will also be applied to the video thumb; you do not select a separate anchor point for the video. See the **Anchor Point Selection** below for more details.

Once you click on **Ad X Variation(s)** the variation(s) you have created will now be visible in the **Ad** tab.

### Anchor Point Selection

<figure><img src="/files/e92hqvkhSly99lRD7ZVV" alt=""><figcaption></figcaption></figure>

When uploading image assets for Native ad variations, advertisers can define the **Anchor Point** to control how the image is displayed across different placements.

The Anchor Point tool lets advertisers specify which part of the image should remain in focus when the image is adapted to fit various formats. This helps preserve key visual elements of the creative. There are nine different positions to choose from: center (default), top, bottom, sides, and corners.\
\
If a **video thumb** is added to the variation, the anchor point selected for the image is also applied to the video thumb. There is no separate anchor point for the video: both assets are cropped to fit the ad zone using the same anchor point, ensuring that the image and the video render consistently on hover. The video thumb always fills the full native ad area, preserving its original aspect ratio, with no black bars or letterboxing.

This feature is available when selecting ad assets for Native campaigns and helps ensure consistent and optimized visual presentation across all Native placements.

### Video Thumbs for Native campaigns

<figure><img src="/files/cxzxpByWtlFiylC9dpWs" alt=""><figcaption></figcaption></figure>

Native campaigns allow you to add **Video Thumbs** to your variations. When a user hovers over the image of the campaign, the ad will play a muted video file on loop for as long as the user keeps the cursor over the image. In mobile devices, the video will play when the user taps on the ad.

In the **Select Ad Assets** screen of your native campaign, you will see a Video Thumb section next to each one of the images available for your campaign. Clicking on the **Add video** button will direct you to a different **Select Ad Assets** screen which will let you choose the video you want to use as Video Thumb for the corresponding image.

{% hint style="info" %}
The videos shown in this screen are not the same ones you can use in **Video** campaigns. Check the [Media Library](/advertisers/campaigns/media-library) page for further reference.
{% endhint %}

Tick the checkbox beside the video you wish to use or click **Upload Video** to upload a new video thumbnail asset. You can only choose one video thumb per image asset. After that, click **Add Video Thumb** to apply that Video Thumb to the corresponding image.

<figure><img src="/files/vRwP23B8STBTqsbx01Gl" alt=""><figcaption></figcaption></figure>

Before you add the variation to your campaign, you can click on the **Change video** to choose a different video for this image or click the trash icon at the corner of the video thumb to remove it completely.

Once the video thumbnail has been assigned to your native image, click **Add variation** to add this variation to your campaign. Your native campaign can have variations with and without video thumbs simultaneously.

{% hint style="info" %}
You cannot remove or change a Video thumb of a variation once it has been added to the campaign.
{% endhint %}

## Actions in the variations list

<figure><img src="/files/xlZmgDo40c9JPmAIySPb" alt=""><figcaption></figcaption></figure>

Using the icon to the left of each variation, you can perform various actions:

* **Edit**: Edit the variation.
* **Test Variation**: This tests the variation by simulating what happens when an ad is clicked on.
  * For standard campaigns, this will redirect you to your landing page.
  * For RTB campaigns, this simulates what happens when our systems request an ad, including the bid request and return.
* **Pause Variation**: Pause the variation.
* **Archive Variation**: This will archive the variation. To see archived variations, click the **Show Archived** checkbox at the top of the tab.

## Selecting a distribution algorithm

<figure><img src="/files/hw2xoTVAN50mDzguY24V" alt=""><figcaption></figcaption></figure>

When you have created more than one variation, you will be able to determine how traffic will be distributed between them. If you are using [CPM](/advertisers/campaigns/creating-a-campaign/create-campaign-step4#cpm-cost-per-mille) or [Smart CPM](/advertisers/campaigns/creating-a-campaign/create-campaign-step4#smart-cpm), you will see a **Distribution Algorithm** drop-down to the top right of the variations list. There are three algorithms that you can choose from:

* **Even**: Variations that have the same CPM will have traffic evenly distributed between them.
* **Fixed**: Traffic will be distributed among the different variations based on a fixed share value assigned to each.
* **Automatic CTR** (Default): Traffic will be distributed between the variations based on their CTR.
* **Automatic on Conversion Rate**: Traffic will be distributed between the variations based on the conversion rate for the selected goal.

The **Distribution Algorithm** drop-down is unavailable if you are using the CPC pricing model. For this pricing model, traffic is distributed across Variations according to the following defaults:

* **Automatic CTR**: used for Ad Formats that count both Impressions and Clicks, hence being able to calculate the CTR (e.g., Banner, Native, Video).
* **Even**: used for Ad Formats that count only Clicks (e.g., Direct Links, Email Clicks).

### Traffic distribution for fixed algorithm

When fixed algorithm is used, there will be two additional columns shown next to **Variation Status** called **Share** and **Effective Share**:

<figure><img src="/files/1LeNPfH1vpzZ9MYRUffJ" alt=""><figcaption></figcaption></figure>

* **Share** is an editable field where you input the specific share of traffic you want to give to that variation. Note that the total sum of all the variations in the campaign cannot exceed 100%
* **Effective Share** is a non-editable field that is calculates the share of your active variations. If you had assigned a share to a variation and later paused it, then the effective share of the remaining variations will be calculated to reflect the real share of traffic that wil be delivered.

### Traffic distribution for automatic optimization

When either type of automatic optimization is used, we use an 80-20 breakdown to distribute traffic:

* If there are only normal variations in the campaign, the winning variation will get 80 percent, and the remaining 20 per cent will be distributed among the other variations using the 80-20 breakdown: The second best variation will get 80 percent, and the remaining traffic will get 20 percent, and so on.
* If there are variations to be tested, the winning variation will get 80 percent, and the remaining 20 percent will be broken down into 10 percent for normal variations and 10 percent for variations being tested.


# Step 3 - Targeting

<figure><img src="/files/obsbroPPxuK93SnfNCcP" alt=""><figcaption></figcaption></figure>

In the **Targeting** tab, you can set what this campaign is targeting. Campaigns can target anything from different countries to different devices, browsers and carriers.

## Targeting options

You can choose from the following targeting options:

* **Locations:** Here you can select countries and regions of those countries to target. **This targeting option is mandatory**.
* **Devices:** Here you can select which devices you want to target. Devices are arranged into **Console**, **Desktop**, **Mobile**, **Smart TV** and **Tablet**.
* **Operating systems:** Here you can select which operating systems you want to target. Operating systems are arranged into **Console**, **Mobile** and **Web** types. Major Operating Systems also have different versions you can choose from. Examples: Android 12 and earlier, MacOS 14 and older, etc.
* **Languages:** Here you can select which languages you wish to target.
* **Browsers:** Here you can select which web browsers you wish to target.
* **Mobile Carriers:** Here you can select which mobile carriers you wish to target when mobile devices are used. Note that choosing **Wi-Fi only** prevents you from choosing any other carrier.
* [**Ad Schedule:**](#ad-schedule) Here you can determine during which days and hours campaign will run. You can also determine the time zone of these hours.
* [**Retargeting:**](#behavioural-retargeting) Here you can further segment your traffic by targeting or excluding users who have generated conversions.
* **VR:** Here you can target or de-target users accessing in a VR environment. VR users can access either from a dedicated device, such as the Oculus Rift/Quest, or from a phone such as the Samsung S6+ placed in a VR headset.
* [**Domains:**](#domains) Here you can create your domain whitelist or blacklist.
* **Keywords:** Here you can target specific terms and key phrases that you expect to find in websites' URLs and ad zones. Make sure that the keywords you added match the type of content you are targeting, **otherwise your campaign won't receive traffic**.
* [**IP targeting:**](#ip-ranges) Here you can target or block sets of IPs ranges for improved user granularity.
* [**Proxy Types:**](#proxy-types) Here you can select the type of proxy detected from the user's connection.
* [**Age Verification Status:**](#age-verification-status) Here you can target users based on whether they have verified their age or not.
* **Email Passing:** Here you can target clicks based on whether they have an email address associated to them or not. Note that you can only receive the email address on specific ad formats by using the {email\_encoded} token, which must be enabled by your Account Manager or Customer Success. Check our [**Dynamic tokens page**](/advertisers/campaigns/macros) for more details.

For most targeting options, you can choose whether to **Target Selected** or **Block Selected**. For example, you can use the Block Selected option to select all browsers but block Google Chrome.

{% hint style="info" %}
**Note:** Certain targeting options have a limit of entries you can target/block. You can find all the campaign targeting limits [**here**](/advertisers/advertisers-faq/common-issues/campaign-limitations).
{% endhint %}

## Ad schedule

Our platform has a day-parting feature to select the exact times when you want your campaigns to run and in which time zone.

<figure><img src="/files/C0wv4derKHEAn6h4oQgz" alt=""><figcaption></figcaption></figure>

Using this feature, you can choose the times and days you want to schedule your campaign to run. On the right-hand side, just above the ad-schedule box there is a drop-down menu where you can select the time zone for your selection.

## Behavioural retargeting

Here you can target or exclude users who have reached certain **Conversion Goals**. Once retargeting is enabled, you will have to select one of the following options for each conversion goal in your account:

* **Positive:** You ask the system to target users who have reached that re-targeted page.
* **Negative:** You ask the system to exclude users who have reached that re-targeted page.
* **Ignore:** You ask the system not to consider if the user reached that re-targeted page or not.

<figure><img src="/files/YBvWhOAiH9Uw1BQ62x7i" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Note:** Use Ignore only if you have other goals with either Positive or Negative. If you are not going to use Positive or Negative in any of your goals, don't enable retargeting so as to avoid unexpected issues in the campaign.
{% endhint %}

{% hint style="warning" %}
**Important:** Retargeting is not supported for campaigns targeting **RTB** zones. Make sure your campaign is not set to **RTB** if you want to use retargeting.
{% endhint %}

Retargeting is useful to keep your brand visible for high potential users and bring them back to your website until they are ready to buy. Alternatively, retargeting can be used to save costs by excluding those users who have already generated a conversion.

In order to use retargeting **you must use pixel tracking**, as retargeting relies on cookies. Ideally, you should run the campaign with pixel tracking enabled for **a minimum of three days** before enabling retargeting. The reason is simple: if pixel tracking hasn't identified any users, you won't be able to retarget them.

Each product is different, so which conversion goal you should retarget depends on the type of visitors you receive and where the tracking pixel is located. Below you will find some of the best practices when carrying out retargeting campaigns.

### Retargeting best practices

Consider the following scenario: you are promoting an e-commerce product and you wish to use retargeting to drive up your sales. In order to identify the users visiting your product, you create 3 conversion goals that you will use as **tracking pixels**:

* Pixel n°1 (G1) on your **main landing page**.
* Pixel n°2 (G2) on your **product checkout** page.
* Pixel n°3 (G3) on the "**thank you" page** after the purchase has been made.

Before you enable retargeting, you run your campaign for at least 3 days so that your pixels have created a user base big enough for retargeting. After a few days, you feel that you have enough data to start retargeting (check the [**click-through rate**](/exoclick-docs/glossary#click-through-rate-ctr) and the [**conversion rate**](/exoclick-docs/glossary#conversion-rate-cr) of your campaign to have a better idea of how responsive the traffic has been so far).

#### Splitting retargeting campaign into groups

Based on the information from the original campaign, you create the following groups of campaigns:

* Group 1: **Positive retargeting on G2 and negative retargeting in G3**. This will try to move users towards a sale and discard the ones that already converted.
* Group 2: **Positive retargeting on G1, negative retargeting in G2 and G3**. This will try to push users to continue navigating through your site and eventually find an interesting product.
* Group 3: **Positive retargeting on G3**. You promote a different product to those users who you know to be profitable.
* Group 4: **Negative retargeting on G1**. This will be a prospecting campaign, focusing only on those users who don't know about your product yet.

As you can see, there are many different strategies you can use with retargeting. There is no better or worse strategy: it all boils down to your preferred business strategy and to your flexibility in testing these segments.

#### Personalized ads

One key benefit of retargeting is that you can **create different variations based depending on which pixels visitors have gone through**. For instance, if a user has reached the checkout page but hasn't completed a purchase, then you could create a campaign showcasing the benefits of that specific product or announcing a special offer just for that product. This will increase the chances of getting a sale from that user base.

#### Retarget users from sources other than ExoClick

When a user visits a website that contains our tracking pixel, that user will be identified with our cookie, **regardless of whether that website is in ExoClick's network or not**. This means that, if the user keeps navigating and eventually accesses one of our websites, our ad zones will recognize that user and display an advertisement from a retargeting campaigns.

You could run retargeting campaigns right away if you have been sending traffic from other sources to a website that had our tracking pixel. However, please note that **our statistics only reflect the conversions that are coming from our traffic**, meaning that there is no way to count how many users from other sources have been flagged by our pixel. This is why we insist on running campaigns with pixel tracking prior to enabling retargeting.

#### Positive retargeting is not always the answer

Still using the scenario we set up earlier, consider the following: your initial campaign received 1 M impressions, 500 clicks and just 1 conversion. Your CTR is 0.05% and your CR is 0.2%. If you enable positive retargeting in this campaign, **you will exclude 999,999 users.**

In addition, you will need to have the winning bid to successfully show your ad to the one user you have targeted. As you can see, **positive retargeting is more selective than negative retargeting**, so you need to use this feature carefully to avoid excluding most users from seeing your campaign.

For a positive retargeting campaign to be successful:

1. You should ensure that you have **a large enough pool of users** who have hit the conversion tracking pixel you are using.
2. You need to guarantee that your campaign will **achieve the winning bid by setting a high Smart CPM bid price**. CPC is not appropriate for positive retargeting as it requires some testing and cannot guarantee a winning bid.
3. It is best used on **"early" conversion tracking goals (G1)**, to ensure a larger pool of users. If you target users that clicked on an ad, you will be targeting many more than if you target those who have completed a sign-up.

## Domains

Here you can target or block specific domains by putting them in the list of **Targeted Domains** or **Blocked Domains**. Put only one domain per line and omit the `http(s)://` at the start of the domain name e.g. abcd.com.

<figure><img src="/files/coUti7rODcyd5Zhm4M72" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/ezaCtKSDbTkhyyxCYyfA" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Note**: that you can only target domains that are within our network.
{% endhint %}

## Keywords

Keyword targeting allows you to target or exclude keywords. These keywords are either words included in the **site domain** or terms sent by the publishers through their **ad zone tags**.

For example, the website `www.men-apparel.com` has a banner zone which contains the keyword `men underwear`. The terms you can use to target this zone are `men`, `underwear` and `men underwear`. Put only one **keyword** or **keyword phrase** per line. Keyword targeting is case and order sensitive.

{% hint style="warning" %}
**Note**: If you are targeting keywords that are not included in any of the domains or ad zones in our network, **your campaign won’t receive traffic**. Therefore, we strongly recommend that you add a wide range of keywords to make sure this targeting option provides the desired results.
{% endhint %}

Lastly, if you would like to use keyword targeting but you don’t know which keywords are sent by the sites and zones in our network, we advise you to add the token `{tags}` to your campaign URL. You can find out more about our dynamic tags [here](https://docs.exoclick.com/docs/macros/#dynamic-tokens).

## Virtual Reality

You can target or exclude users in a VR environment. VR users can access it through a dedicated device like the Oculus Rift/Quest or a phone, such as the Samsung S6+, placed in a VR headset.

<figure><img src="/files/cqSSXPBTP2TvvfzlCWk7" alt=""><figcaption></figcaption></figure>

You can select the following options from the drop-down:

* **All Users**: Targets all users whether using VR devices or not.
* **VR Users Only**: Targets only users using VR devices.
* **Non-VR Users Only**: Targets only users not using VR devices.

## IP Ranges

IP Ranges Targeting allows Advertisers to target or block specific IP addresses/ranges. This is particularly useful for 3/4G carrier targeting, where Advertisers can use additional IP ranges instead of/as well as the current options.

To use this feature, simply enter each IP Range(s) on a separate line in the **Targeted IP Ranges** field. To block items, place them in the **Blocked IP Ranges** field.

<figure><img src="/files/F8RXGPqxURWiPAjf6KYU" alt=""><figcaption></figcaption></figure>

When targeting IP ranges, please make sure that they are presented in CIDR format, which allows you to target a range of IPs using only a few bulk IPs. If the IP range looks like (Starting IP from to Ending IP ), for instance: 192.168.0.254–192.168.0.255, you will have to convert it into CIDR format (IP / IP prefix) and then add it to our Admin panel: 192.168.0.254/31.

<figure><img src="/files/RUfrcB7FH0HdBZuRu0pp" alt=""><figcaption></figcaption></figure>

To convert the formats, please use [this link](https://www.ipaddressguide.com/cidr#range).

## Proxy Types

<figure><img src="/files/jDBR3r2IDLYzoPpvebjV" alt=""><figcaption></figcaption></figure>

* **No Proxy:** No proxy indicates that the traffic is coming directly from the user's device without any intermediary server.
* **Consumer Privacy:** Consumer privacy proxies are designed to protect individual users' privacy by masking their IP addresses and sometimes encrypting their data.
* **VPN:** VPNs encrypt a user’s internet connection and route it through a remote server, often in a different location.
* **Hosting:** Hosting proxies are IP addresses associated with data centers and cloud services.
* **Browser Relay:** Browser relays are used to route traffic through other users’ devices, typically as part of a distributed network like Tor.
* **Anonymous Proxy:** Anonymous proxies hide the user's IP address, making it difficult to trace their online activity back to their original location.
* **Corporate:** Corporate proxies are used by companies to manage and monitor their employees' internet access.

## Age Verification Status

<figure><img src="/files/g6ypQC2hX3NqTFtjvxhV" alt=""><figcaption></figcaption></figure>

You can target users based on whether they have verified their age or not.

Available Age Verification Status filters:

* **Age Verification - Verified**: Target users who have completed age verification
* **Age Verification - Not Verified (SFW)**: Target users who have not verified their age (Safe for Work content)

{% hint style="info" %}
**Note**: The Age Verification Status feature only works if verified traffic is available for the selected targeting.

Enabling this feature in countries or on publishers where verified traffic is not available may prevent your campaign from receiving traffic.
{% endhint %}


# Step 4 - Pricing & Limits

<figure><img src="/files/Lm8QSiYoizDyRYenL29O" alt=""><figcaption></figcaption></figure>

In the **Pricing & Limits** tab you set the **Pricing Model** and the **Bid** of the campaign. You can also set up **Limits** on spending or impressions to control the spending and traffic intake of the campaign.

## Pricing models

Here is a table that shows what pricing models are available for each ad format:

| Ad Format                                 | CPM | Smart CPM | CPC | Smart CPC | CPV | Smart Bid |
| ----------------------------------------- | --- | --------- | --- | --------- | --- | --------- |
| Banner (all sizes)                        | X   | X         | X   |           |     | X         |
| Popunders (desktop & mobile)              | X   | X         |     |           |     | X         |
| Fullpage Interstitials (desktop & mobile) | X   | X         | X   |           |     | X         |
| Mobile Banner - 300x100                   | X   | X         | X   |           |     | X         |
| Native Ad - 300x300                       | X   | X         | X   |           |     | X         |
| Push Notifications (all sizes)            | X   | X         | X   |           |     | X         |
| Email Clicks                              |     |           | X   | X         |     | X         |
| Tab - Direct Link                         |     |           | X   | X         |     | X         |
| Video                                     | X   | X         | X   |           | X   | X         |

Below you will find an explanation of every pricing model in ExoClick.

### CPM (Cost Per Mille)

You set the price you will pay for 1,000 impressions of the ad.

**Use**: Suitable for campaigns focused on exposure and for easier traffic estimations. This is also the recommended price model when buying RTB traffic.

### CPC (Cost Per Click)

You set the price you will pay for each click on the ad.

**Use**: This model is suitable to assess the responsiveness of your variations. It works especially well with segments that generate lots of impressions but have a low CTR.

### Smart CPM

Smart CPM is our custom pricing model which allows you to bid for impressions at the best price possible.

When using Smart CPM, you set up the maximum CPM you are willing to pay. The system will determine the actual bid to be used based on the minimum price for that segment (GEO, device, category, etc.) and the top CPM that is running in that segment at the moment.

The system determines the lowest price you must pay to get the best position in the rotation of the campaigns up until your maximum CPM price.

**Use**: Smart CPM is suitable for exposure, like regular CPM. However, unlike regular CPM, Smart CPM helps you to be competitive by getting the best CPM. Used wisely, Smart CPM can save you time and guarantee the best visibility at the most affordable price.

{% hint style="info" %}
**Example of Smart CPM in action**:

The top bid in the targeted segment is 0.4. You set up a Smart CPM campaign of 0.7 and become the top bidder. However, you won't be paying 0.7 right away.

You will only pay what is needed to keep you in the top position, rather than the price you have set in the campaign. You will start paying 0.7 when another advertiser matches or outbids you.
{% endhint %}

### Smart CPC

This pricing model is available only for **Email Clicks** and **Direct Links** campaigns.

Smart CPC works just like **Smart CPM**, but you are bidding for clicks rather than impressions. In Smart CPC, you set up the maximum you would pay per click and the system will determine what you pay depending on the minimum price and the top CPC.

### CPV (Cost Per View)

This pricing model is available only for **Video** campaigns.

In CPV, you set the price you will pay for each **view** on the ad. A view happens when ten seconds of the video ad are displayed to the site visitor at normal speed.

**Use**: This model is suitable to assess the engagement of the traffic you are targeting as well as the responsiveness of the materials you are using. You can run a CPV campaign for prospecting and then another campaign in CPM, Smart CPM or Smart Bid to focus on your profitable zones.

We also strongly recommend setting up **separate campaigns for desktop and mobile traffic**. There is a big difference in video ads implementation between Desktop and Mobile, which affects the View and Click Rate of the campaigns. Hence, we encourage you to set up different campaigns for each device.

### Smart Bid

{% hint style="warning" %}
**Note:** Smart Bid won't work unless you are tracking conversions. Make sure you are registering conversions of the goal you want to use in your campaign.
{% endhint %}

**Smart Bid** is a pricing model that allows Advertisers to automatically determine an optimal bid for their campaigns based on the likelihood of a user to convert. It does this by using historical information about the campaign and evaluating the contextual signals that are present at the time. The algorithm is able to predict what traffic is most likely to drive quality conversions and reach the campaign objectives.

When setting up a Smart Bid campaign, there are several settings you need to select and/or input:

<figure><img src="/files/fCfwdZtiGHNj2kmljkDF" alt=""><figcaption></figcaption></figure>

* **Bid Strategy**: The value you want as reference to determine the bid. There are two options: **Target CPA** and **Target ROAS** (i.e: Return On Ad Spend). A CPA strategy will be based on the cost you are willing to pay per conversion, whereas a ROAS strategy will be based on the percentage of profit you are aiming for. You will have to input the desired target for the corresponding strategy you choose.

{% hint style="info" %}
**Notes:**

* There is a minimum value validation of **0.001** on Target CPA value.

* When Target ROAS is selected, you will also see a **ROI** value below the ROAS reflecting the expected Return on Investment you will get from this campaign.
  {% endhint %}

* **Initial CPM/CPC**: Smart Bid won’t set up an optimized bid right away. When you enable Smart Bid, the campaign will work as a **Smart CPM** or **Smart CPC** campaign, using the bid you specify here. The system will use this bid until a specific segment of traffic in your campaign has reached "data significance", i.e: when the segment has generated enough conversions to estimate its profitability. When that happens, Smart Bid will begin optimizing the bid. Note that this will all happen while Smart Bid pricing model is enabled in the campaign.

* **Conversion Goal**: The conversion goal you will be using to determine profitability. In order to set up Smart Bid, you need to have at least one [**Conversion goal**](/advertisers/conversion-tracking/conversion-tracking#creating-a-conversion-goal) created in your account. Note that, if you selected **Target ROAS** as your **Bid Strategy**, you can only choose goals with **Fixed value** or **Dynamic value**, since conversion goal value is needed to determine the ad spend.

* **Bid Optimization**: This determines what type of sources are able to send traffic to your campaign. A **Maximize Volume** optimization (which is the default and recommended option) will allow the campaign to receive traffic from segments that haven't generated any conversions yet, whereas a **Maximize CPA/ROAS** optimization will only receive traffic from segments that have generated conversions. Since this type of optimization is more restrictive and can prevent your campaign from receiving traffic, Maximize CPA/ROAS will only work when you have generated at least **30 conversions** in the campaign.

You will know when **Maximize CPA/ROAS** Bid Optimization option is available when you see the message **"This campaign has enough conversions to apply the Maximize Target CPA/ROAS Bid"** under the Bid Optimization section.

<figure><img src="/files/7KSj7mA1oOyg1AQeT2HZ" alt=""><figcaption></figcaption></figure>

**Note**: When the pricing model is changed to Smart Bid, any **Custom Bids** you had in Step 5 - Zone targeting will be lost.

{% hint style="info" %}
**Bear in mind:**

Smart Bid requires some time in order to perform the appropriate optimizations. Therefore, please make sure that you have a decent budget when running Smart Bid campaigns. We do not recommend using Smart Bid if you are running campaigns on a tight budget or if you expect to see immediate results. View Smart Bid as an investment in a campaign.
{% endhint %}

More detailed info and tips can be found in the [**Smart Bid FAQs**](/advertisers/advertisers-faq/optimisation-and-performance/smart-bid-faqs) as well as our [**Smart Bid blog post**](https://www.exoclick.com/smart-bid-the-new-automated-bidding-feature-for-advertisers/). For a more specific use case, please read our [**Case Study of a Smart Bid advertiser**](https://www.exoclick.com/advertiser-case-study-smart-bid-is-an-effective-strategy-to-turn-losing-campaigns-into-winners/).

### Switching Pricing Models

You can change the pricing model of a campaign after you have created it in the majority of cases. However, there are some situations were switching price models is limited:

* In **all ad formats except Direct Link and Email Clicks**, you cannot change from CPC to CPM or Smart Bid. Likewise, you cannot change from Smart Bid or CPM to CPC. However, you can change from Smart Bid to CPM and vice versa.
* In **video campaigns**, you cannot change from or to CPV after creating the campaign.

## Minimum Prices and View RON Top bid

Next to the **Price** section, where you state your bid, you will find the **View Minimum Prices** and the **View RON Top CPM/CPC/CPV** links:

<figure><img src="/files/ORlcZ41qR569vLfCIcWA" alt=""><figcaption></figcaption></figure>

The **View Minimum Prices** link on the Admin Panel should be used to identify the minimum CPC, CPM or CPV bid you need to use for the **Ad Format**, **Country**, **Category**, **Device** and [**Network Type**](/advertisers/campaigns/creating-a-campaign/create-campaign-step5#filtering-the-list) you selected.&#x20;

<figure><img src="/files/juQV8Sv6PUK3M8MoW7y7" alt=""><figcaption></figcaption></figure>

The **View RON Top CPM/CPC/CPV** link will tell you which is the current top bid in the chosen pricing model for your desired segment. After clicking on the link, select the **Category**, **Country**, **Device**, **Operating System**, **Mobile Carrier** and **Browser**.

The pop-up window will tell you what's the current top bid and compare it with the bid of your campaign. If your bid is lower, you can either click on the **Match it** button to match the top bid or click on the **Beat it** button to let the system set up a higher bid.

<figure><img src="/files/8aQmM461x7o9RpEIAkPm" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Notes**:

* The **View RON Top CPM/CPC/CPV** tool is useful when you do not have a whitelist/blacklist of zones yet. If you are targeting or blocking specific sites, then it is better to use the [**Top/Min column from Step 5 - Zones page**](/advertisers/campaigns/creating-a-campaign/create-campaign-step5#view-minimum-bid-and-top-bid).
* Neither of the links explained here are available when using the **Smart Bid** pricing model.
  {% endhint %}

## Frequency Capping

<figure><img src="/files/OM35pXfOyzsF8uHZjfjy" alt=""><figcaption></figcaption></figure>

Turn on the **Frequency Capping** switch to control **how many times your ads are shown to the same user**. You can choose how to apply this limit:

* **Per Variation**: Each variation will be seen according to the Frequency Capping individually.
* **Per Campaign**: Each entire Campaign will be seen according to the Frequency Capping rule set.

{% hint style="info" %}
**Note**: If you change between "Per Variation" and "Per Campaign" while your campaign is running, the impression count will restart from zero.
{% endhint %}

When using a format that doesn't generate impressions (Direct Link and Email Clicks), frequency capping is based on clicks. A best practice when prospecting or testing new sources is to set a frequency capping of **1 impression/click per 24 hours**.

## Daily limits

<figure><img src="/files/CEeao5NEJ3EfnqEVnKvu" alt=""><figcaption></figcaption></figure>

Turn on the **Daily Limits** switch to set daily limits for the **Budget** or **Impressions** for the campaign. Note that **Impressions** are not available for formats that don't generate impressions: Direct Link, Email Clicks and Video.

After choosing the Daily Limit, you also have to choose the **Delivery Mode**. There are two options:

* **Quick Delivery**: The system will try to reach the Daily Limit as quickly as possible.
* **Distribute throughout the day**: The system will regulate the campaign displays to ensure that the **Daily Budget** is reached over the course of the whole day.

Daily limits are re-set at the end of the day based on our server time zone, [**which is NY time zone**](/exoclick-docs/stats-time-zone).

{% hint style="info" %}
**Note**: Be realistic with your limits. Setting up a small budget or a small impression limit while targeting a large segment or using a high bid price can cause an **overspending**. We will explain these cases in detail in the [**Learning how to bid**](#learning-how-to-bid) section.
{% endhint %}

### How budget and impressions are distributed

When the **Daily Limits** feature is set to **Distribute throughout the day**, an algorithm controls how the campaign displays to ensure the budget/impressions limit is reached over the course of the whole day.

When the user sets a Daily Limit for the campaign, this functions like a 'balance' of budget or impressions that the campaign has available to spend during the day, starting at **00:00 New York time zone**. Budget and impressions are subtracted from this initial balance over the course of the day.

Our system takes snapshots of this balance every **15 minutes** and uses them to calculate two things:

1. **Spending velocity**: How fast the balance is being spent, based on the balance in each snapshot compared to the previous one.
2. **Acceleration**: Whether spending velocity is speeding up or slowing down, based on comparing velocities between the current snapshot and the last.

We then use these spending velocity and acceleration values to tell us how much time the campaign will take to spend all of its balance if we do nothing. We use the ratio between this time and the actual time until the end of the day to calculate how much we need to slow things down, to ensure the campaign runs for the whole day.

For **best practices**, we recommend using Distribute throughout the day when you are concerned that you will overspend. If you are not concerned about this, then we suggest you to use **Quick Delivery** instead.

If you want to keep Distribute throughout the day but you are receiving little traffic, then we recommend you to **increase the daily limits**. This will ramp up the spending velocity of the campaign. Note that Distribute throughout the day doesn't work very well with **Push Notification** campaigns because of the delayed nature of balances subtraction for them.

Lastly, please note that Daily Limits and associated algorithms are set for one 24-hour period and do not take into account Daily Limits for other days or carry over budget/impressions from previous days. Likewise, Distribute throughout the day will take into consideration the full 24-hour period, meaning that **Ad Schedule is not taken into consideration.**

## Total Limits

<figure><img src="/files/n3ssHaqOzTPFtZbIKJnN" alt=""><figcaption></figcaption></figure>

In this section you can set a limit to the total **Budget** this campaign can spend and/or the total **Impressions** the campaign can receive. As opposed to Daily Limits, Total Limits will **completely pause** the campaign once the specified Budget or Impressions have been reached. The campaign won't run again until you remove these limits.

The Total Limits you set on budget/impressions start counting from the moment you turn them on, but do not include budget/impressions from before then. So, if you set a limit of 10,000 impressions on a campaign that already has 20,000, it will not suddenly stop. It will run until it has reached 10,000 more.

## Time Period

<figure><img src="/files/uYgsJVpbtzZNbFwLBHFN" alt=""><figcaption></figcaption></figure>

Here you can set a time period for the campaign to run in. Click on the calendar icon to choose start and end dates for the campaign.

## Bidder

<figure><img src="/files/LvmlpliZxo5jhqXZRjse" alt=""><figcaption></figcaption></figure>

The **Bidder** switch allows you enable a Bidder algorithm in your campaign. You can either select an algorithm you had already created or set up a new one from scratch. You can also edit from here the settings of the algorithm.

For a detailed explanation of what Bidder does, please go to the [**specific section of Bidder in this documentation**](/advertisers/campaigns/bidder).

{% hint style="info" %}
**Note:** Bidder cannot be enabled in **Smart Bid** campaigns.
{% endhint %}

## Learning How to Bid

Your campaigns are in constant competition through our real time bidding system, which is based on the calculation of the **eCPM**. Generally speaking, the higher your bid is, the more traffic you will receive. While the eCPM of a campaign is calculated differently based on the **Pricing Model** you use, in most cases the best way to get a big volume of traffic is to become the **top bidder**.

In this section we will explain how to set up the right bid to reach your campaign goals and how to estimate the costs of your campaign.

### How your campaign eCPM is calculated

In **CPM/Smart CPM campaigns**, the eCPM basically corresponds to the CPM bid price. With this pricing model, the more you bid and the lower the frequency capping, the more traffic you will receive.

In **CPC**, the eCPM will be determined by the bid price and the CTR. As a result, advertisers should have BOTH a competitive bid and variations with a good CTR to receive more traffic.

In **CPV**, the eCPM is calculated like in CPC, but using the View Through ratio instead of the CTR.

In **Smart Bid**, the eCPM also corresponds to the bid price. However, bear in mind that this bid price will be changing constantly based on the likelihood of conversion from the targeted segment as well as the bid strategy and optimization you selected.

### Traffic estimates

To measure how much traffic you might receive, check the **Traffic Estimates** panel in the bottom right of the screen. When you click on the **Refresh** button, you will get an estimation of the available **Impressions**, **Clicks** or **Video Impressions** for the targeting settings you selected.

<figure><img src="/files/flNOi4apbYtrY7i2xEKU" alt=""><figcaption></figcaption></figure>

Normally, the traffic you can get is **about 2-5%** of the total indicated in this tab, unless you use very specific targets and you are 100% sure that your campaign has the top eCPM on all the zones you are targeting.

Note there are several factors that can have an impact on your traffic intake and which are not reflected in the **Traffic Estimates**. Here is a few of them:

* Another advertiser agrees to a **Traffic Share** deal, which allows him to buy a fixed share of the traffic, thus reducing the available traffic for you.
* Your variations have **labels** which are blocked by the majority of publishers in the targeted segment, preventing your campaign from reaching the full inventory.
* **IP targeting, domains targeting, keyword targeting, retargeting and ad schedule** settings are not reflected in the traffic estimates.
* A **new source of traffic** becomes available and starts sending traffic, suddenly increasing your campaign volumes (traffic estimates take 24 hours in order to be updated with the real volumes).
* Another advertiser stops competing for the traffic, thus passing its share of traffic to you.

Lastly, remember to click on the **Refresh** button of the Traffic Estimates panel whenever you change some targeting settings in order to make sure you the estimated amount is updated.

### Negative and positive examples of price settings

Having explained how your bid works and how to estimate the traffic you will receive, here are some example cases of unrealistic and realistic Pricing and Limit settings:

* **Unrealistic settings**

<figure><img src="/files/g3JApgILEZQwlwSmG9C5" alt=""><figcaption></figcaption></figure>

In this example, the campaign has a 0.05$ CPM bid, a $20 Daily Budget Limit and is targeting more than 80M impressions. Even if it gets only 1% of the available traffic, **the campaign costs would already double what was estimated**, meaning that the budget will not be respected:

((80,000,000 x 0.01) / 1000) x 0.05 = <mark style="color:$danger;">**$40**</mark>

* **Realistic settings**

<figure><img src="/files/UQw0O4GjAJNdvu9vsNRD" alt=""><figcaption></figcaption></figure>

In this example, the targeted traffic is smaller and the campaign Daily Budget is bigger, but the campaign bid is also higher. Despite this, **the campaign will not overspend**, even if the high bid allows the campaign to get a generous share of the traffic, such as a 50%:

((530,000 x 0.5) / 1000) x 0.25 = <mark style="color:$success;">**$66.25**</mark>

### Common bidding strategies

Below you will find some common bidding strategies based on the end-goal of your campaigns:

* **Focus on top impressions:** Set a small frequency capping (one to three) and a high CPM/SmartCPM bid to get on top of the rotation of campaigns.
  * Advantages: Traffic performances are higher and traffic is very targeted.
  * Disadvantages: The lower volume and tough competition drives prices up.
* **Reach middle or remnant inventory:** Set a bigger frequency capping (four to unlimited) and an average or minimum CPM bid.
  * Advantages: Less competition, affordable prices. The campaign will get conversions on quantity over quality.
  * Disadvantages: Traffic performance is lower. High traffic volume means you need to work more on optimization.

The effectiveness of an advertising message is based on repetition. By testing different types of campaigns and playing with the **Frequency Capping**, you can fine-tune the campaign to get the right exposure and higher profits.


# Step 5 - Zones

<figure><img src="/files/vrh3GvOm87Grvfd3k06K" alt=""><figcaption></figcaption></figure>

In this tab, you can set which websites and zones you wish to target with your campaign. By default, all sites and zones are targeted, but you can use the filters to set up whitelists or blacklists of zones and sites.

## Filtering the list

<figure><img src="/files/8LjqRxnRSgOBGxxf7u00" alt=""><figcaption></figcaption></figure>

At the top of the tab, you can use the filters to select which sites to display in the list.

* **Traffic Type**: In this drop-down, you can choose the following options:
  * **All**: Target all sites and zones in ExoClick.
  * **Free Content**: Consists of users from websites that offer content openly accessible to any visitor, with no signup, login, or membership required to view it.
  * **Members Area**: Members area traffic consists of users of any website that requires the user to sign up and join to see the content.
  * **Email Clicks (only sends traffic via Email Clicks ad format)**: Email Clicks send an email directly to end users who have signed up to the publisher's website. Once an Email Click is won, an email is sent to the end user which contains a call to action. The call to action will lead to the advertiser's URL.
* **Include Partner Networks**: Tick this option to receive Network traffic in addition to Website traffic.

## Targeting or blocking zones and sites

To target or block zones and sites in the list, first select the **Target Mode** by clicking whether to **Target Zones** or **Block Zones**. Once you select a **Target Mode** other than **All**, a list of zones will appear in the bottom half of the screen:

<figure><img src="/files/qepxkCmH4zRqv5iOqpVS" alt=""><figcaption></figcaption></figure>

In the **Status** column on the left side of the list, you will see whether each zone is **Targeted** or **Blocked** according to your settings. If the whole site is targeted/blocked, you will see **Site Targeted**/**Site Blocked** in this column.

The list displays **Targeted Impressions**. This means the statistics shown per zone are based solely on the targeting options you selected in Step 3: Targeting.

### Zone search tools

<figure><img src="/files/BAA24JeAQ8tLBE7Icw5x" alt=""><figcaption></figcaption></figure>

You can use the search bar to find zones to target/exclude quickly. You can search by **Zone ID**, **Site URL** or **Zone Type**. Press the Apply button to search.

Next to the search bar, you will find the **Bulk Select Zones** button. You can use this feature to add a large number of zones to your campaign. To do so, add the Zone IDs as a list separated by commas (no spaces).

## Settings Filters

<figure><img src="/files/cKQFtWVxLsnniNARhZ8C" alt=""><figcaption></figcaption></figure>

On the left side of the screen, you will find a **Settings** button. By cliclying on it, two options will be displayed. The **Selected Zones Only** checkbox will limit the list to show only the zones you are targeting/excluding and the **Zones With Custom Price Only** will show the zones that have a custom bid, set either by you or by **Bidder**.

{% hint style="info" %}
**Note:** In the event that a publisher decides to change the category of a zone you were targeting/excluding, you will only be able to find it in your list of targeted/excluded zones by enabling the **Selected Zones Only** checkbox. You can also remove the zone through **Bulk Select Zones**.
{% endhint %}

### Targeting zones and sites

<figure><img src="/files/JwnfY7jkMFW2GG3KgWMN" alt=""><figcaption></figcaption></figure>

If you select **Target Zones**, you can then choose to:

* **Target this zone**: Target only this zone.
* **Target all zones for this site**: Target all the zones on the site that this zone is on. The number of zones that this will target shows on the right.

When targeting specific zones, pay attention to the **Product Categories** and [**Labels**](/advertisers/advertisers-faq/advertiser-compliance/my-campaign-has-labels-what-mean) each zone is blocking. If one of your variations has a category or label that is being blocked by the zone, then that variation won't receive traffic from the zone.

<figure><img src="/files/hmllUipuK1VMeFxCbesv" alt=""><figcaption></figcaption></figure>

### Blocking zones and sites

<figure><img src="/files/PX46M2hbezUsfMqnFGSN" alt=""><figcaption></figcaption></figure>

If you select **Block** in the **Target Mode** drop-down, you can then choose to:

* **Block this zone**: Block only this zone.
* **Block all zones for this site**: Block all the zones on the site that this zone is on. The number of zones that this will block shows on the right.

### Blacklisted Sites

<figure><img src="/files/5ueBEJeKy0mIAo0Jt8Or" alt=""><figcaption></figcaption></figure>

With the feature of blocking sites on an account level, your campaigns will no longer receive any traffic from the sites that are blacklisted. You will see a warning icon highlighted in red next to the site column. On the hover of this icon, the following message is displayed: **This site has been blacklisted on your account.**

### View Minimum Bid and Top Bid

<figure><img src="/files/k94TAFU5d9WjEwaMviJL" alt=""><figcaption></figcaption></figure>

To view and compare the default or custom CPM price entered with the Top CPM price as per targeted options, you can click on the information icon under the column Top/Min CPM.

### Targeting and blocking by Sub ID

You can also target or block Sub IDs for each zone. To do this, click on the number in the **Sub IDs** column:

<figure><img src="/files/fsEpVta73vrcuLVx2FAJ" alt=""><figcaption></figcaption></figure>

Next, add the Sub IDs that you wish to target or block, separated by commas. Then use the switch on the top right of the **Sub ID Targeting** dialog box to choose whether to **Target** or **Block** them.

<figure><img src="/files/D2a0EKKxcqVcjLWNOeOO" alt=""><figcaption></figcaption></figure>

Click **CLEAR** to clear all the Sub IDs from the list.

{% hint style="info" %}
**Notes**:

* Only a valid numeric value is allowed to be input as a Sub ID. If you enter any unsupported format or exceed the limit of maximum Sub IDs per zone, you will be shown a validation message to correct the action.
* You can set up to **500 Sub IDs** on each zone, but only on **10** **zones** per campaign.
  {% endhint %}

## Manually Target or Block Zones while Bidder is enabled

<figure><img src="/files/sGu4dMZSwfaYnk49h8rP" alt=""><figcaption></figcaption></figure>

At the top of the Campaign Summary, you will see **Automatic Optimization Mode Enabled** if you have switched on [Bidder](/advertisers/campaigns/bidder). Along with having the bidder enabled that will automatically optimize zones for you, you can also manually target or block zones that you wish.

Below are some use cases of how both automatic blocking by Bidder and manual target / block by you work hand in hand.

* **When Bidder is enabled and the Target Mode in campaign step 5 is BLOCK:** If you have un-blocked a zone, the bidder will block that zone if and when it matches the bidding algorithm rules.
* **When Bidder is enabled and the Target Mode in campaign step 5 is TARGET:** If you have targeted a zone, the bidder will un-target that zone if and when it matches the bidding algorithm rules.

{% hint style="info" %}
**Note**: The Bidder has the upper hand over the targeting options that you have set in your campaign.
{% endhint %}

## Creating the campaign

On the right side of the screen in the **Campaign Summary** section, you will see a summary of the campaign targeting settings. Review this information together with the estimated traffic volume. When you are satisfied, click **Create** to create the campaign.

<figure><img src="/files/Pj0jyWpqxD83j1E7b2f6" alt=""><figcaption></figcaption></figure>

Assuming that your account has funds, once create your campaign it will go into **"Pending Approval"** until our Compliance department confirms that the campaign settings and variations are correct. For more details about our **campaign processing times**, please check [**our FAQ**](/advertisers/advertisers-faq/advertiser-compliance/how-soon-approve-campaign)

If the variation has already been approved and there is no conflict on the targeting settings, then the campaign should be approved immediately.

## Traffic problems

If your campaign is not getting as much traffic as you would like, there are several possible causes.

### General problems

* **Check your account balance:** Campaigns are stopped if there are insufficient funds.
* **Check the bid price:** A campaign with a low bid could have been out-bid, and so is receiving little or no traffic.
* **High-quality countries and popular adspots:** Campaigns targeting high-quality countries and/or popular adspots must have very competitive bids in order to receive traffic. The prices will change frequently as we operate in real-time.
* **Check Banner/Adspot:** If the banner size is incorrect, the campaign won’t run. You should always use an image banner size that matches the format you chose in the first step of creating a campaign. Requirements for the different types of ads can be found [here](/exoclick-docs/ad-formats).
* **Sold out:** If a spot or country is already sold out, then no traffic will be available. This might happen if the spot or country is under an exclusive deal.
* **Popular adspots:** Ad zones that are used very often by Publishers will be heavily targeted by Advertisers. This competition can make it difficult to get these spots if your bid is not competitive.&#x20;

### Campaign targeting problems

You should also check the campaign targeting that you have set in the [**Targeting**](/advertisers/campaigns/creating-a-campaign/create-campaign-step3) tab:

* How many impressions are available based on your campaign settings?
* Have you chosen incompatible options e.g. targeting the Android operating system but only selecting iPhone in the Device Settings?
* Is the bid price/budget too low or excessively high for the traffic you are targeting?
* If a campaign is incorrectly using domain targeting, i.e. chosing a Premium site in [**Step 5: Zones**](/advertisers/campaigns/creating-a-campaign/create-campaign-step5) of the Campaign setup but excluding it in [**Step 3: Targeting**](/advertisers/campaigns/creating-a-campaign/create-campaign-step3#domains) will prevent the campaign from running.
* Specific system settings: The campaign's domain/ID Zone targeting settings have been capped: Any campaign blocking or targeting more than 1000 URLs or 2500 ID zones will be automatically deactivated.


# The Campaigns List

<figure><img src="/files/wYrb5MIt3JPA7Qegyk3W" alt=""><figcaption></figcaption></figure>

In the **Campaigns List** tab you can create, delete and organise your campaigns into groups. You can also archive, edit, pause, and view statistics for individual or multiple campaigns.

## Filtering the campaigns list

<figure><img src="/files/kq6dKMhEyf6zhgqab49D" alt=""><figcaption></figcaption></figure>

You can filter the campaigns list in several ways:

* Click on the calendar icon to choose a **Date Range** to show in the list.
* Select a group from the **Groups** drop-down to show in the list (See Campaign Groups below).
* Select a status in the **Show Statuses** drop-down to show in the list. Choose from **Active**, **Paused** or **Archived**.
* You can also search campaigns by **Name**, **ID** number, and **Type** (the name of the ad format it uses).

When you have chosen your filtering options, click the **Apply** button to the right of the filtering options. Click **Reset Filters** to start again.

## Campaign Options

There are different options available on the Campaigns List:

<figure><img src="/files/djJ75C8KNLNzrZXvj4HF" alt=""><figcaption></figcaption></figure>

### Edit

<figure><img src="/files/FKoMOCj5pfkXbdQyfl4o" alt=""><figcaption></figcaption></figure>

This option allows you to go back to editing the campaign in question.

### View Statistics

<figure><img src="/files/EXuwtC14N507OS0mqBpp" alt=""><figcaption></figcaption></figure>

This option allows you to view the statistics for this campaign. This option will lead you to the Statistics menu with all the corresponding filters already applied.

### Start / Pause Campaign

<figure><img src="/files/ZsgwoI7ZH6ZMMpxN3X8L" alt=""><figcaption></figcaption></figure>

Depending on the [Campaign Status](#campaign-statuses), this option allows you to either start or pause a campaign.

### Copy Campaign

This option allows you to copy/duplicate a campaign. When using it, there are two possibilities:

<figure><img src="/files/ud3Z62XJ6HluQVanQIYU" alt=""><figcaption></figcaption></figure>

* **Keep the same ad format and creatives:** the entire campaign will be duplicated.
* **Choose a new ad format and upload new creatives:** you will need to select the ad format you wish to create the campaign with. Then, you will have to confirm that you agree to the price being automatically updated if the original campaign price does not match, or beat, the minimum price allowed for the chosen format. Note that, when selecting this option, **all your Zone targeting settings will be reverted back to default**, even if the ad format you chose is the same as the format of the original campaign.

### Archive Campaign

This option will archive the campaign in question.

## Campaign Groups

The groups feature allows you to organize campaigns and put them into groups based on your chosen criteria. It is especially useful if there are a large number of campaigns that you need to keep track of.

You can group campaigns by country, type of product, device targeted, and many other criteria.

### Toggling between group and non-group view

<figure><img src="/files/hbwPYGyjO3FcvMX2DCuB" alt=""><figcaption></figcaption></figure>

You can choose whether or not you wish to see the groups panel on the left side of the screen, using the two buttons on the right of the filtering panel.

If your campaigns are organized into groups, you can choose which group of campaigns to show in the list by clicking on the group in the groups panel on the left.

**Note**: When you are in non-group view, there is a **Groups** column to the right of the **Campaign name**, showing what group each campaign is in. This will show **No Group** if the campaign is not in a group. You can toggle this on and off in the column settings.

By default, the groups panel will only show campaign groups that have at least one campaign in them. To view empty groups, tick the **Show Empty Groups** checkbox.

Please note that these buttons might not appear if your browser screen is zoomed.

#### Creating a new group

To create a new group, click on the **Campaigns** tab. In the **Campaign List** section, click the **NEW GROUP** button.

<figure><img src="/files/oRoMkltddkw5lMNDk1RE" alt=""><figcaption></figcaption></figure>

**Note**: Keeping the group name short will ensure that it’s fully visible in the **Campaigns List** page.

### Assigning a campaign to a group

When you click **NEW CAMPAIGN** in the **Campaigns List** tab to create a new campaign, you will see a drop-down list of all the available groups that you can assign it to, or choose **No Group** from the list. You can also move a campaign or campaigns to a group using the bulk update bar (See below).

<figure><img src="/files/AK9Gz3oq8boQlFGMh6gW" alt=""><figcaption></figcaption></figure>

## Campaign Statuses

<figure><img src="/files/PZSSYid8T4lqSCiSFjvz" alt=""><figcaption></figcaption></figure>

The **Campaigns List** will show you the status of your campaigns in the **Status** column.

| Status                                         | Explanation                                                                                                                                                                                                       |
| ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Archived**                                   | Campaigns which have been archived. You will only see these campaigns if Archived is selected in **Show Statuses**.                                                                                               |
| **Paused**                                     | The campaign has been paused, using the pause button on the left side of the Campaigns List. You will only see these campaigns if Paused is selected in **Show Statuses**.                                        |
| **Running**                                    | The campaign is running.                                                                                                                                                                                          |
| **No Funds**                                   | There are no funds in the account (which will mean the campaign is not running).                                                                                                                                  |
| **Global Daily Budget Reached**                | The Global Daily Budget which you set in your profile page has been reached. This is the maximum you are willing to spend on all campaigns in a single day.                                                       |
| **Pending Approval**                           | The campaign is not running because it has not yet been approved.                                                                                                                                                 |
| **Rejected**                                   | The campaign has been [rejected](/advertisers/advertisers-faq/advertiser-compliance/my-campaign-got-rejected-why).                                                                                                |
| **Completed**                                  | The campaign has reached the total number of impressions that you set it to achieve.                                                                                                                              |
| **Daily Limit Reached / Daily Budget Reached** | The campaign has reached the daily limit of impressions/budget that you set in [Step 4: Pricing & Limits of creating a campaigns](/advertisers/campaigns/creating-a-campaign/create-campaign-step4#daily-limits). |
| **Partially Running**                          | One or more variations of the campaign is not running for some reason.                                                                                                                                            |
| **No Variations**                              | The campaign has been created but no variations have been created. Campaigns cannot run without at least one variation.                                                                                           |
| **Won’t Run**                                  | The campaign will not run because it has not been set up correctly.                                                                                                                                               |
| **Expired**                                    | The campaign was scheduled to end at a certain date, and this date has passed.                                                                                                                                    |
| **Scheduled**                                  | The campaign is not running yet, but has been scheduled to start at some point in the future.                                                                                                                     |

**Note**: When Daily Limit/Budget has been reached, it will be reset at 00:00 from our server time, [which is NY time zone](/exoclick-docs/stats-time-zone).

### Column Settings

<figure><img src="/files/wItnbVWi1NlaPnX8Yfhf" alt=""><figcaption></figcaption></figure>

On the top right of the campaigns list you can choose what columns to display in the list.

* Click **General** to choose from a range of different columns to show in the list.
* Click **Video** to turn on and off the **Video** section and then choose what to display in it.
* Click **Conversions** to choose which conversion tracking goals to show in the list.
* Click **Real Time Bidding** to turn on and off the **Real Time Bidding** section and then choose what to display in it.

<figure><img src="/files/CNhy0BDsN3IC7puiAMnZ" alt=""><figcaption></figcaption></figure>

## The Bulk Update Bar

When you select a campaign or campaigns using the check-boxes on the left side of the screen, the blue bulk update bar will appear at the bottom of the screen. The bulk update bar allows you quickly make changes that apply to all of the campaigns that you have selected.

<figure><img src="/files/u1YsEAZ1kFcQD4m3uu33" alt=""><figcaption></figcaption></figure>

Once you have selected multiple campaigns, in the bulk update bar, you can:

* **Pause** and **Play** the campaigns.
* Move the campaigns to a different group. Click the **Move** icon. In the **Move Campaigns** box, select the group to move the campaign(s) to from the drop-down.
* **Archive** and **Restore** the campaigns.

### Categories

Click the **Categories** option to open the **Update Categories** dialog. From there, you can select or deselect the categories assigned to the campaigns. If multiple top-level categories are available, a Target All toggle will appear, allowing you to quickly select or deselect all categories at once.

### Ad Destination

Click the **Ad Destination** option to change the landing page (entire URL or part of the URL) or landing page group for the selected campaigns.

### Pricing

Click the **Pricing** option to change the pricing on the campaign for all the campaigns: Clicking on the **Pricing** option will bring up a pop-up menu allowing you to choose from:

* **Time Period**: Set a time period for the campaigns to run in.
* **Total Limits**: In this section you can set a limit on the Budget and/or Impressions the campaign can receive. The campaign will run for as much time as it takes to reach these limits.
* **Daily Limits**: Here you can set daily limits for budget and impressions for the campaigns, as well as choosing how you want these delivered:
  * **Quick Delivery**: The budget or impressions limits should be reached as quickly as possible.
  * **Distribute throughout the day**: An algorithm will control how the campaign displays to ensure that the budget or impressions limits are reached over the course of the whole day.
  * **Frequency Capping**: Turn frequency capping on or off, and select how many impressions a visitor will receive in a time period.
  * **Pricing**: Choose between Smart CPM and CPM.

### Bidder

Click **Bidder** to adjust bring up the Bidder settings for the campaigns. You can choose to turn the Bidder on or off and select a bidding algorithm to use.

### Targeting

Adjust the targeting settings. Clicking on **Targeting** will bring up a pop-up menu consisting of all the targeting options from **Locations** to **IP Ranges**.

### Variations Distribution

Here you can choose the Distribution Algorithm that the campaigns use. Choose from **Even**, **Fixed**, **Automatic on CTR**, **Automatic on Conversion Rate**.

When you have finished updating the settings for your selected campaigns, click the **APPLY UPDATES** button.


# Landing Pages & Groups

<figure><img src="/files/LuOR9gm75hLssIe5MUZB" alt=""><figcaption></figcaption></figure>

In order to get the best performance out of your campaigns, a great strategy is to have several landing pages or pre-landers for the same offer that is being promoted. You do this by using the **Landing Pages** tab in the **Campaigns** tab. Here you can manage all these different URLs so that you can easily add them to campaigns and track their results.

## Creating a Landing Page Group

To create a landing page group, click on the **Landing Pages** tab and select **New Group**. Fill in a **Name** for the group, and then specify the **Distribution Algorithm** that will be used in the campaign. This algorithm will determine how much exposure each URL will receive in comparison to the others.

<figure><img src="/files/HdogXJ9LiaVLSVEeDLe2" alt=""><figcaption></figcaption></figure>

There are 3 different algorithms:

* **Even Distribution:** Traffic will spread evenly between the different landing pages. For example, if you have two landing pages, the traffic will split by half for each. If there are 3, each will receive 33% of the traffic.
* **Fixed Share:** Using fixed share you can define the exact percentage of traffic each landing page should receive.
* **Automatic Optimization:** The system will assign a bigger share of traffic based on its results. To use this option, you should have created a "Goal" first, which will be factored in when determining which landing page has the best results.

<figure><img src="/files/jXwmJe8p938r0iwEDuly" alt=""><figcaption></figcaption></figure>

You can add as many landing pages as you like to a landing page group. Once you have finished setting up your landing page groups, you can use them in your campaigns by adding them in **General Details** (Step 1) of creating a campaign.

<figure><img src="/files/d6lQxZLmIa1tPIuD7TyF" alt=""><figcaption></figcaption></figure>

If you add this landing page group to several campaigns, the **Landing Pages** tab will show you its results in all your campaigns.

### Landing Page Distribution vs. Variation Distribution

For non-CPC campaigns, advertisers may select a Distribution Algorithm for both Variations and Landing Page Groups.

In this scenario, each entity is evaluated **independently**: one calculation determines which Variation is chosen, and a separate calculation determines which Landing Page within the selected group receives the impression.

This means both levels operate with their own Distribution Algorithm, running side by side but independently.

## Copying a Landing Page Group

<figure><img src="/files/mtJ2igyxV5ThcF3kacAC" alt=""><figcaption></figcaption></figure>

Clicking on the **Copy** icon will provide you with two options:

* **Copy & Edit**: This option will take you to the edit form of the landing page group in case any changes need to be made before you copy it.
* **Copy**: Will directly copy the selected landing page group as it is.<br>


# Dynamic Tokens

These are the **Dynamic tokens** that are used to track interesting data through the campaign URL and advertiser's tracking system:

* **{actual\_cost}**: The actual CPM / CPC paid for each impression / click.

{% hint style="info" %}
**Note:** Some third-party tracking solutions round or truncate very small decimal values passed in tracking URLs. When impression-based campaigns send very small cost values (for example 0.00002), certain trackers may round the number or remove leading zeros. This can cause the cost to appear as 0 or significantly lower inside the tracker, even though a valid value was sent. This behavior depends on the tracker's precision and is not a tracking issue.
{% endhint %}

* **{campaign\_id}**: The ID of the campaign.
* **{category\_id}**: The ID of the category detected.
* **{conversions\_tracking}**: The unique ID generated when customer clicks on the ad.
* **{cost}**: The cost of the click or impression.
* **{country}**: The 3-character country code of the visitor.
* **{email\_encoded}**: This token can be used to insert the emails of logged-in users into landing page URLs for all formats.&#x20;

{% hint style="info" %}
**Note**: {email\_encoded} is available only on request. Contact your account manager to enable it.
{% endhint %}

* **{ex\_av}:** The [Age Verification Status](/advertisers/campaigns/creating-a-campaign/create-campaign-step3#age-verification-status) value (0 = No Age Verification, 'Undefined';  1 = Verified; 2 = Not Verified), which determines if the user is verified or not as long as the publisher shares this value. If the **publisher doesn't share the value**, then it will revert to  0 = 'Undefined'.
* **{format}**: The banner size. Example: 300×250.
* **{keyword}**: The keyword that was matched in case of campaigns targeting specific keywords. This will be empty if there is no match.
* **{language}**: The language of the visitor.
* **{pricing\_model}**: The pricing model of the campaign (1 = CPC, 2 = CPM, 4 = Smart CPM, 5=CPV, 7=Smart CPC).
* **{site\_id}**: The ID number of the site where the ad is displayed.
* **{src\_hostname}**: The site name that the Publisher submitted for displaying ads, not including the HTTP protocol at the beginning (e.g. examplesite.com).
* **{sub}**: The Publisher's Sub ID.
* **{tags}**: The list of keywords that have been identified for that ad impression.
* **{time}**: The timestamp, which is used as a cache buster.
* **{url}**: The full URL of the site that the Publisher submitted to the Admin Panel for displaying ads, including the HTTP protocol (e.g. ).&#x20;

{% hint style="info" %}
**Note**: This token will not display the URL where the ad was displayed to the user; only the URL that is registered in our platform.
{% endhint %}

* **{variation\_id}**: The ID of the variation (Banner or landing page).
* **{zone\_id}**: The ID of the ad zone where the ad is displayed.

## Using dynamic tokens in native ads and push notifications

If you are creating a campaign using native ads or push notifications in Step 2, you can add dynamic tokens that **display** **localized** **text** to the visitor based on their information, allowing you to target your ads more effectively.

<figure><img src="/files/vWiPWz49G0zK0Nl4l6rE" alt=""><figcaption></figcaption></figure>

These tokens are available for the **Title** and **Description** fields. To add a token, click the **"+Add Token"** button, then use the radio buttons to select how the token will be capitalized. The available tokens for this feature are the follwing:&#x20;

* **{country\_name}**: The localized country name of the visitor. e.g. España.
* **{region}**: The localized region name of the visitor: e.g. Cataluña.
* **{city}**: The localized city name of the visitor: e.g. Barcelona.
* **{language\_name}**: The localised language of the visitor. e.g. Español
* {**day}:** The localised day that the visitor is visiting the site on: e.g. Lunes, Martes, Miércoles.
* **{operating\_system}:** The operating system of the visitor: e.g. Windows 10.
* **{device}:** The device that the visitor is using: e.g. iPhone.
* **{carrier}:** The carrier that the visitor is using to access the site: e.g. Vodafone.
* **{browser}:** The browser that the visitor is using.

These dynamic tokens will display in the language that you set for the campaign. The language in the **Variations Text Language** drop-down menu next to the **Distribution Algorithm**. The default language is English.

<figure><img src="/files/RgNe9bAgKKGHMnve42f8" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Note:** You can only select one language for all the variations in a campaign. For ads in different languages, you should create separate campaigns for each language.
{% endhint %}


# Bidder

<figure><img src="/files/u1kgNX3AX1s4gZXnuIPE" alt=""><figcaption></figcaption></figure>

The **Bidder** is a Smart Assistant designed to help you optimize your campaigns. Bidder consists of two features:

* [**Automatic Bidding Optimization**](/advertisers/campaigns/bidder#automatic-bidding-optimization): Intelligently adjust the bids for ad zones according to how many conversions they get, and block those that don't convert.
* [**Blocking Rules**](/advertisers/campaigns/bidder#blocking-rules): Block under-performing browsers, countries, devices, languages, mobile carriers, operating systems, sites and zones automatically according to rules that you set.

To use the Bidder, create a Bidder Algorithm in the **Campaigns** > **Bidder** tab.

## Select your Data Period

<figure><img src="/files/CIyAGsAUwObQ3mKm2N3D" alt=""><figcaption></figcaption></figure>

Automatic Bidding Optimization and Blocking Rules use historical data in order to determine the actions that will be carried out by the Bidder algorithm. In **Data Period**, you can select the timespan of the data that will be used for this optimizations. This ranges from **180 days back** to **Today** (default **30 days**).

## Automatic Bidding Optimization

<figure><img src="/files/k4spxTKjQxU6pBrXuqb0" alt=""><figcaption></figcaption></figure>

The **Automatic Bidding Optimization** feature allows an Advertiser to automatically adjust the price set on each zone based on the [conversion value](/advertisers/advertiser-statistics#the-conversion-tracking-and-conversion-goals-panels), and block zones that do not convert.

{% hint style="info" %}
To use Automatic Bidding Optimization, **you must have at least one conversion goal set up.** The tool works for both pixel and S2S tracking.
{% endhint %}

### Select a Conversion Goal and a Method to determine the Conversion Value

Select a conversion goal from the **Conversion Tracking** drop-down. Based on the conversion goal's value, you can choose either of these two options:

* **Use the Goal's Conversion Value:** This method is applicable for **Fixed** and **Dynamic value** conversion goals. When this method is chosen, the Bidding Algorithm uses the value set on the conversion goal.
* **Set Target Conversion Value:** This method will allow the Advertiser to input a conversion value that will be used by the Bidding Algorithm to optimize the bid.

<figure><img src="/files/V9zL6BwDc1mKYZuK9X3l" alt=""><figcaption></figcaption></figure>

### Set a Maximum Test Budget

The **Maximum Test Budget** determines how much you are willing to spend in a zone before Bidder starts optimizing. Bidder needs some information of the traffic you are buying in order to determine its profitability, so the Maximum Test Budget determines how much the campaign can spend on a zone before it can begin optimizing.

The **Maximum Test Budget** can be set in three different ways:

* **Automatic**: By default, the **Maximum Test Budget** will be set at 5 times the target conversion value that is set.
* **Set Maximum**: Manually set your own **Maximum Test Budget**. You can set up a Maximum Test Budget up to **20 times the target conversion value**.
* **No Maximum**: Zones can continue to generate costs in the campaign even if they do not generate conversions. In this scenario, zones will continue to run with the **campaign default bid** until 3 conversions are generated, at which point Bidder will begin optimizing.

<figure><img src="/files/ye40eyRSwayhkmOdlu5D" alt=""><figcaption></figcaption></figure>

### When Automatic Bidding Optimization Starts

* If a zone gets **more than three conversions**, then Bidder will start optimizing, regardless of whether your **Maximum Test Budget** has been reached or not.
* If a zone has **less than three conversions** and the **Maximum Test Budget** has been reached, then Bidder will start optimizing. In this case, Bidder might assign a lower bid to keep the traffic at minimum until the zone starts generating more conversions.
* If a zone has **zero conversions** and reaches the **Maximum Test Budget**, then Bidder will block that ad zone for the campaign forever.

Once **Automatic Bidding Optimization** starts running, it will fine-tune your bids for each zone to keep them under the conversion value for the selected conversion goal. Every optimization carried out by Bidder is recorded in the [**history**](/advertisers/campaigns/bidder#history) of the algorithm.

{% hint style="warning" %}
**Bear in mind**:

Depending on the performance from the zone you are receiving conversions from, Bidder can **significantly increase the bid you are using in this zone**. You could find your campaigns paying several times your original bid in specific zones. Because of this, please be very careful when determining the **Daily Budget** your Bidder camapigns will use. Should your zone bids scale up, your Daily Budget might not be respected.
{% endhint %}

## Blocking Rules

<figure><img src="/files/LTnaKps2te2d4T0nqrkB" alt=""><figcaption></figcaption></figure>

When you turn on the **Blocking Rules** option, you can create rules that determine which campaign targeting setting or dimension is blocked automatically based on the rules set.

The available dimensions that can be blocked are the following:

* **Zone** (default)
* **Browser**
* **Country**
* **Devices**
* **Language**
* **Mobile Carrier**
* **Operating System**
* **Site**

<figure><img src="/files/TSItTJ6xH5SLlBIx7NPj" alt=""><figcaption></figcaption></figure>

The rules are enforced once the selected dimension has reached a certain amount of **Impressions**, **Clicks** or **Spending**. In order to determine whether this dimension needs to be blocked, Bidder will look at one of the following metrics: **CTR**, **Conversions**, **eCPA**, **ROI** or **Profit**.

<figure><img src="/files/pCmCuORwHABFCvTuN8rg" alt=""><figcaption></figcaption></figure>

In the second drop-down menu, if you select **Conversions**, **eCPA**, **ROI** or **Profit**, you must then select which goal is associated with them from the **Select a Goal** drop-down menu that appears.

You can add up to **10** Blocking rules. Each rule will be applied on an **OR** basis and not an **AND** basis, which means that each rule is applied individually. Whichever of the set rules fulfills the condition first will be triggered and will block the ad zone.

Once all the desired rules are added, click **Update**. Once you click **Update** your new **Blocking Rule** will begin working.

## Assigning the algorithm to a campaign

You can assign a Bidder algorithm to a campaign in the **Step 4: Pricing & Limits** page from campaign settings. Under the **Bidder** section, you will find the option to assign your newly created Bidder algorithm.

<figure><img src="/files/lYCZbfaJRgK0Zs2w2RN7" alt=""><figcaption></figcaption></figure>

## History and Campaigns Using this Bidding Algorithm

The Bidder algorithms you create will be added to the list of available algorithms in the **Bidder** tab. You can click **Edit** to view/edit the details for any of them.

If you edit an existing algorithm, you will see two new sections below the **Blocking Rules**: **History** and **Campaigns using this bidding algorithm**.

<figure><img src="/files/STj6z0v9s4JFVvdGs7Tc" alt=""><figcaption></figcaption></figure>

### History

<figure><img src="/files/x6tCVbOFFPSoPFGexehH" alt=""><figcaption></figcaption></figure>

This section shows a list of detailed information of all previously created campaigns set using a specific algorithm. This section shows any optimization events (such as increasing or lowering the bid) and blocking events that have occurred over the last 30 days.

You can filter the results by date, or choose whether to see **Optimized Bids** or **Blocked Zones**. You can also search by **Campaign Name**, **Campaign ID**, **Site/Zone Name**, **Site/Zone Name ID**, **Browsers**, **Countries**, **Languages**, **Mobile Carriers**, **Operating Systems**, **Devices** or any **relevant ID**.

If you hover over the information icon of a blocked dimension in orange, you will see the reason why the dimension is blocked, based on the campaign targeting. For the bidding under the **Action** header, you will see the **Optimized Bid** in blue. Under the **New/Old Bid** header, you will see the new bid obtained by the Bidder and the original bid set.

{% hint style="info" %}
**Notes**:

* If the Bidder looks to block the only remaining value for a specific dimension, the campaign will be set to **Won’t run** status. You can put it back to running by editing the campaign settings.
* In case of a **Dynamic conversion goal** that has a very low value (less than **$/€0.001**) or no value at the time of optimization, the Bidding Algorithm will ignore the optimization making an entry in the Bidder history with an action "**Automatic Optimization Ignored**".
  {% endhint %}

<figure><img src="/files/Z09XlH5lKjV8qF86zD5T" alt=""><figcaption></figcaption></figure>

### Campaigns Using this Bidding Algorithm

<figure><img src="/files/9wsZZzwolJv3Sl4pJq1i" alt=""><figcaption></figcaption></figure>

This section shows all the campaigns using this specific algorithm. It will show **Campaign ID**, **Campaign Name**, and **Type of Ad Format**. On the left of this list, you will find two buttons: one to **Edit the associated campaign** and another one to **unassign Bidder from the linked campaign**.

## Additional Bidder Insights

Bidder needs a **minimum amount of traffic** from the zone in order to start working:

* For CPM and Smart CPM campaigns, at least 500 impressions are needed.
* For CPC campaigns, at least 20 clicks are needed.
* If you have rules set with goals, for all the payment models the campaign needs at least 3 goals.

Bidder is very flexible. You can mix **Automatic Bidding Optimization** and **Blocking Rules** together in order to control what is optimized and what is blocked. This means that you can:

* Have Automatic Bidding Optimization and Blocking Rules working at the same time.
* Disable Automatic Bidding but leave Rules working.
* Disable Rules and keep Automatic Bidding working.

Note that **you can use the Bidder while doing zone targeting in your campaign**. Bidder will work on the specific zones you are targeting and/or respect the zones you are blocking. This means that you can:

* Manually block or target zones when setting up a new campaign with the Bidder.
* Manually block or re-enable ad zones that have been automatically optimized or blocked by the Bidder.
* Enable the Bidder on an existing campaign without erasing any existing optimizations made manually by the advertisers.

For more information, please check our [**Zone targeting page**](/advertisers/campaigns/creating-a-campaign/create-campaign-step5#targeting-or-blocking-zones-and-sites)**.**

<figure><img src="/files/FEvoJDZnHghof4aaSKr4" alt=""><figcaption></figcaption></figure>

If you are not convinced about the optimizations carried out by Bidder, you can temporarily disable it while you fine-tune the settings of the algorithm or your campaign targeting. When Bidder is disabled, **optimizations carried out by Bidder remain in the campaign**, including optimized bids and blocked dimensions.

Please note that campaigns with Bidder enabled can block up to **4000 zones**. If your campaign needs to block even more zones, consider using **Domains targeting** or switching to **Target** zones instead of **Block** zones.

Lastly, it is not possible to re-use Bidder optimizations from a campaign on a different campaign because **each campaign is optimized individually**, even if you use the same Bidder algorithm.


# The Media Library

<figure><img src="/files/CFzxSOe1TZWdv3Z9stcD" alt=""><figcaption></figcaption></figure>

The Media Library is where you manage and upload the creative assets like pictures and videos that you use in your campaigns.

## Uploading assets

You can upload files to your Media Library by clicking on Upload Files, selecting the type of file you want to upload, and then uploading the file you require.

{% hint style="info" %}
There is no limit to the number of assets you can store.
{% endhint %}

### Size limits

Creative assets (images and videos) are subject to size limits to ensure that sites run at optimal performance and achieve high ranking in search engines.

| Asset                                                             | Size Limit |
| ----------------------------------------------------------------- | ---------- |
| Images under 1,000,000 pixels (Banner, Native, Push Notification) | 150 KB     |
| Images over 1,000,000 pixels (Fullpage Interstitials)             | 300 KB     |
| Video Thumbs (Native Ads)                                         | 1500 KB    |
| Video Banners                                                     | 1536 KB    |
| Video campaigns (In-Stream, Slider and Outstream)                 | 51200 KB   |

### Optimization of uploads

When your creatives are uploaded to our system, we optimize them for best performance by converting PNG files to JPEG and using MP4s to replace animated GIFs for some ad zones. The optimization works as follows:

* **PNG files** are converted to **JPEG**. Previously uploaded PNG files are converted to JPEG also.
* **MP4 versions** of animated **GIFs** are created and used for ad zones that allow it. The following ad zones will give preference to the MP4:
  * Banner
  * Mobile Banner
  * Sticky Banner
  * Instant Messages

{% hint style="info" %}
**Notes**:

* Both PNGs and GIFs will only be converted if the optimization will result in a smaller filesize.
* Banners containing GIFs converted to MP4 will still function as normal banners, not video banners.
  {% endhint %}

## Viewing image details

For each thumbnail image, click the **View Details** icon to see the details of the asset. You will see the **Image Details** screen:

* **ID**: The ID number of the asset.
* **Status**: The status of the asset (Approved, Pending, Rejected).
* **Labels**: Any [**labels**](/advertisers/advertisers-faq/advertiser-compliance/my-campaign-has-labels-what-mean) associated with the asset, e.g: "Banners - Animated Images".
* **Target Audience**: The target audience label for the asset.
* **Product Category**: Which of the categories that asset belongs to.
* **Original File Name**: The filename that the asset was uploaded with.
* **Original File Size**: The size of the asset when it was uploaded.
* **Compressed GIF Size**: The size of the asset once it has been compressed.
* **Optimized File Size**: If the file was optimized as well as compressed, it may have a different size to the compressed file.
* **Campaigns**: The campaign(s) that this asset is used in. Clicking on the links for each campaign will take you to the **Campaign List** screen for that campaign.
* **Your Tags**: Here you can add any tags to identify the asset in searches. When you have added the tags that you need, click **Save**.

<figure><img src="/files/BudRW3uozXaoG0zYgTwZ" alt=""><figcaption></figcaption></figure>

## Finding Assets in the Media Library Screen

You can filter the assets that show in this screen using the drop-down menus at the top of the screen:

* **Asset Status**: You can use these drop-downs to filter the assets by whether they have been **Approved**, **Rejected**, or are **Pending Approval**.
* **With/Without**: You can choose to show assets with or without certain features. Simply tick the features that you want to include in the **With** drop-down, and tick the features to exclude in the **Without** drop-down.
* **Search Tags**: Here you can search for assets using any tags that you have added in the **Details** screen of any asset.
* **Search for original files names**: In the **Select Ad Assets** screen, assets are identified by IDs, but you can search for the file name that the file was originally uploaded with. Simply type all or part of the filename into the field.
* **Show Archived**: When assets have been archived, you can choose whether to show them in this screen or not.
* **Banner ID**: You can search by Banner ID in this screen as well.


# Iframe Events

Advertisers are able to track events in their Ads. These events are programmatically managed directly in the client browser with the help of JavaScript.

## Events

### creativeDisplayed

{% hint style="info" %}
This is only available for **Desktop Fullpage Interstitial** and **Mobile Fullpage Interstitial** (*DFPI/MFPI*) Ad Format campaigns with **iframe URL** variation.
{% endhint %}

When the ad is displayed to the user, a message is sent into the iframe called `creativeDisplayed`.

You can track this event inside your iframe by using the script below, which adds an event listener to catch the sent message once the ad is displayed to the user.

```html
<script>
        function readMessage(event) {
            console.log("readMessage event");
            console.log("origin: " + event.origin);
            console.log("data: " + event.data);
        }

        if (window.addEventListener) {
            // For standards-compliant web browsers
            window.addEventListener("message", readMessage, false);
        } else {
            window.attachEvent("onmessage", readMessage);
        }
</script>
```

## Example - Fullpage Interstitial

```html
<!DOCTYPE html>
<html>
<head>
    <!-- EVENT PART -->
    <script>
        function readMessage(event) {
            console.log("readMessage event");
            console.log("origin: " + event.origin);
            console.log("data: " + event.data);
            var message = "We got message: '" + event.data + "' from '" + event.origin + "' (we are on advertiser iframe now)";
            console.log(message);
            document.getElementById("received-message").innerHTML = message;
            // ie advertiser wants to update some element
        }
        if (window.addEventListener) {
            // For standards-compliant web browsers
            window.addEventListener("message", readMessage, false);
        } else {
            window.attachEvent("onmessage", readMessage);
        }
    </script>
    <!-- END OF EVENT PART -->
</head>
<body>
    <h1>My test iframe heading</h1>
    <p>My test iframe paragraph</p>
    <p id="received-message">Waiting for the message</p>
</body>
</html>
```

<figure><img src="/files/H77btDAF7jMa4p0v95He" alt=""><figcaption></figcaption></figure>


# Third Party Ad-Serving

Third party ad serving allows advertisers to host, deliver and track events from their own server, instead of relying exclusively on ExoClick to perform these tasks. On a campaign level, this is achieved by taking advantage of **HTML Banner tags** and **iframe URLs**.

Some of the advantages of HTML Banner tags and iframe URLs are that most of the recurrent campaign updates, like changing and updating creatives, can be performed straight from the advertiser's own server. In addition, this approach is also helpful because it allows for automation, making tasks like tracking, A/B testing and segmentation easier to manage.

## Inserting an HTML Banner tag or iframe URL into a campaign

If **HTML / iframes** are allowed in your account, head to **Step 2 - Ads** in your campaign creation window. From there, choose HTML Banners or iframe URL and click on the **+ AD VARIATIONS** button to add the tag or URL to your campaign.

Currently, ExoClick uses **HTML banner** tags for **all banner formats**, and **iframe URL** for **Interstitial** and **Native ads**.

HTML banners will accept HTML tags as an input. You can either create your creative right inside the input box by using HTML tags or you can add an iframe pointing to your host page:

<figure><img src="/files/zcca0wOAbA8vD4Jz8uuC" alt=""><figcaption></figcaption></figure>

With the iframe URL you just need to provide the source of the iframe:

<figure><img src="/files/gF9xhNPxyOVa56beetbb" alt=""><figcaption></figcaption></figure>

## Registering Clicks and Conversions in HTML campaigns

As HTML Banner and Iframe URL campaigns are served through a third party server, the Admin Panel will not register any ***clicks*** or ***conversions*** by default. If you want to track these events, you’ll need to follow these steps:

### Step 1: Add the {click\_url} and {conversions\_tracking} parameters to your HTML/iFrame code

Add {click\_url} and {conversions\_tracking} to the ad tag, as shown in this example:

```js
<body style="margin: 0px"><iframe id='a628d52a' name='a628d52a' src='https://ad.third-party-server.com/iframe?tag={conversions_tracking}&click_url={click_url}' frameborder='0' scrolling='no' width='300' height='250'></iframe></body>
```

### Step 2: Add to your host page the code to detect the {click\_url} value

Your host page needs to be able to detect the {click\_url} value in order to generate the click and the {conversions\_tracking} string in order to register the conversion in the Admin Panel. The way in which you fetch these values depends on the programming language your host page is built with. Here are some examples:

**Javascript:**

```js
<div id="anchor"></div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<script type="text/javascript">
//get Params from iframe URL
function paramFetch(name)
{
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
  results = regex.exec(location.search);
  return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
//create banner
  var tag = paramFetch('tag');
  var clickid = paramFetch('click_url');
  if (!clickid.endsWith(';')) {
            clickid += ';';
        }
  var link = document.createElement('a');
  link.href = clickid + 'https://www.mylandingpage.com?tag=' + tag ;
  link.target = '_blank';
  link.innerHTML = '<img src=\"banner300x250.jpg\">';
  document.getElementById('anchor').appendChild(link);
</script>
```

In this script, you can add any variable that you might need to track through your iframe, provided that you specify the parameter from the URL that preceedes this value. For instance, if you want to track **Sub IDs**, you can use the following code:

```js
<div id="anchor"></div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<script type="text/javascript">
//get Params from iframe URL
<script type="text/javascript">
function paramFetch(name)
{
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
  results = regex.exec(location.search);
  return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
  var tag = paramFetch('tag');
  var subid = paramFetch('subid'); // Fetch the value of the 'subid' parameter from the URL
  var link = document.createElement('a');
  link.href= 'https://www.mylandingpage.com?tag=' + tag + '&subid=' + subid ; // Track subid parameter
  link.target= '_blank';
  link.innerHTML = '<img src=\"banner300x250.jpg\">';
  document.getElementById('anchor').appendChild(link);
</script>
```

Sub ID tracking is a way to add extra information to your links so you can understand more about where your website traffic is coming from. By adding Sub ID parameters to your URLs, you can track specific details like which ad, platform, or campaign brought a visitor to your site.

**PHP:**

```php
<?php
$tag_tracker = isset($_GET['tag']) ? $_GET['tag'] : '';
$click_url = isset($_GET['click_url']) ? $_GET['click_url'] : '';
?>

if (substr($click_url, -1) !== ';') {
  $click_url .= ';';
}

<a target="_blank" href='<?php echo $click_url ?>https://ad.third-party-server-ad.com/click?tag=<?php echo $tag_tracker ?>' >
```

The final result of the link should be:

```js
{click_url}https://ad.third-party-server-ad.com/click?tag={conversions_tracking}
```

When a user clicks on this ad, our server will automatically remove the {click\_URL} value and redirect the visitor to the page, while registering the click and providing the details from the conversion.


# Conversion Tracking

Conversion tracking lets you measure the actual results of your campaigns — sales, leads, app installs, sign-ups — beyond just clicks and impressions. This section explains how conversion tracking works on ExoClick, how to set it up, and how to benefit from it, along with step-by-step manuals for integrating with popular third-party tracking platforms like Voluum, Binom, RedTrack, Keitaro, and more.


# Introduction to Conversion Tracking

Conversion tracking is an **essential** part of advertising. By doing conversion tracking, you will be able to see how many **sales, leads or installs** you are getting from these campaigns and get an accurate picture of the **profitability** from ExoClick's traffic.

<figure><img src="/files/JUX8cROvQxY68Y3Sr2jM" alt=""><figcaption></figcaption></figure>

## What are the advantages of conversion tracking?

Aside from being able to measure the responsiveness of the traffic and assess the revenue from your campaigns, conversion tracking also allows you to **enable additional features** that can help you optimize your campaigns:

* [**Smart Bid**](/advertisers/campaigns/creating-a-campaign/create-campaign-step4#smart-bid): With conversion tracking, you can enable Smart Bid pricing model, which allows the system to optimize your bidding based on the profitability of the targeted traffic.
* [**Bidder**](/advertisers/campaigns/bidder): With conversion tracking, you can enable Automatic Bidding Optimization in your Bidder algorithms, as well as set up Blocking Rules based on conversions.
* [**Variation Optimization**](/advertisers/campaigns/creating-a-campaign/create-campaign-step2#selecting-a-distribution-algorithm)**:** If you are running CPM campaigns, you can enable Variation Optimization so as to send the majority of traffic to the variation that generates the most conversions. This way you increase the user engagement and improve your exposure.

The steps on how to enable Conversion Tracking will be explained on the next page.


# Conversion Tracking

<figure><img src="/files/Z2xdiqJ4XXHXM6IZSOxO" alt=""><figcaption></figcaption></figure>

In the **Campaigns** > **Conversion Tracking** tab, you can create **Conversion Goals** to track the performance of your campaigns. These goals allow you to track your customer's progress and actions through your funnel (e.g. reaching a landing page, sign-up, sale).

Before choosing a conversion tracking method, make sure to **create a Conversion Goal first**. The steps to create a Conversion Goal are the same for both methods.

## Creating a Conversion Goal

In the Conversion Tracking tab, click on the **New Conversion Goal** button. The form to create a new conversion contains the following:

<figure><img src="/files/Sw2tiQalZPOSfe3andCW" alt=""><figcaption></figcaption></figure>

* **Name:** The name of the conversion goal.
* **Conversion type (compulsory):** The type of offer you are promoting. You can choose from the following options:
  * **App Install**
  * **Lead - Single Opt In**
  * **Lead - Double Opt In**
  * **Multiple Conversions Types** - Use this option if you plan to use the same goal for multiple offers.
  * **Subscription - Carrier Billing**
  * **Subscription - Credit Card**
  * **Purchase - Carrier Billing**
  * **Purchase - Credit Card**
  * **Purchase - COD (Cash On Delivery)**
  * **Website Interaction**
  * **Other**
* **Conversion Value:** The payout of the conversion. Used to determine the **Revenue**, **Profit** and **ROI** (Return on Investment) of the campaigns that use this goal in their funnel. You can choose from the following options:
  * **No Value** No amount will be associated with the goal when logged.
  * **Fixed:** A fixed amount provided by you will be associated with the goal when logged.
  * **Dynamic:** A dynamic amount will be associated with the goal when logged.
* **Count:** How many times the same conversion can be counted in your statistics. You can choose between two options:
  * **One conversion:** Conversions are unique and can be called only once.
  * **Every conversion:** Every conversion will be counted if called multiple times.
* **Conversion Window:** The amount of time after an ad interaction during which a conversion will still be associated to that campaign. The available values in the dropdown are:
  * 12 hours
  * 24 hours **(default)**
  * 2 days
  * 3 days
  * 7 days
  * 30 days
  * 90 days
  * Custom (Accepting integers from 1 to 90 days)
* **Order:** The place in which this goal's results will be displayed in regards to the other goals in your account. For example, if you set the order as 2, this Conversion Goal will be displayed second (from left to right) in the **Conversions Panel** from your [**Campaigns List**](/advertisers/campaigns/campaigns-list#column-settings) and your [**Statistics**](/advertisers/advertiser-statistics#the-conversion-tracking-and-conversion-goals-panels).

**Note:** If you set up multiple goals with the same Order, **the oldest goal** will be placed first in the order of statistics (from left to right).

Once you have selected all the settings for this Conversion Goal, click **Create**. Every Conversion Goal you create in your account has a unique **ID** which will be used to associate the user action to the corresponding Goal.

After creating the goal, you will be able to choose the Conversion tracking method you wish to use for this goal. We offer two ways of conversion tracking:

* [**Conversion Tracking API - S2S (Recommended)**](/advertisers/conversion-tracking/conversion-tracking#using-conversion-tracking-api---s2s-recommended)
* [**Pixel Tracking**](/advertisers/conversion-tracking/conversion-tracking#using-pixel-tracking)

### Important Update on Conversion Tracking

{% hint style="warning" %}
The domain used for postback URLs has changed to **s.magsrv.com**

Please make sure your tracking is set up accordingly to ensure seamless operation.
{% endhint %}

## Using Conversion Tracking API - S2S (Recommended)

<figure><img src="/files/izXCRGytzJLmYRV0MgEy" alt=""><figcaption></figcaption></figure>

The recommended option for conversion tracking. Used to notify ExoClick's servers from your tracking solution or affiliate platform whenever a conversion is made.

Under the **Tracking Manuals** section, in the sidebar from this documentation, you will find the steps to set up Server to Server tracking with some of the most common tracking software tools in the industry. If your tool is not in this list or you are using a custom solution, please follow the steps below:

{% stepper %}
{% step %}

### Adding the {conversions\_tracking} token to your Campaign URL

In order to notify the conversion to our server, you will need to get the **{conversions\_tracking}** string from your campaign (often known as **Click ID** or **External ID**). To do this, access your campaign settings and, in the **Step 2 - Ads** page of your campaign, click the **+Add Tokens** button next to your campaign URL:

<figure><img src="/files/1sPNk7pODfZsiecOlyGf" alt=""><figcaption></figcaption></figure>

From there, select **{conversions\_tracking}**. Your landing page should look like the following:

```json
http://www.yoursite.com/?lng=FR&exotracker={conversions_tracking}
```

**Note:** Make sure to preceed this token with the **appropriate parameter to identify Click IDs or External IDs**. In this example, we used the parameter `exotracker` as an example. The real parameter you must use to define {conversions\_tracking} will depend on your server or the tracking solution you have.

When a customer clicks on your ad, we will populate this conversion tracking token with a unique ID. You will need to store this ID for reference when calling the **Postback URL**. Here is how the unique ID looks like:

```json
ooddNHNPXHRbHNNU7TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gVml2YW11cyBub24gb2RpbyBtYXNzYS4gRG9uZWMgZGlnbmlzc2ltIGJsYW5kaXQgdmVsaXQgYXQgZWdlc3Rhcy4=
```

**Note:** the unique ID from {conversions\_tracking} has a minimum length of **150 characters** and a maximum of **700 characters**. Make sure you are able to receive and return the complete string.
{% endstep %}

{% step %}

### Calling the Postback URL

You can get the **Postback URL** from your Conversion Goal in the **Conversions tracking** tab from the Admin Panel, after choosing **Conversion Tracking API - S2S** as your tracking method. Our Postback URL has the following structure:

```json
http://s.magsrv.com/tag.php?goal=GOAL_ID&tag=XXXXXXXXXXX
```

When a user in your funnel generates a conversion, your server will have to perform a **HTTP GET call** to this Postback URL. Make sure that you replace the `XXXXXXXXX` value with the **unique ID generated by the {conversions\_tracking} token in your campaign** every time a new conversion is generated in your offer.

If your Conversion Goal has **Dynamic value**, make sure to add **\&value=YYYYYYY** to your Postback URL, where `YYYYYYY` is the **monetary value** of your offer. If you are promoting an **affiliate offer**, please double-check with them what token you should use to pass payouts.

```json
http://s.magsrv.com/tag.php?goal=GOAL_ID&tag=XXXXXXXXX&value=YYYYYYYYYY
```

### Postback URL responses

When your server calls our Postback URL, it can get one of the following responses:

| **Response**                                                | **Meaning**                                                                                                                                                                  |
| ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| OK                                                          | The request is OK. Conversion has been registered                                                                                                                            |
| ERROR: This conversion has already been notified and saved. | A conversion for this conversions\_tracking ID has already been registered and cannot be counted again. This happens only with Conversion Goals that Count "One Conversion". |
| ERROR: Tag is invalid!                                      | The format of the conversions\_tracking ID is not correct.                                                                                                                   |
| ERROR: No tag data.                                         | The conversion\_tracking ID is missing.                                                                                                                                      |
| ERROR: Goal ID is invalid.                                  | The format of the Goal ID is not correct. Goal IDs are 32 characters of hexadecimal (0-9, a-f).                                                                              |
| ERROR: No Goal ID.                                          | The tag or Goal ID is missing.                                                                                                                                               |
| ERROR: Conversion window is not respected.                  | The postback URL has been called outside the Conversion Window.                                                                                                              |

Here are some example error Postbacks:

* ERROR: Tag is invalid!

```
http://s.magsrv.com/tag.php?goal=1b9b3786eae526755467c2593d194005&tag=ooddNHNPXHRbHNNU7
```

* ERROR: No tag data.

```
http://s.magsrv.com/tag.php?goal=1a76578475674857&tag=
```

* ERROR: Goal ID is invalid.

```
http://s.magsrv.com/tag.php?goal=4564&tag={conversions_tracking}
```

* ERROR: No Goal ID.

```
http://s.magsrv.com/tag.php?goal=&tag={conversions_tracking}
```

{% endstep %}
{% endstepper %}

## Using Pixel Tracking

<figure><img src="/files/55L4TcwprQD7lqqQJiuj" alt=""><figcaption></figcaption></figure>

If you select **Pixel tracking** as your tracking method, you will get a pixel tracking script which you can copy-paste in the website you want to track. Our pixel tracking script looks like the following:

```html
<!-- START Goal Tag | Test Goal -->
<script type="application/javascript" src="https://a.magsrv.com/tag_gen.js" data-goal="XXXXXXXXXXXXXXXXX"></script>
<!-- END Goal Tag | Test Goal -->
```

If the Conversion Goal has **Dynamic value** then you will see an extra parameter as **data-value** in order to provide the dynamic monetary value:

<figure><img src="/files/2PvHzLCvxvujr91fmWM9" alt=""><figcaption></figcaption></figure>

```html
<!-- START ExoClick Goal Tag | dynamic goal -->
<script type="application/javascript" src="https://a.magsrv.com/tag_gen.js" data-goal="XXXXXXXXXXXXXXXXXXXXX" data-value="{conversion_value}"></script>
<!-- END ExoClick Goal Tag | dynamic goal -->
```

Click **Copy** to copy this script, so you can paste it onto the relevant pages on your site. Make sure to paste the code in the \<body> tag of your site.

For best results, consider creating multiple Pixel goals so as to track the various steps of your campaign funnel. Here is an example set up you can try:

* Pixel n°1 on your **main landing page**.
* Pixel n°2 on your **product checkout** page.
* Pixel n°3 on the "**thank you" page** after the purchase has been made.

### Insights regarding pixel tracking and type-in traffic from video campaigns

Currently, the In-Stream video ads support better conversion tracking by using a tracking pixel because it allows tracking **type-in**\* traffic. **Type-in** traffic is traffic generated by a visitor when they type your brand or site name on their browser and they end up visiting your website. When a user watches the video advert for at least **10 seconds** (which is the minimum amount of time to generate a video view), we drop a cookie that will allow your campaign to identify the user, should he/she visit the URL that contains the tracking pixel.

Therefore, **the tracking pixel should always be present on the targeted page**, not only to identify users coming from ExoClick traffic but also traffic coming from other sources. This allows for a conversion to be tracked even when a visitor manually visits your promoted page shortly after seeing the ad, without actually clicking on this advert directly.


# Tracking Manuals

This section provides a set of tracking manuals. Explore the manuals for detailed instructions on each tracking solution.


# How to track conversions with AdsBridge

*This guide is for AdsBridge only. If you want to know the generic steps for S2S tracking, please check the* [*Advertisers section*](/advertisers/conversion-tracking/conversion-tracking#using-conversion-tracking-api---s2s-recommended)*.*

ExoClick gives you access to global traffic sources, targeting features, big data and statistical analytical tools to filter results and optimise your campaigns. This manual explains how to track conversions on the ExoClick network when you are using tracking software AdsBridge. In order to track your offer, you need AdsBridge and ExoClick to speak to each other through their servers.

If you want to receive additional information, please check [Adsbridge's integration guide.](https://www.adsbridge.com/guide/create-traffic-source/)

{% stepper %}
{% step %}

## Create the Goal ID for the Postback URL

Log into your ExoClick Admin Panel and go to **Campaigns > Conversions tracking**. This allows you to create the conversions tracking code to be used in your **postback URL**:

<figure><img src="/files/0U4GJm0MmFVFCfXoF5Ba" alt=""><figcaption></figcaption></figure>

Click "New Conversion Goal". There are three fields you must complete: **Name**, **Conversion Value** and **Order**. In **Name**, simply add a name for the goal, for example: "Postback".

The available Conversion Values are:

* **No Value:** value is 0
* **Fixed:** you determine the payout of the conversion manually when setting up the Goal.
* **Dynamic:** the value of the payout will be passed through the Postback URL. Dynamic value passing will be explained in detail later during the guide.

**Order** is used to organize the different goals you have created in your account. If you have created multiple Conversion Goals, the Order will help you organize how these goals are displayed in your Statistics and in the Campaigns List.

Once you have added all these fields, click on the "Create" button. The Admin Panel will display the structure of the Postback URL as well as the **Goal ID** corresponding to the Goal you just created. It should look something similar to this:

```
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=
```

You can also check our [Conversions Tracking](/advertisers/conversion-tracking/conversion-tracking) page to find out more details about our Goal creation process.
{% endstep %}

{% step %}

## Add ExoClick as a traffic source in AdsBridge and configure the Postback

To track conversions on ExoClick you will need to add a dynamic tracker to your campaign URL **{conversions\_tracking}** which identifies each conversion uniquely. You must store this tracker on AdsBridge and get it to notify ExoClick’s API each time a user generates a conversion.

This is achieved in AdsBridge by configuring ExoClick as the traffic source, using the pre-defined template.

1. Log in to your AdsBridge account
2. Click the **“Traffic sources”** tab
3. Click on the **“Create traffic source”** button.
4. Click **“Choose from templates”** and select **"ExoClick"**.

<figure><img src="/files/tzjdzVdiZmGAavXdFlVV" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/8FupwxPuN7X0QsryLkts" alt=""><figcaption></figcaption></figure>

AdsBridge will pre-populate all the traffic source settings. The only change you need to make here is to update the "REPLACE" value with the Goal ID from the Goal you created in ExoClick:

<figure><img src="/files/Qi1pnYKb7aL06jvFRe3P" alt=""><figcaption></figcaption></figure>

The only mandatory parameter to track conversions is the **Tracking ID**; all others are optional. You can always find all the available tokens for Exoclick [here](/advertisers/campaigns/macros).

{% hint style="info" %}
**Note1**: Our token **{actual\_cost}** returns the actual bid paid per click or per impression each impression. When you set up your campaign in AdsBridge (explained later in the guide), we recommend that you choose "CPM", regardless of the price model in your ExoClick campaign, so as to use the default value from {actual\_cost}.
{% endhint %}

{% hint style="info" %}
**Note2**: If you selected **Dynamic** value when setting up your Goal in ExoClick, then you will also have to add **\&value=payout** at the end of the Postback URL so as to pass the value of the conversion. In this case, your postback URL will look like the following:
{% endhint %}
{% endstep %}

{% step %}

## Set up an Affiliate Network on AdsBridge

*If you are not using an Offer from an Affiliate platform, please Skip to Step 4*

Click the **"Affiliate Networks"** tab and then click on **"Create Affiliate Network"**:

<figure><img src="/files/H12qSjVU6YD5i3vKv2nU" alt=""><figcaption></figcaption></figure>

Click on **"Affiliate Networks Templates"** and select the network you are working with. Note that AdsBridge has some **"Integrated"** affiliates, which allows you to integrate your pass all your Offers from this Affiliate network into your AdsBridge account.

If your Affiliate network is not on the list, you can manually set up the Affiliate Postback URL. From this URL, the most important parameter for ExoClick is the **amt=REPLACE**

<figure><img src="/files/pkkAlyWHUQ5Ls7qzgiX6" alt=""><figcaption></figcaption></figure>

For the purpose of tracking your financial results, AdsBridge will use the dynamic value of payout from "amt=" in the tracking pixel located in the Offer URL. If the Offer URL does not contain the "amt=" parameter in the pixel, then **you will have to put the Payout value manually when you set up the Offer in AdsBridge**

Once you have created the Affiliate Network, copy this Postback URL and paste it in the corresponding field of your affiliate network.

<figure><img src="/files/ug2mSO1Ihfm3wAtiTlY3" alt=""><figcaption></figcaption></figure>

**Note**: This Postback URL is not the same as the one you created for ExoClick.
{% endstep %}

{% step %}

## Set up the Offer in AdsBridge

Click on Offers > Manage Offers, then click on Create Offer.

<figure><img src="/files/j8skaLZF95e4QytEDufz" alt=""><figcaption></figcaption></figure>

Select the type of product vertical, then add the URL of your offer.

Eg:

<figure><img src="/files/WryXTeHUlr5Z41tOKhdn" alt=""><figcaption></figcaption></figure>

If you have added an Affiliate network, then select it here. If you add an Affiliate Network, then the Tracking Token setting will be enabled automatically in order to send conversions from AdsBridge to your affiliate platform.

Lastly, if your Affiliate network does not have an **amt** parameter or does not pass payout information, then add the payout manually here:

<figure><img src="/files/dIBM0oaEnENCcLWbMbsR" alt=""><figcaption></figcaption></figure>

Hit Save to save your Offer.
{% endstep %}

{% step %}

## Create a campaign on AdsBridge

Click on the Campaigns tab and then click on Create Campaign.

<figure><img src="/files/0D9a5drxEdHdn2kj1qmr" alt=""><figcaption></figcaption></figure>

Add a name to the campaign, select the Domain from your tracking URL and select **ExoClick** as the Traffic Source.

Then, select **CPM** as the as the Cost Model, but leave the **Cost Value** empty.

<figure><img src="/files/CogNUoMgCJUxbAbrNlI7" alt=""><figcaption></figcaption></figure>

Click Next. Here you will select the landing page and the offer of the campaign. If you want to send the traffic directly to the offer, simply click on the **Direct Link** button and then select the Offer you created in the **Add Offer** menu:

<figure><img src="/files/L5lFtiYuM8FSlNUaczsF" alt=""><figcaption></figcaption></figure>

For a detailed guide on how to create campaigns in AdsBridge campaign, please consult their [Create a campaign](https://www.adsbridge.com/guide/create-campaign/) tutorial.

Once you have finished setting up your campaign, click on "Done". AdsBridge will give you the **campaign URL**, which you will use to set up ExoClick's campaign in the next step.

<figure><img src="/files/da0PAhrSQSjeVnusgEBo" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

## Set up the campaign on ExoClick

Paste the campaign URL created in the previous step as your "Variation" for your ExoClick campaign:

<figure><img src="/files/3YwnvxnyXMuNItgxiXJZ" alt=""><figcaption></figcaption></figure>

Make sure that the campaign URL contains the **{conversions\_tracking}** tag to pass the information from the conversion.

You can find a **detailed guide on how to create a campaign in ExoClick** [**here**](/advertisers/campaigns/creating-a-campaign/create-campaign-step1)

If the set up has been done correctly, you will start seeing conversions both in AdsBridge and ExoClick. Do not forget to enable the corresponding Goal column in your [Campaigns List](/advertisers/campaigns/campaigns-list) and your [Statistics](/advertisers/advertiser-statistics)

If you need further guidance on how to set up Conversion tracking in AdsBridge, don't hesitate to visit their [user guide](https://www.adsbridge.com/user-guide/) or their [FQA's page](https://support.adsbridge.com/en/). You can also contact [ExoClick's Customer Success](https://www.exoclick.com/contact/) to review these steps.
{% endstep %}
{% endstepper %}


# How to track conversions with Affise

*This guide is for Affise only. If you want to know the generic steps for S2S tracking, please check the* [*Advertisers section*](/advertisers/conversion-tracking/conversion-tracking#using-conversion-tracking-api---s2s-recommended)*.*

ExoClick gives you access to global traffic sources, targeting features, big data and statistical analytical tools to filter results and optimise your campaigns. This manual explains how to track conversions on the ExoClick network when you are using tracking software Affise. In order to track your offer, you need Affise and ExoClick to speak to each other through their servers.

If you want to receive additional information, please check [Affise's integration guide.](https://help-center.affise.com/en/articles/6485108-set-up-s2s-integration-with-affiliates)

{% stepper %}
{% step %}

## Create the Goal ID for the Postback URL

Log into your ExoClick Admin Panel and go to **Campaigns > Conversions tracking**. This allows you to create the conversions tracking code to be used in your **postback URL**:

<figure><img src="/files/0U4GJm0MmFVFCfXoF5Ba" alt=""><figcaption></figcaption></figure>

Click "New Conversion Goal". There are three fields you must complete: **Name**, **Conversion Value** and **Order**. In **Name**, simply add a name for the goal, for example: "Postback".

The available Conversion Values are:

* **No Value:** value is 0
* **Fixed:** you determine the payout of the conversion manually when setting up the Goal.
* **Dynamic:** the value of the payout will be passed through the Postback URL. Dynamic value passing will be explained in detail later during the guide.

**Order** is used to organize the different goals you have created in your account. If you have created multiple Conversion Goals, the Order will help you organize how these goals are displayed in your Statistics and in the Campaigns List.

Once you have added all these fields, click on the **"Create"** button. The Admin Panel will display the structure of the Postback URL as well as the **Goal ID** corresponding to the Goal you just created. It should look something similar to this:

```
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=
```

You can also check our [Conversions Tracking](/advertisers/conversion-tracking/conversion-tracking) page to find out more details about our Goal creation process.
{% endstep %}

{% step %}

## Create Exoclick as an Affiliate and set up the Postback URL

To track conversions on ExoClick you will need to add to your **campaign URL** a dynamic tracker called **{conversions\_tracking}**, which identifies each conversion uniquely.

You must store this tracker on Affise Pro and get it to notify ExoClick’s server each time a user generates a conversion. This is achieved through a **Postback URL**.

1. Go to "Affiliates" > "Affiliate Management", then click "Add"

<figure><img src="/files/jUaPjDJeKYqNrKoMtrXn" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/ovX3czXmItYSqmtoTmLI" alt=""><figcaption></figcaption></figure>

1. When setting up an Affiliate in Affise, there are three required fields in the form: **Email**, **Password** and **Country**. You can use the same details as your account in ExoClick. However, make sure that fields Email and Company Name differ from each other since it'll further affect tracking flow.
2. Scroll down the form until you reach **"Affiliate Postbacks"**, then click on the **+** button to add a Postback:

<figure><img src="/files/Ra725XvdVfE8P5kCrc9G" alt=""><figcaption></figcaption></figure>

When adding a Postback URL in Affise, you can choose whether to add a **Local Postback** or a **Global Postback**.

A local postback is applied to a specific campaign, whereas a global postback will be applied to all offers in which you use ExoClick as a traffic source. We recommend to use "Global Postback" for better ease of use, but you can set up a Local Postback later when setting up the offer.

4. Select **Default** as your Integration Method, then add the following **Postback URL**:

```
http://s.magsrv.com/tag.php?goal=REPLACE&tag={sub1}
```

If the Goal you created in Exoclick had **Dynamic** conversion value, then the Postback URL should be the following:

```
http://s.magsrv.com/tag.php?goal=REPLACE&tag={sub1}&value={sum}
```

5. Change the REPLACE value with the Goal ID you generated in the previous Section. **Note:** You need to add the Goal ID from ExoClick **inside the Postback URL**, not under the Goal column.
6. Click “Save” to finish the changes.
   {% endstep %}

{% step %}

## Create the "Offer Link" in Affise

In order to create the offer link, you need to go to "Offers" > "New offers"

<figure><img src="/files/trAzyphqH5R0njMQRWHI" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/mVKCRRDp3osPIbNxlnP4" alt=""><figcaption></figcaption></figure>

Complete the form with the corresponding values. Once all is set you just need to select ExoClick as the affiliate and copy the generated offer link you wish to track.

Under "Send the link to active affiliate", copy the link that will be generated here. You will use this link as your campaign URL in ExoClick. You will need to add a couple of parameters in order to make sure that you are able to get the **{conversions\_tracking}** string from the campaign URL.

<figure><img src="/files/AEe3gqPtvdaH2pJqNGqT" alt=""><figcaption></figcaption></figure>

Your tracking URL should look like the following:

```
http://demo.go2affise.com/click?pid=81&offer_id=46&s1={conversions_tracking}
```

**Note**: ExoClick’s {conversions\_tracking} generates a string of between 140 to 500 characters, so you have to make sure Affise is able to receive and return the complete string.
{% endstep %}

{% step %}

## Add the tracking URL as a Variation in your ExoClick campaign.

Paste the campaign URL created in the previous step as your "Variation" for your ExoClick campaign. Make sure it contains the **{conversions\_tracking}** tag to send the conversion details to Affise.

Finish the campaign set up. You can find a **detailed guide on how to create a campaign in Exoclick** [**here**](/advertisers/campaigns/creating-a-campaign/create-campaign-step1).

If the set up has been done correctly, you will start seeing conversions both in Affise and Exoclick. Do not forget to enable the corresponding Goal column in your [Campaigns List](/advertisers/campaigns/campaigns-list) and your [Statistics](/advertisers/advertiser-statistics)

If you need further guidance on how to set up Conversion tracking in Affise, don't hesitate to contact Affise support at [**support@affise.com**](mailto:support@affise.com) or by creating a ticket through your Affise platform. You can also contact [Exoclick's Customer Success](https://www.exoclick.com/contact/) to review these steps.
{% endstep %}
{% endstepper %}


# How to track conversions with Appsflyer

*This guide is for Appsflyer only. If you want to know the generic steps for S2S tracking, please check the* [*Advertisers section*](/advertisers/conversion-tracking/conversion-tracking#using-conversion-tracking-api---s2s-recommended)*.*

ExoClick gives you access to global traffic sources, targeting features, big data and statistical analytical tools to filter results and optimise your campaigns. This manual explains how to track conversions on the ExoClick network when you are using tracking software Appsflyer. In order to track your offer, you need Appsflyer and ExoClick to speak to each other through their servers.

If you want to receive additional information, please check [Appsflyer's integration guide.](https://support.appsflyer.com/hc/en-us/articles/14272573202833-Postback-troubleshooting-for-advertisers)

{% stepper %}
{% step %}

## Create the Goal ID for the Postback URL

Log into your ExoClick Admin Panel and go to **Campaigns > Conversions tracking**. This allows you to create the conversions tracking code to be used in your **postback URL**:

<figure><img src="/files/0U4GJm0MmFVFCfXoF5Ba" alt=""><figcaption></figcaption></figure>

Click "New Conversion Goal". There are three fields you must complete: **Name**, **Conversion Value** and **Order**. In **Name**, simply add a name for the goal, for example: "Postback".

The available Conversion Values are:

* **No Value:** value is 0
* **Fixed:** you determine the payout of the conversion manually when setting up the Goal.

**Note**: Currently it is not possible to pass **Dynamic Conversion Value** in Appsflyer.

**Order** is used to organize the different goals you have created in your account. If you have created multiple Conversion Goals, the Order will help you organize how these goals are displayed in your Statistics and in the Campaigns List.

Once you have added all these fields, click on the "Create" button. The Admin Panel will display the structure of the Postback URL as well as the **Goal ID** corresponding to the Goal you just created. It should look something similar to this:

```
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=
```

You can also check our [Conversions Tracking](/advertisers/conversion-tracking/conversion-tracking) page to find out more details about our Goal creation process.
{% endstep %}

{% step %}

## Add ExoClick as a traffic source in Appsflyer

To track conversions on ExoClick you will need to add to your **campaign URL** a dynamic tracker called **{conversions\_tracking}**, which identifies each conversion uniquely.

You must store this tracker on Appsflyer and get it to notify ExoClick’s server each time a user generates a conversion. This is done very simply by configuring ExoClick as the traffic source, using the pre-defined template. To do so:

1. Log in to your Appsflyer dashboard.
2. Click the **"Integrated Partners"** tab. Then, on the search bar, look for ExoClick.

<figure><img src="/files/RHAhUKEKlpV2UH7LbkNa" alt=""><figcaption></figcaption></figure>

3. Choose ExoClick from the list of templates and click on **"Activate Partner"**.
4. In the **"goalid"** box, add the **Goal ID** from the goal you generated earlier.

<figure><img src="/files/BTXT93Ysw8jCMWUAwPyx" alt=""><figcaption></figcaption></figure>

5. Click "Save Integration" to save these changes. If you want, you can also add a separate Goal ID for each **in-app action** happening in your app. For instance, if your app has an "In-App purchase" event, you can create a separate goal and add it in the "In-App event Postbacks" section.

<figure><img src="/files/lcet98mxBYPNg4fu5t3N" alt=""><figcaption></figcaption></figure>

Once the integration is complete, you will get an **"Attribution link"**, which will be used as your Campaign URL in ExoClick. It should look similar to this:

```
https://app.appsflyer.com/XXXXX?pid=exoclick_int&af_siteid={site_id}&af_cost_value={actual_cost}&af_ad_id={variation_id}&af_c_id={campaign_id}&af_ad_type={format}&af_channel={src_hostname}&af_click_lookback=7d&clickid={conversions_tracking}&zoneid={zone_id}&catid={category_id}&country={country}
```

{% endstep %}

{% step %}

## Set up the Campaign in ExoClick

Paste the campaign URL created in the previous step as your "Variation" for your ExoClick campaign. Make sure it contains the **{conversions\_tracking}** tag to send the conversion details to Appsflyer.

<figure><img src="/files/kjJURmwIxTf9ItnQX6Xv" alt=""><figcaption></figcaption></figure>

Finish the campaign set up. You can find a **detailed guide on how to create a campaign in Exoclick** [**here**](/advertisers/campaigns/creating-a-campaign/create-campaign-step1).
{% endstep %}

{% step %}

## Provide us your Agency name to activate your integration

As part of [Appsflyer's security changes](https://support.appsflyer.com/hc/en-us/articles/25774607860113-Set-up-your-list-of-authorized-agencies), advertisers need to be approved by the ad network in order to notify conversions. In order to complete your integration, please contact your Account Manager or [Exoclick's Customer Success](https://www.exoclick.com/contact/) and provide your Appsflyer's **Agency ID**, which is the value that comes after the `af_prt` parameter in your click attribution link.

<figure><img src="/files/sXu6NB55pC6vQtqCmv3o" alt=""><figcaption></figcaption></figure>

If the set up has been done correctly, you will start seeing conversions both in Appsflyer and Exoclick. Do not forget to enable the corresponding Goal column in your [Campaigns List](/advertisers/campaigns/campaigns-list) and your [Statistics](/advertisers/advertiser-statistics)
{% endstep %}
{% endstepper %}

## Additional comments when comparing Appsflyer with ExoClick

Leaving aside conversions tracking, there are a few settings in Appsflyer you should bear in mind to make sure you see the same results in both platforms:

* **TimeZone**: There is an option in Appsflyer to choose a time zone for reports.

We suggest you to use EST(United States - New York) time zone to match ExoClick’s server time zone

* **Currency**: Please select either USD or Euro so as to match the currency in your ExoClick account.

<figure><img src="/files/T3L6Q71YMLwt0w65Oerf" alt=""><figcaption></figcaption></figure>

If you need further guidance on how to set up Conversion tracking in Appsflyer, don't hesitate to contact Appsflyer support at [**support@appsflyer.io**](mailto:support@appsflyer.io). You can also contact [Exoclick's Customer Success](https://www.exoclick.com/contact/) to review these steps.


# How to track conversions with BeMob

*This guide is for Bemob only. If you want to know the generic steps for S2S tracking, please check the* [*Advertisers section*](/advertisers/conversion-tracking/conversion-tracking#using-conversion-tracking-api---s2s-recommended)*.*

This guide consists of two sections:

a) How to set up conversion tracking in Bemob. This section will focus on knowing how to set up the Postback URL in Bemob, how to notify conversions to Bemob and how to display these conversions in both Bemob and ExoClick.

b) How to integrate Exoclick in Bemob via API.

If you want to receive additional information, please check [Bemob's integration guide.](https://docs.bemob.com/en/add-traffic-source-from-templates)

## How to set up Conversions tracking in Bemob

ExoClick gives you access to global traffic sources, targeting features, big data and statistical analytical tools to filter results and optimise your campaigns. This manual explains how to track conversions on the ExoClick network when you are using tracking software BeMob. In order to track your offer, you need BeMob and ExoClick to speak to each other through their servers.

### Step 1: Create the Goal ID for the Postback URL

Log into your ExoClick Admin Panel and go to **Campaigns > Conversions tracking**. This allows you to create the conversions tracking code to be used in your **postback URL**:

<figure><img src="/files/0U4GJm0MmFVFCfXoF5Ba" alt=""><figcaption></figcaption></figure>

Click "New Conversion Goal". There are three fields you must complete: **Name**, **Conversion Value** and **Order**. In **Name**, simply add a name for the goal, for example: "Postback".

The available Conversion Values are:

* **No Value:** value is 0.
* **Fixed:** you determine the payout of the conversion manually when setting up the Goal.
* **Dynamic:** the value of the payout will be passed through the Postback URL. Dynamic value passing will be explained in detail later during the guide.

**Order** is used to organize the different goals you have created in your account. If you have created multiple Conversion Goals, the Order will help you organize how these goals are displayed in your Statistics and in the Campaigns List.

Once you have added all these fields, click on the "Create" button. The Admin Panel will display the structure of the Postback URL as well as the **Goal ID** corresponding to the Goal you just created. It should look something similar to this:

```
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=
```

You can also check our [Conversions Tracking](/advertisers/conversion-tracking/conversion-tracking) page to find out more details about our Goal creation process.

### Step 2: Add ExoClick as a traffic source in BeMob and configure the Postback

To track conversions on ExoClick you will need to add to your **campaign URL** a dynamic tracker called **{conversions\_tracking}**, which identifies each conversion uniquely.

You must store this tracker on BeMob and get it to notify ExoClick’s API each time a user generates a conversion. This is done very simply by configuring ExoClick as the traffic source, using the pre-defined template. To do so:

1. Log in to your BeMob account
2. Click the “Traffic sources” tab
3. Press the “New from template” button
4. Select ExoClick from traffic source templates and press the “Next” button.

<figure><img src="/files/oULeUOmiF3OTErTI4wa5" alt=""><figcaption></figcaption></figure>

BeMob will pre-populate all the traffic source settings. The **{externalId}** parameter will be added automatically to the postback URL in order to pass the information from the **{conversions\_tracking}** tag of your campaign URL. The only change you need to make is to update the **REPLACE** value with the **goal ID** we generated in STEP 1.

<figure><img src="/files/wiBN553JjVNXWtucMQxS" alt=""><figcaption></figcaption></figure>

**Note**: If you have selected “Dynamic” value when creating your Conversion goal, then you must add **value={payout}** at the end of the Postback URL. In this case, your postback URL will look like the following:

```
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag={externalId}&value={payout}
```

In the **Parameters** section from Bemob, the only mandatory parameter needed to track conversions is the External ID, all others are optional. You can always find all the available tokens [in our Advertisers section](/advertisers/campaigns/macros)

<figure><img src="/files/iQWqVNsS90BWSAJ3mlBF" alt=""><figcaption></figcaption></figure>

Cost parameter **{actual\_cost}** is defined as the cost for the actual CPM/CPC paid for each impression/click. Therefore, this parameter should be used for **Banners CPC** and **Popunders CPM/Smart CPM**.

If you want to track conversions for Banner CPM campaigns or any other format in CPM, please consider using [API tracking from Bemob](#exoclick-api-bemob-integration).

If you don’t want to add any more parameters click “Save”. You can make any changes at any given moment by selecting your traffic source from the list.

### Step 3: Create a campaign with ExoClick as a traffic source in BeMob

Before you follow these steps, make sure that **your offer and affiliate network settings** (if required) **are set correctly**.

Once you confirm that the product/offer details are correct, then:

1. Click the **“Campaigns”** tab
2. Press **“New”** to open the new campaign configuration menu
3. Select **“ExoClick”** as the traffic source for this campaign and complete any other obligatory fields. If the “Auto” option is selected, the cost of a click will be taken from the **“{actual\_cost}”** parameter which is defined in Step 2 of this guide. Otherwise, if your traffic provider doesn’t pass the parameter click cost, you will have to set the costs manually

<figure><img src="/files/M6MPlCPqhCqYF7PUTlGS" alt=""><figcaption></figcaption></figure>

Once you have finished setting up your campaign’s destination paths click on “Save”. The **campaign URL** will appear after going to “Actions” → “Campaign links”

<figure><img src="/files/8viMjOrGtpL0KyQJi1dM" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/S839XMc09ngK94GUl8RM" alt=""><figcaption></figcaption></figure>

The link from **campaign URL** is what you will use in your ExoClick's campaign setting up your campaign in Exoclick. Here is an example:

Example URL:

```
http://2p6gu.bemobtrk.com/go/992266f6-ed46-48ba-aaeb-03e1e7d9b8b5?cost={actual_cost}&tag={conversions_tracking}&campid={campaign_id}&varid={variation_id}&source={src_hostname}&siteid={site_id}&zoneid={zone_id}&catid={category_id}&country={country}&format={format}&keyword={tags}&payout={conversion_value}
```

Note that, depending your campaign settings in Bemob, your tracking domain might be different. Nonetheless, the **campaign URL** should look similar to the above.

With this information, you should be ready to set up your campaign in ExoClick. However, there are a few extra settings you can choose to customise your reports in Bemob:

* **TimeZone**: There is an option in BeMob to choose a time zone for reports. It is suggested to use the **United States - New York** time zone to match ExoClick’s server’s time zone.
* **Currency**: BeMob currently supports multiple currencies and asks you to select one when the account is set. ExoClick supports **USD** and **EUR**

<figure><img src="/files/IaA78e3po2N63jPyQctM" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/gIzXhf1iwNQEPFokfeaJ" alt=""><figcaption></figcaption></figure>

### Step 4: Set up the campaign in Exoclick

Paste the campaign URL created in the previous step as your "Variation" for your ExoClick campaign

<figure><img src="/files/p7QcLnnKfAVlNMZwIkQM" alt=""><figcaption></figcaption></figure>

You can find a **detailed guide on how to create a campaign in ExoClick** [**here**](/advertisers/campaigns/creating-a-campaign/create-campaign-step1)

If the set up has been done correctly, you will start seeing conversions both in Bemob and Exoclick. Do not forget to enable the corresponding Goal column in your [Campaigns List](/advertisers/campaigns/campaigns-list) and your [Statistics](/advertisers/advertiser-statistics)

If you need further guidance on how to set up Conversion tracking in Bemob, don't hesitate to contact [Bemob support](https://help.bemob.com/). You can also contact [Exoclick's Customer Success](https://www.exoclick.com/contact/) to review these steps.

## ExoClick API Bemob integration

By integrating Bemob with ExoClick through the API, you can automate the cost collection process for ExoClick.

### Requirements

Before you can integrate with Bemob, you need to generate an **API Token** in ExoClick.

To get ExoСlick API Token:

1. Access **Profile** settings.
2. Go to **API Tokens** section.
3. Press **New API Token** button.

<figure><img src="/files/ktEUSXaqKuUE9qzloEq7" alt=""><figcaption></figcaption></figure>

1. Specify **Token Name** in the corresponding field.
2. **Enable** Token status.
3. Press **Save** to store the settings.

<figure><img src="/files/WQuPjjCY87WWsnLZ1Oe3" alt=""><figcaption></figcaption></figure>

1. Copy the generated API token.

<figure><img src="/files/xhwWg4vK6GodqDRclOJf" alt=""><figcaption></figcaption></figure>

### Instructions

Once you've successfully copied the ExoClick API token from the ExoClick platform, you'll need to proceed with integrating it into your BeMob account.

To initiate the integration, follow these steps:

* Go to **Settings** of your BeMob account.
* Access **Integrations** section.

<figure><img src="/files/TPlyGUBc7A058DMr61I2" alt=""><figcaption></figcaption></figure>

* Press **Add Integration** button.

<figure><img src="/files/jv2x1jFDH2Gs5Q478Hkn" alt=""><figcaption></figcaption></figure>

* Select **ExoСlick** from the list and press **Next** button.

<figure><img src="/files/4MBqsf1bEyID26F9hxnH" alt=""><figcaption></figcaption></figure>

* Enter a custom **Integration Name**, ensuring it does not exceed 250 alphanumeric characters.
* Provide the **API Token** from your ExoСlick account.
* Press **Create Integration** button.

<figure><img src="/files/RhTaHe79kwkgKT4ovlWi" alt=""><figcaption></figcaption></figure>

**Note**: If you are using an invalid API token, the integration will not be created.

<figure><img src="/files/MB1SJDbu9I7eVvJ9Em5A" alt=""><figcaption></figcaption></figure>

If the key is valid and accepted by BeMob, a record will appear in the Integration section, and the **integration** will show as **active**.

<figure><img src="/files/K3lNddNTecW8lAkGZFPv" alt=""><figcaption></figcaption></figure>

The integration can be **edited** or **deleted** if it is required.

**Note**: If you delete the integrated traffic source the cost passing via API for all the associated campaigns will be stopped. However the previously received data will be kept.

After you successfully created the integration with ExoСlick in **Settings**, it is required to select this integration on the level of ExoСlick traffic source template.

If you have already set up ExoСlick for your campaigns and wish to configure the auto-cost collection for them, it is required to follow these steps:

* Go to **Traffic Sources** tab;
* Select ExoСlick → **Edit**;
* Choose the corresponding integartion;
* Save the settings.

**Note**: You have to stick to the formula: **1 BeMob campaign = 1 ExoСlick campaign**. If you use the same BeMob Campaign URL in several ExoСlick campaigns, the integration will work for 1 campaign only.

Data of automatically passed cost will be available in **Cost** column.

<figure><img src="/files/8jjtEFRF70MkcagmCIj1" alt=""><figcaption></figcaption></figure>

If you need further guidance or need help with the settings, contact [BeMob](https://bemob.com/en/) support team. You can also contact [ExoClick's Customer Success](https://www.exoclick.com/contact/) to review these steps.


# How to track conversions with Binom

*This guide is for Binom only. If you want to know the generic steps for S2S tracking, please check the* [*Advertisers section*](/advertisers/conversion-tracking/conversion-tracking#using-conversion-tracking-api---s2s-recommended)*.*

This guide consists of two sections:

a) How to set up conversion tracking in Binom. This section will focus on knowing how to set up the Postback URL in Binom, how to notify conversions to Binom and how to display these conversions in both Binom and ExoClick.

b) How to integrate Exoclick in Binom via API. This section will show how to start or stop ExoClick's campaigns from Binom.

If you want to receive additional information, please check [Binom's integration guide.](https://docs.binom.org/conv-to-source.php)

## How to set up Conversions tracking in Binom

ExoClick gives you access to global traffic sources, targeting features, big data and statistical analytical tools to filter results and optimise your campaigns. This manual explains how to track conversions on the ExoClick network when you are using tracking software Binom. In order to track your offer, you need Binom and ExoClick to ‘speak’ to each other, they do this through their APIs.

This manual shows you how to set up server-to-server conversion tracking with Binom's platform.

{% stepper %}
{% step %}

### Create the Goal ID for your Postback URL

Log into your ExoClick Admin Panel and go to **Campaigns > Conversions tracking**. This allows you to create the **Goal ID** and get the structure to be used in your **postback URL**:

<figure><img src="/files/0U4GJm0MmFVFCfXoF5Ba" alt=""><figcaption></figcaption></figure>

Click "New Conversion Goal". There are three fields you must complete: **Name**, **Conversion Value** and **Order**. In **Name**, simply add a name for the goal, for example: "Postback".

The available Conversion Values are:

* **No Value:** value is 0
* **Fixed:** you determine the payout of the conversion manually when setting up the Goal.
* **Dynamic:** the value of the payout will be passed through the Postback URL. Dynamic value passing will be explained in detail later during the guide.

**Order** is used to organize the different goals you have created in your account. If you have created multiple Conversion Goals, the Order will help you organize how these goals are displayed in your Statistics and in the Campaigns List.

Once you have added all these fields, click on the "Create" button. The Admin Panel will display the structure of the Postback URL as well as the **Goal ID** corresponding to the Goal you just created. It should look something similar to this:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=
```

You can also check our [Conversions Tracking](/advertisers/conversion-tracking/conversion-tracking) page to find out more details about our Goal creation process.
{% endstep %}

{% step %}

### Add ExoClick as a traffic source in Binom and configure the Postback

To track conversions on ExoClick you will need to add a dynamic tracker to your campaign URL **{conversions\_tracking}** which identifies each click uniquely.

You must store this tracker on Binom and get it to notify ExoClick’s API each time a user generates a conversion. This is achieved in Binom by configuring ExoClick as the traffic source, using the pre-defined template.

Login to Binom, click "Traffic Sources", then click "Create":

<figure><img src="/files/cyRVYXZICHzw8Sx3OdsV" alt=""><figcaption></figcaption></figure>

Click "Load from template", then pick "Exoclick" from the available Templates. Binom will pre-populate the traffic source settings from the template.

In the Postback URL field replace the word “REPLACE”, with the **goal ID** value you generated in STEP 1.

<figure><img src="/files/a9U8I634OEQqCdYQPo2W" alt=""><figcaption></figcaption></figure>

Your postback URL should now look like the following:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag={externalid}
```

**Note**: If you selected **Dynamic** value when setting up your Goal in ExoClick, then you will also have to add **\&value={payout}** at the end of the Postback URL so as to pass the value of the conversion. In this case, your postback URL will look like the following:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag={externalid}&value={payout}
```

Click "Save" to save the traffic source.
{% endstep %}

{% step %}

### Set up an Affiliate Network on Binom

*If you are not using an Offer from an Affiliate platform, please Skip to Step 4*

Click the "Affiliate Networks" tab, then click "Create":

<figure><img src="/files/oYEHmUxxnIN9lx7FMumn" alt=""><figcaption></figcaption></figure>

Click on "Load from catalog" to get a list of Affiliate networks you can itnegrate. If your Affiliate network is not on the list, you can manually define the parameters used by the affiliate platform of your choice.

The Postback URL shown here is what you will have to add in your Affiliate Platform in order to notify them the conversions. **Important**: do not confuse this Postback URL with the one you created in the Traffic Source settings!

<figure><img src="/files/ETGgpqsS6AUGMLLuSOfS" alt=""><figcaption></figcaption></figure>

If you want to use Dynamic conversion value from your goals, you need to make sure that the **payout** token from the affiliate platform **reaches the postback URL from ExoClick**.

For more information on how to set up the Affiliate network in Binom, please check their [manual](https://docs.binom.org/affiliate-networks.php).

Once you have completed setting up your Affiliate Network, click "Save".
{% endstep %}

{% step %}

### Create an Offer in Binom

Click "Offers", then click "Create":

<figure><img src="/files/dnAGaJvBnW1HnxYUiDFL" alt=""><figcaption></figcaption></figure>

Add the URL of your Offer. Eg:

http:

Make sure to add {clickid} to pass conversions to your Affiliate network. If you added an Affiliate network in the previous step, add it here.

If you defined the **payout** of the offer through the Postback URL from the Affiliate network, then select **"Auto"** as "Payout". Otherwise, add the payout from the offer.

<figure><img src="/files/NcVfhSI7GQyGu0W6eHGs" alt=""><figcaption></figcaption></figure>

Hit "Save" to save the changes.
{% endstep %}

{% step %}

### Create a Campaign in Binom

Click the “Campaigns” tab, then click "Create"

<figure><img src="/files/WDUOFgoweBhivxgNqXzE" alt=""><figcaption></figcaption></figure>

Select ExoClick as the traffic source and enable "Auto" as your campaign costs.

<figure><img src="/files/MkUwYDU0zEYkc3aA9Qlv" alt=""><figcaption></figcaption></figure>

Then, the Offer you created. You can send the traffic directly to this Offer URL or you can create a "Lander" for the Offer. If you want to go for the first option, then click on the "Direct" button under "Landing Pages":

<figure><img src="/files/5MJ3Nv1goxufcBpxr5ZV" alt=""><figcaption></figcaption></figure>

Save the campaign. The **Campaign URL** will be generated:

<figure><img src="/files/naTp87h5Auhryw0AhemX" alt=""><figcaption></figcaption></figure>

You can also get the Campaign URL by pressing the "Info" button in your Campaign tab in Binom:

<figure><img src="/files/simzGiyq5cuDJbbYS9KR" alt=""><figcaption></figcaption></figure>

You will use this Campaign URL to set up the campaign in ExoClick.
{% endstep %}

{% step %}

### Create a Campaign in ExoClick

Paste the campaign URL created in the previous step as your "Variation" for your ExoClick campaign. Make sure it contains the **{conversions\_tracking}** tag to send the conversion details to Binom.

<figure><img src="/files/5DadX4ARpviy1y8q61uh" alt=""><figcaption></figcaption></figure>

Finish the campaign set up. You can find a **detailed guide on how to create a campaign in Exoclick** [**here**](/advertisers/campaigns/creating-a-campaign/create-campaign-step1).

If the set up has been done correctly, you will start seeing conversions both in Binom and ExoClick. Do not forget to enable the corresponding Goal column in your [Campaigns List](/advertisers/campaigns/campaigns-list) and your statistics.
{% endstep %}
{% endstepper %}

## ExoClick API Binom integration

By integrating Binom with ExoClick via API, you will be able to pause and resume your ExoClick campaigns while at the same time make use of Binom's reporting tools.

Each action you make in Binom will have an instantaneous effect in ExoClick. Here are some of the actions you can make through API Binom integration

* **Check the status of integrated campaigns**: You can observe the status of your integrated campaign through campaign settings.
* **Pause or resume an integrated campaign**: You can pause or restore an entire integrated campaign in the Campaigns view, in the Actions column.

**Note:** API integration is only available for Binom v1.

### Requirements

Before you can integrate with Binom, you need to generate an **API Token** in ExoClick.

Login to your Exoclick account, then click on your username to access your Profile. Click on New API Token, give a name to that token, then hit Save. You will see the API token under the "Token" column:

<figure><img src="/files/tPcs4SdKTmObniZZcGJU" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/jCgn8gpUqTmgu1yVO13X" alt=""><figcaption></figcaption></figure>

In addition, you need to have **campaigns already created in Binom** in order to match them via API. In the next section we will explain this in detail.

### Instructions

To initiate the integration, follow these steps steps:

{% stepper %}
{% step %}

#### Add the API token in Binom

While you are setting up ExoClick as a Traffic Source in Binom, click on the Integrate button. This will prompt you to add the API token from Exoclick.

<figure><img src="/files/VjaQN4DBxioYC7riDuNB" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Match your campaigns

If the API token is valid, you will be able then to click on "Campaigns" and begin matching your campaigns in ExoClick with your campaigns in Binom.

<figure><img src="/files/p1GBxmFa4toHb1qit3SA" alt=""><figcaption></figcaption></figure>

Click on the "Link Campaign" button next to the campaign name, then select the campaign in Binom that matches it.

<figure><img src="/files/tdKeM3CmCUGiZ8CeCAei" alt=""><figcaption></figcaption></figure>

Once the campaign is matched, you will be able to Pause or Resume the ExoClick campaign from Binom:

<figure><img src="/files/qevxA59mtjQW1kyTNCCh" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/Q0HMw1YbjrQtCQEKv5Rs" alt=""><figcaption></figcaption></figure>

Remember that every time you create a campaign in ExoClick, **you will have to repeat these steps in order to match it with your Binom campaign**.
{% endstep %}

{% step %}

#### Unlink a campaign

If you want to unlink the campaign, click on the Unlink button in Binom's campaign settings:

<figure><img src="/files/xlxdNnUTQZcYuXWHoGUF" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

If you need further guidance on how to set up Conversion tracking or API Integration in Binom, don't hesitate to contact [Binom support](https://binom.org/). You can also contact [ExoClick's Customer Success](https://www.exoclick.com/contact/) to review these steps.


# How to track conversions with Cake

*This guide is for Cake only. If you want to know the generic steps for S2S tracking, please check the* [*Advertisers section*](/advertisers/conversion-tracking/conversion-tracking#using-conversion-tracking-api---s2s-recommended)*.*

ExoClick gives you access to global traffic sources, targeting features, big data and statistical analytical tools to filter results and optimise your campaigns. This manual explains how to track conversions on the ExoClick network when you are using tracking software Cake. In order to track your offer, you need Cake and ExoClick to speak to each other through their servers.

If you want to receive additional information, please check [Cake's integration guide.](https://support.getcake.com/support/solutions/articles/5000546121-a-guide-to-event-tracking)

## Step 1: Create the Goal ID for the Postback URL

Log into your ExoClick Admin Panel and go to **Campaigns > Conversions tracking**. This allows you to create the conversions tracking code to be used in your **postback URL**:

<figure><img src="/files/0U4GJm0MmFVFCfXoF5Ba" alt=""><figcaption></figcaption></figure>

Click "New Conversion Goal". There are three fields you must complete: **Name**, **Conversion Value** and **Order**. In **Name**, simply add a name for the goal, for example: "Postback".

The available Conversion Values are:

* **No Value:** value is 0
* **Fixed:** you determine the payout of the conversion manually when setting up the Goal.
* **Dynamic:** the value of the payout will be passed through the Postback URL. Dynamic value passing will be explained in detail later during the guide.

**Order** is used to organize the different goals you have created in your account. If you have created multiple Conversion Goals, the Order will help you organize how these goals are displayed in your Statistics and in the Campaigns List.

Once you have added all these fields, click on the "Create" button. The Admin Panel will display the structure of the Postback URL as well as the **Goal ID** corresponding to the Goal you just created. It should look something similar to this:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=
```

You can also check our [Conversions Tracking](/advertisers/conversion-tracking/conversion-tracking) page to find out more details about our Goal creation process.

## Step 2: Add the postback URL to your Cake dashboard

A **Postback URL** is a URL that notifies our server when a conversion has been made in your campaigns. You must store this URL in Cake and get it to notify ExoClick’s server each time a user generates a conversion.

There are two ways to add a Postback URL in Cake: through the **Offer settings** or as a **Global Postback** in your account.

A Postback URL in the offer settings will be applied exclusively to that offer, whereas a Global Postback will be applied to all your offers.

### Specific Offer Postback URL

In order to add ExoClick's Postback URL in a specific offer, follow these steps:

{% stepper %}
{% step %}
Login to your Cake dashboard
{% endstep %}

{% step %}
Click on **"Offers"**, then select the Offer where you want to add the Postback.
{% endstep %}

{% step %}
Click on **"Test\&Tracking"**, then add the **Postback URL** you created in ExoClick.
{% endstep %}

{% step %}
At the end of the Postback URL, add **#s2##s3##s4##s5#**. Your Postback URL should now look like the following:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=#s2##s3##s4##s5#
```

**Note**: If you selected **Dynamic** value when setting up your Goal in ExoClick, then you will also have to add **\&value=#price#** at the end of the Postback URL so as to pass the value of the conversion. In this case, your postback URL will look like the following:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=#s2##s3##s4##s5#&value=#price#
```

<figure><img src="/files/vDAye3QBvGVDGW995KB4" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Click "Save" to save the changes.
{% endstep %}
{% endstepper %}

### Global Postback URL

**Note:** Global Postbacks might not be available for your account. Please check with your Cake Account Manager to confirm this.

In order to add ExoClick's Postback URL as a Global Postback, follow these steps:

{% stepper %}
{% step %}
Click the **"Set Up"** tab > **"Settings"** > **"Tracking Settings"**

<figure><img src="/files/QabCMOB6CozlsLUmLfmS" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Scroll down to "Global Pixels & Postbacks", then add the Postback URL you created in ExoClick
{% endstep %}

{% step %}
At the end of the Postback URL, **add #s2##s3##s4##s5#**. Your Global Postback should now look like the following:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=#s2##s3##s4##s5#
```

**Note:** If you selected **Dynamic** value when setting up your Goal in ExoClick, then you will also have to add **\&value=#price#** at the end of the Postback URL so as to pass the value of the conversion. In this case, your postback URL will look like the following:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=#s2##s3##s4##s5#&value=#price#
```

<figure><img src="/files/mi8lJhwjNl3WzEe7gLZw" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Save the changes.
{% endstep %}
{% endstepper %}

**Note:** CAKE’s platform offers 4 sub Ids (s2, s3, s4 and s5) to store different tracking values, but each sub id has a limit of **100 characters**. ExoClick’s conversion tracking string contains between **140 to 500 characters**, therefore Cake cascades the characters from ExoClick’s tracking string within CAKE’s sub ids automatically.

## Step 3: Add the conversion tracking macro to your Offer Link

Go to **"Offers"**, click on the **Offer ID** you want to promote, then click on **"Get Link"** to get the **Offer link**

E.g:

```json
http://mypage.com/?a=14030&c=64375&=s1
```

<figure><img src="/files/1xuMcDrp21Rl2LBLiTqS" alt=""><figcaption></figcaption></figure>

In order to track conversions, you will have to change the **s1** parameter to **s2** and add **"={conversions\_tracking}"** at the end of the Offer link. It will look like this:

```json
http://mypage.com/?a=14030&c=64375&s2={conversions_tracking}
```

You will use this URL as your **variation** in ExoClick. Make sure **not to add additional parameters** as they might break the conversions tracking string from the postback URL.

Note that only **{conversions\_tracking}** is required to track conversions.

## Step 4: Set up your Campaign in ExoClick

Paste the **Offer Link** created in the previous step as your **"Variation"** for your ExoClick campaign:

<figure><img src="/files/pHAmKeBu4FCSuTUeQg2l" alt=""><figcaption></figcaption></figure>

Finish the campaign set up. You can find a **detailed guide on how to create a campaign in Exoclick** [**here**](/advertisers/campaigns/creating-a-campaign/create-campaign-step1).

If the set up has been done correctly, you will start seeing conversions both in Cake and Exoclick. Do not forget to enable the corresponding Goal column in your [Campaigns List](/advertisers/campaigns/campaigns-list) and your [Statistics](/advertisers/advertiser-statistics)

If you need further guidance on how to set up Conversion tracking in Cake, don't hesitate to contact [Cake support](https://support.getcake.com/support/tickets/new). You can also contact [Exoclick's Customer Success](https://www.exoclick.com/contact/) to review these steps.


# How to track conversions with CPVLab Pro

*This guide is for CPVLab Pro only. If you want to know the generic steps for S2S tracking, please check the* [*Advertisers section*](/advertisers/conversion-tracking/conversion-tracking#using-conversion-tracking-api---s2s-recommended)*.*

ExoClick gives you access to global traffic sources, targeting features, big data and statistical analytical tools to filter results and optimise your campaigns. This manual explains how to track conversions on the ExoClick network when you are using tracking software CPVLab Pro. In order to track your offer, you need CPVLab Pro and ExoClick to speak to each other through their servers.

If you want to receive additional information, please check [CPVLab's integration guide.](https://doc.cpvlab.pro/integrations/exoclick-integration.html#who-is-exoclick)

## Step 1: Create the Goal ID for the Postback URL

Log into your ExoClick Admin Panel and go to **Campaigns > Conversions tracking**. This allows you to create the conversions tracking code to be used in your **postback URL**:

<figure><img src="/files/0U4GJm0MmFVFCfXoF5Ba" alt=""><figcaption></figcaption></figure>

Click "New Conversion Goal". There are three fields you must complete: **Name**, **Conversion Value** and **Order**. In **Name**, simply add a name for the goal, for example: "Postback".

The available Conversion Values are:

* **No Value:** value is 0
* **Fixed:** you determine the payout of the conversion manually when setting up the Goal.
* **Dynamic:** the value of the payout will be passed through the Postback URL. Dynamic value passing will be explained in detail later during the guide.

**Order** is used to organize the different goals you have created in your account. If you have created multiple Conversion Goals, the Order will help you organize how these goals are displayed in your Statistics and in the Campaigns List.

Once you have added all these fields, click on the "Create" button. The Admin Panel will display the structure of the Postback URL as well as the **Goal ID** corresponding to the Goal you just created. It should look something similar to this:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=
```

You can also check our [Conversions Tracking](/advertisers/conversion-tracking/conversion-tracking) page to find out more details about our Goal creation process.

## Step 2: Add ExoClick as a traffic source in CPVLab Pro and configure the Postback

To track conversions on ExoClick you will need to add to your **campaign URL** a dynamic tracker called **{conversions\_tracking}**, which identifies each conversion uniquely.

You must store this tracker on CPVLab Pro and get it to notify ExoClick’s server each time a user generates a conversion. This is done very simply by configuring ExoClick as the traffic source, using the pre-defined template. To do so:

{% stepper %}
{% step %}
Log in to your **CPVLab Pro** account.
{% endstep %}

{% step %}
Click the **“Sources"** tab, then click **"Traffic Sources"**
{% endstep %}

{% step %}
Press the **“Import from Catalog”** button

<figure><img src="/files/TmWnwOrE3dS4Zt6exNru" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Select **ExoClick**.
{% endstep %}

{% step %}
CPVLab Pro will pre-populate all the traffic source settings. The first change you need to make is to replace the **UNIQUEGOALID** value with the **goal ID** we generated in Step 1 from this guide.

<figure><img src="/files/Aga7QxMXWpfDKetunlJR" alt=""><figcaption></figcaption></figure>

**Note**: If you have selected “Dynamic” value when creating your Conversion goal STEP 1, then you must add **value={!revenue!}** at the end of the Postback URL. In this case, your postback URL will look like the following:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag={!tscode!}&value={!revenue!}
```

{% endstep %}

{% step %}
Change the **TimeZone** to GMT-04:00 America/New\_York in order to match ExoClick's time zone.
{% endstep %}

{% step %}
Lastly, select your preferred price model under **"Bidding"**. Note that you will be able to change the Bidding again in your campaign settings.

Your Traffic Source settings should now look like the following:

<figure><img src="/files/6jQSbXa8sDArUv6t6Fjf" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

## Step 3: Add an Offer Source to CPVLab Pro(optional)

*If you are not using an Offer from an Affiliate platform, please Skip to Step 4*

Click "Sources" > "Offer Sources". In "Import from catalog", you will find a list of **Affiliate networks** you can integrate. If your Affiliate network is not on the list, you can manually define the parameters used by the affiliate platform of your choice.

<figure><img src="/files/phqeZHg3UALM3NpWGZWn" alt=""><figcaption></figcaption></figure>

From this page, what really matters to ExoClick is the **Revenue Placeholder**. If you want to use Dynamic conversion value from your goals, you need to make sure that the **payout** token from the affiliate platform **reaches the postback URL from ExoClick**.

<figure><img src="/files/zVO1neLlA3CrjMMtZNYU" alt=""><figcaption></figcaption></figure>

The Postback URL shown here is what you will have to add in your Affiliate Platform in order to notify them the conversions. **Important**: do not confuse this Postback URL with the one you created in the Traffic Source settings!

For more information on how to set up the Affiliate network in CPVLab Pro, please check their [manual](https://doc.cpvlab.pro/offer-sources-page.html).

## Step 4: Add an Offer to CPVLab Pro

Click the "LPs & Offers" tab, then click on "Offer Management".

<figure><img src="/files/dJV6g5JyfzTtfkBQ4nfL" alt=""><figcaption></figcaption></figure>

Add an "Offer Name" and select the "Offer Source" (if you have any). Then, add the URL of the offer.

E.g:

```json
http://mypage.com/?a=14030&c=64375&s1=
```

If your offer is not able to pass payouts dynamically through the Postback URL, then **you will have to specify the Payout here**:

<figure><img src="/files/U6qNQI95Xa01EHa8xlfn" alt=""><figcaption></figcaption></figure>

Once the Offer is Saved, you will be able to use it in your campaigns in CPVLab.

## Step 5: Set up your campaign in CPVLab Pro.

When you click the "Campaigns" tab in CPVLab Pro, you will see a menu that allows you to create a campaign of your choice. Alternatively, you can click on Campaigns List and choose your campaign there:

<figure><img src="/files/h0GVU8ikouHmvNENqBwM" alt=""><figcaption></figcaption></figure>

For this tutorial, we will be using a "Direct Link & Landing Page" set up. Add a "Name" to the campaign, then scroll down to **"Macros & Tokens"**.

<figure><img src="/files/5WC2V9qWWavWMmzrgJWu" alt=""><figcaption></figcaption></figure>

Select **ExoClick as the Traffic Source**. You can change the price model for this specific campaign if you wish (but **don't add a Cost** as this value will be passed through the {actual\_cost} token)

<figure><img src="/files/LTlOmmApZCR7zcBJJTV3" alt=""><figcaption></figcaption></figure>

Continue scrolling down. If you have created a Landing Page, you can add it here.

In "Offers", click on **"Select Predefined Offer"**, then select the Offer you created in the previous section. The rest of the parameters will be filled by the Offer's settings:

<figure><img src="/files/6Kvuev2T0FRRGTOhz37R" alt=""><figcaption></figcaption></figure>

Lastly, under the "Tracking Pixel: Add Pixel to Offer Source" section, **tick the "Use Traffic Source Postback URL to mark conversions at your Traffic Source"** option. Make sure that the Postback URL shown here matches the one you created in Section 2 of this guide.

<figure><img src="/files/oR38pzi5N01KIR4ccX4e" alt=""><figcaption></figcaption></figure>

Save the Campaign. You should now get a Campaign URL similar to the following:

```json
https://demo.cpvlab.pro/base.php?c=3615&key=84050c38daaaee73e4e537d74f43cdef&sdom={src_hostname}&cost={actual_cost}&clkid={conversions_tracking}&varid={variation_id}
```

Note that, depending your campaign settings in CPVLab Pro, your tracking domain might be different. Nonetheless, the **campaign URL** should look similar to the above.

You will use this URL when setting up your campaign in ExoClick

## Step 6: Set up the campaign in ExoClick

Paste the campaign URL created in the previous step as your "Variation" for your ExoClick campaign. Make sure it contains the **{conversions\_tracking}** tag to send the conversion details to CPVLab Pro.

<figure><img src="/files/phO6iIZt0agiTlM1WF7V" alt=""><figcaption></figcaption></figure>

Finish the campaign set up. You can find a **detailed guide on how to create a campaign in Exoclick** [**here**](/advertisers/campaigns/creating-a-campaign/create-campaign-step1).

If the set up has been done correctly, you will start seeing conversions both in CPVLab Pro and Exoclick. Do not forget to enable the corresponding Goal column in your [Campaigns List](/advertisers/campaigns/campaigns-list) and your [Statistics](/advertisers/advertiser-statistics)

If you need further guidance on how to set up Conversion tracking in CPVLab Pro, don't hesitate to contact CPVLab Pro support at [**support@cpvlab.pro**](mailto:support@cpvlab.pro). You can also contact [Exoclick's Customer Success](https://www.exoclick.com/contact/) to review these steps.


# How to track conversions with Keitaro

*This guide is for Keitaro only. If you want to know the generic steps for S2S tracking, please check the* [*Advertisers section*](/advertisers/conversion-tracking/conversion-tracking#using-conversion-tracking-api---s2s-recommended)*.*

ExoClick gives you access to global traffic sources, targeting features, big data and statistical analytical tools to filter results and optimise your campaigns. This manual explains how to track conversions on the ExoClick network when you are using tracking software Keitaro. In order to track your offer, you need Keitaro and ExoClick to speak to each other through their servers.

If you want to receive additional information, please check [Keitaro's integration guide.](https://docs.keitaro.io/en/traffic-sources/adding-traffic-source.html)

{% stepper %}
{% step %}

## Create the Goal ID for the Postback URL

Log into your ExoClick Admin Panel and go to **Campaigns > Conversions tracking**. This allows you to create the conversions tracking code to be used in your **postback URL**:

<figure><img src="/files/0U4GJm0MmFVFCfXoF5Ba" alt=""><figcaption></figcaption></figure>

Click "New Conversion Goal". There are three fields you must complete: **Name**, **Conversion Value** and **Order**. In **Name**, simply add a name for the goal, for example: "Postback".

The available Conversion Values are:

* **No Value:** value is 0
* **Fixed:** you determine the payout of the conversion manually when setting up the Goal.
* **Dynamic:** the value of the payout will be passed through the Postback URL. Dynamic value passing will be explained in detail later during the guide.

**Order** is used to organize the different goals you have created in your account. If you have created multiple Conversion Goals, the Order will help you organize how these goals are displayed in your Statistics and in the Campaigns List.

Once you have added all these fields, click on the "Create" button. The Admin Panel will display the structure of the Postback URL as well as the **Goal ID** corresponding to the Goal you just created. It should look something similar to this:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=
```

You can also check our [Conversions Tracking](/advertisers/conversion-tracking/conversion-tracking) page to find out more details about our Goal creation process.
{% endstep %}

{% step %}

## Add ExoClick as a traffic source in Keitaro and configure the Postback

To track conversions on ExoClick you will need to add to your **campaign URL** a dynamic tracker called **{conversions\_tracking}**, which identifies each conversion uniquely.

You must store this tracker on Keitaro and get it to notify ExoClick’s server each time a user generates a conversion. This is done very simply by configuring ExoClick as the traffic source, using the pre-defined template. To do so:

1. Log in to your Keitaro dashboard.
2. Click the “Sources" tab, then click "Create"

<figure><img src="/files/e0LFqUIdjbhsTqohUPWY" alt=""><figcaption></figcaption></figure>

1. Choose ExoClick from the list of templates. Keitaro will pre-populate all the traffic source settings.

<figure><img src="/files/pUj2AvhV860O3Y45lH29" alt=""><figcaption></figcaption></figure>

1. Replace the **YOUR\_ID** value with the **goal ID** you generated in STEP 1.

**NOTE**: If you have selected “Dynamic” value when creating your Conversion goal STEP 1, then you must add **value={revenue}** at the end of the Postback URL. In this case, your postback URL will look like the following:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag={external_id}&value={revenue}
```

5. Click "Create" to save the postback. Note that you will be able to review the Postback again later, when you set up the campaign.
   {% endstep %}

{% step %}

## Add an Affiliate Network Source to Keitaro (optional)

*If you are not using an Offer from an Affiliate platform, please skip to Step 4*

Click "Affiliate Networks", then click "Create":

<figure><img src="/files/tITkIkZDBepVKMRTEULE" alt=""><figcaption></figcaption></figure>

Select an Affiliate network from the list. The **"Offer Parameters"** will be populated with the tokens associated with that network. These parameters will be later added to all offers associated with this affiliate network.

If your Affiliate network is not on the list, you can manually define the parameters used by the affiliate platform of your choice.

Then, copy the Postback URL and place it in your affiliate network.

<figure><img src="/files/3Aa8eYTzjGI7rnkYiHUW" alt=""><figcaption></figcaption></figure>

**Note:** Remember that the Postback URL you see here corresponds to the Affiliate Platform. This is not the same postback URL as the one you used in Traffic Source settings.
{% endstep %}

{% step %}

## Add an Offer to Keitaro

Click the "Offers" tab, then click on "Create".

<figure><img src="/files/T8D2ARbmld9ZUhIQ9itc" alt=""><figcaption></figcaption></figure>

Add an "Offer Name" and select the "Affiliate Network", if you have any. Then, add the **URL of the offer**.

E.g:

```json
http://mypage.com/?a=14030&c=64375&s1=
```

<figure><img src="/files/j8e67geb0qhe8PSmEVWH" alt=""><figcaption></figcaption></figure>

Click on "Additional" to set the **Payout** from the offer. If your affiliate platform is able to send payout information through the postback, then leave the "Auto" option enabled. Otherwise, disable it and set up the payout amount and currency.

<figure><img src="/files/lEbWL5amErdPHA7lLEIH" alt=""><figcaption></figcaption></figure>

Regardless of the payout option selected, make sure to have **CPA** as the "Payout Type".

Click "Create" to finish the process.
{% endstep %}

{% step %}

## Create a Stream in Keitaro

Before you can set up a campaign in Keitaro, you need to create a **Stream**, which will determine how the traffic from the campaign is distributed across your offers and landing pages.

In order to create a Stream, go to "Campaigns", click "Create", then click on "Create Stream"

<figure><img src="/files/Ol8z7jXZQIGvLnXIVcyQ" alt=""><figcaption></figcaption></figure>

Click on "Schema", then click on "Add Offers" and select the Offer you created earlier.

<figure><img src="/files/r7mV9GHuLdsGJXcFaDKp" alt=""><figcaption></figcaption></figure>

You can also add a Landing Page, if you have any, and include "Filters" and "Monitors" to manage your traffic distribution.

Once you have made all the changes, save the Stream.
{% endstep %}

{% step %}

## Create a Campaign in Keitaro

Once the Stream has been created, the Create Campaign button will become available for you:

<figure><img src="/files/ULhEcEt9W5TV7zcNAXq3" alt=""><figcaption></figcaption></figure>

In order to create the campaign, follow these steps:

1. Add a name to your new campaign, then click Create.
2. Go to Settings and choose "ExoClick" as the Source. Leave the "Cost model" and "Costs Value" settings as they are.

<figure><img src="/files/p0ftmzefZYFE8a6e1CZn" alt=""><figcaption></figcaption></figure>

1. Click on "Parameters" and check that all the dynamic tokens are correct.
2. Click on "S2S Postbacks" and confirm that **ExoClick's Postback is correct**. You can also add additional Postbacks of your choice.

<figure><img src="/files/txVAw8hQbOhcBdG2IH2A" alt=""><figcaption></figcaption></figure>

1. Lastly, select the stream you created earlier and click Save to create the campaign.

You can now get the **Campaign URL** from this campaign:

<figure><img src="/files/ygKWKKbMooR1bi0eW8q0" alt=""><figcaption></figcaption></figure>

Your Campaign URL should be similar to the following:

```json
https://demo-en.keitaro.io/mpLFd5?keyword={tags}&cost={actual_cost}&currency={currency}&external_id={conversions_tracking}&creative_id={variation_id}&ad_campaign_id={campaign_id}&source={src_hostname}&siteid={site_id}&zoneid={zone_id}&catid={category_id}&country={country}&format={format}
```

Note that, depending your campaign settings in Keitaro, your **tracking domain** might be different. Nonetheless, the campaign URL should look similar to the above.

You will use this URL when setting up your campaign in ExoClick
{% endstep %}

{% step %}

## Set up the Campaign in ExoClick

Paste the campaign URL created in the previous step as your "Variation" for your ExoClick campaign. Make sure it contains the **{conversions\_tracking}** tag to send the conversion details to Keitaro.

<figure><img src="/files/Otc2mYr24EF9hPRqLVJa" alt=""><figcaption></figcaption></figure>

Finish the campaign set up. You can find a **detailed guide on how to create a campaign in Exoclick** [**here**](/advertisers/campaigns/creating-a-campaign/create-campaign-step1).

If the set up has been done correctly, you will start seeing conversions both in Keitaro and Exoclick. Do not forget to enable the corresponding Goal column in your [Campaigns List](/advertisers/campaigns/campaigns-list) and your [Statistics](/advertisers/advertiser-statistics)

If you need further guidance on how to set up Conversion tracking in Keitaro, don't hesitate to contact Keitaro support at [**support@keitaro.io**](mailto:support@keitaro.io). You can also contact [Exoclick's Customer Success](https://www.exoclick.com/contact/) to review these steps.
{% endstep %}
{% endstepper %}


# How to track conversions with Kochava

*This guide is for Kochava only. If you want to know the generic steps for S2S tracking, please check the* [*Advertisers section*](/advertisers/conversion-tracking/conversion-tracking#using-conversion-tracking-api---s2s-recommended)*.*

ExoClick gives you access to global traffic sources, targeting features, big data and statistical analytical tools to filter results and optimise your campaigns. This manual explains how to track conversions on the ExoClick network when you are using tracking software Kochava. In order to track your offer, you need Kochava and ExoClick to speak to each other through their servers.

If you want to receive additional information, please check [Kochava's integration guide.](https://support.kochava.com/campaign-management/10-minute-guide-to-your-1st-campaign/)

## Step 1: Create the Goal ID for the Postback URL

Log into your ExoClick Admin Panel and go to **Campaigns > Conversions tracking**. This allows you to create the conversions tracking code to be used in your **postback URL**:

<figure><img src="/files/0U4GJm0MmFVFCfXoF5Ba" alt=""><figcaption></figcaption></figure>

Click "New Conversion Goal". There are three fields you must complete: **Name**, **Conversion Value** and **Order**. In **Name**, simply add a name for the goal, for example: "Postback".

The available Conversion Values are:

* **No Value:** value is 0
* **Fixed:** you determine the payout of the conversion manually when setting up the Goal.
* **Dynamic:** the value of the payout will be passed through the Postback URL. Dynamic value passing will be explained in detail later during the guide.

**IMPORTANT NOTE**: Currently it is not possible to pass **Dynamic Conversion Value** in Kochava.

**Order** is used to organize the different goals you have created in your account. If you have created multiple Conversion Goals, the Order will help you organize how these goals are displayed in your Statistics and in the Campaigns List.

Once you have added all these fields, click on the "Create" button. The Admin Panel will display the structure of the Postback URL as well as the **Goal ID** corresponding to the Goal you just created. It should look something similar to this:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=
```

You can also check our [Conversions Tracking](/advertisers/conversion-tracking/conversion-tracking) page to find out more details about our Goal creation process.

## Step 2: Create a campaign in Kochava and add ExoClick as a Media Partner

Before you can start tracking in Kochava, make sure to add in Kochava the **App** you are going to promote. You can find the instructions for that [here](https://support.kochava.com/create-manage-apps/create-edit-apps/).

Now, in order to create your campaign in Kochava pointing at ExoClick, follow these steps:

1. Log in to your Kochava dashboard.
2. Select the **App** you are going to promote, then click on **"Links"** > **"Campaign Manager"** > **"Add a Tracker"**

<figure><img src="/files/GqOkr2yGkCwRMktLkd0G" alt=""><figcaption></figcaption></figure>

1. Under **"Campaign/Segment"**, click on the link to create a new Campaign and a new Segment:

<figure><img src="/files/3mZ5xa96vDbQrJWntkje" alt=""><figcaption></figcaption></figure>

1. Add a name to your Campaign, your Segment and your Tracker. Then, under **"Media Partner"**, select **ExoClick**. The name of the partner changes depending on whether your app is for iOS or Android.

<figure><img src="/files/e7JehfYqcnESfrVM7IyK" alt=""><figcaption></figcaption></figure>

1. Under **"Destination URL"**, select **"Custom"** and add your Offer URL to **"Install URL"**.

<figure><img src="/files/BfH0y7ULPrqYDC0oNZj5" alt=""><figcaption></figcaption></figure>

**Note:** If you are promoting an Android app, Kochava will give you **"Google Referrer"** as default option, as it offers additional tracking settings. However, we recommend using "Custom" to ensure proper conversion tracking.

1. Click **"Save & Create Postback"**. We will cover the Postback set up process in the next section.

<figure><img src="/files/PBSJTAGwXzJ9LdiELpyw" alt=""><figcaption></figcaption></figure>

## Step 3: Set up the Postback in Kochava

After clicking on "Save and Create Postback", you will be directed to **"Partner Configuration"** > **"New Configuration"**:

<figure><img src="/files/T1pobvRryG7Ox5lnvEno" alt=""><figcaption></figcaption></figure>

Select **ExoClick** as **"Media Partner"** and hit "Save". Then, on the next page, click on the **three dots** next to "Install" and select "Edit":

<figure><img src="/files/lEpVpNMtaR0pukuEl7vz" alt=""><figcaption></figcaption></figure>

Add the **Goal ID** you created in the first section of this guide, then hit "Save".

<figure><img src="/files/jQYtYo4VJWxTyMrI4239" alt=""><figcaption></figcaption></figure>

You should now be able to see the Goal ID when clicking on the Postback in Kochava:

<figure><img src="/files/Fvsc9zNOEmlzmpjg1ePs" alt=""><figcaption></figcaption></figure>

## Step 4: Copy the Click URL from Kochava and add it to your campaign in ExoClick

In Kochava, go to **"Links"** > **"Campaign Manager"**, then click on the campaign you created.

Click on the **Tracker** you created earlier, then copy the "Click URL":

<figure><img src="/files/lOJBL4BLekDCsn27Uh7U" alt=""><figcaption></figcaption></figure>

Add this Click URL as a **Variation** in your campaign in ExoClick. Make sure it contains the **{conversions\_tracking}** tag to send the conversion details to Kochava:

<figure><img src="/files/CtvarXV6o6IVGXTH5oxO" alt=""><figcaption></figcaption></figure>

Finish the campaign set up. You can find a **detailed guide on how to create a campaign in Exoclick** [**here**](/advertisers/campaigns/creating-a-campaign/create-campaign-step1).

If the set up has been done correctly, you will start seeing conversions both in Kochava and Exoclick. Do not forget to enable the corresponding Goal column in your [Campaigns List](/advertisers/campaigns/campaigns-list) and your [Statistics](/advertisers/advertiser-statistics)

If you need further guidance on how to set up Conversion tracking in Kochava, don't hesitate to contact Kochava support at [**support@kochava.com**](mailto:support@kochava.com). You can also contact [Exoclick's Customer Success](https://www.exoclick.com/contact/) to review these steps.


# How to track conversions with Peerclick

*This guide is for Peerclick only. If you want to know the generic steps for S2S tracking, please check the* [*Advertisers section*](/advertisers/conversion-tracking/conversion-tracking#using-conversion-tracking-api---s2s-recommended)*.*

ExoClick gives you access to global traffic sources, targeting features, big data and statistical analytical tools to filter results and optimise your campaigns. This manual explains how to track conversions on the ExoClick network when you are using tracking software Peerclick. In order to track your offer, you need Peerclick and ExoClick to speak to each other through their servers.

If you want to receive additional information, please check [Peerclick's integration guide.](https://help-center.peerclick.com/en/articles/4241463-predefined-traffic-source-settings)

{% stepper %}
{% step %}

## Create the Goal ID for the Postback URL

Log into your ExoClick Admin Panel and go to **Campaigns > Conversions tracking**. This allows you to create the conversions tracking code to be used in your **postback URL**:

<figure><img src="/files/0U4GJm0MmFVFCfXoF5Ba" alt=""><figcaption></figcaption></figure>

Click "New Conversion Goal". There are three fields you must complete: **Name**, **Conversion Value** and **Order**. In **Name**, simply add a name for the goal, for example: "Postback".

The available Conversion Values are:

* **No Value:** value is 0
* **Fixed:** you determine the payout of the conversion manually when setting up the Goal.
* **Dynamic:** the value of the payout will be passed through the Postback URL. Dynamic value passing will be explained in detail later during the guide.

**Order** is used to organize the different goals you have created in your account. If you have created multiple Conversion Goals, the Order will help you organize how these goals are displayed in your Statistics and in the Campaigns List.

Once you have added all these fields, click on the "Create" button. The Admin Panel will display the structure of the Postback URL as well as the **Goal ID** corresponding to the Goal you just created. It should look something similar to this:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=
```

You can also check our [Conversions Tracking](/advertisers/conversion-tracking/conversion-tracking) page to find out more details about our Goal creation process.
{% endstep %}

{% step %}

## Add ExoClick as a traffic source in Peerclick and configure the Postback

To track conversions on ExoClick you will need to add to your **campaign URL** a dynamic tracker called **{conversions\_tracking}**, which identifies each conversion uniquely.

You must store this tracker on Peerclick and get it to notify ExoClick’s server each time a user generates a conversion. This is done very simply by configuring ExoClick as the traffic source, using the pre-defined template. To do so:

1. Log in to your Peerclick dashboard.
2. Click the **“Sources"** tab, then click **"+New"**.

<figure><img src="/files/FPRaBZIVOzhOO2WEZJcM" alt=""><figcaption></figcaption></figure>

3. Choose ExoClick from the list of templates. Peerclick will pre-populate all the traffic source settings.
4. Click on "Traffic Source postback URL". Replace the **REPLACE** value with the **goal ID** you generated in STEP 1.

<figure><img src="/files/tVniKIwviWThI3LN3RoV" alt=""><figcaption></figcaption></figure>

**Note**: If you have selected “Dynamic” value when creating your Conversion goal STEP 1, then you must add **value={payout}** at the end of the Postback URL. In this case, your postback URL will look like the following:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag={external_id}&value={revenue}
```

5. Click "Create" to save the postback.
   {% endstep %}

{% step %}

## Add an Affiliate Network Source to Peerclick (optional)

*If you are not using an Offer from an Affiliate platform, please skip to Step 4*

Click the "Affiliate Networks" tab, then click "+New":

<figure><img src="/files/4IzG7VxKPx8bG2iiWpf3" alt=""><figcaption></figcaption></figure>

Select an **Affiliate network** from the list. If your Affiliate network is not on the list, you can manually set up your affiliate platform settings by clicking **"Create custom template"**.

<figure><img src="/files/dKdt05FPRLCdySO3CqLe" alt=""><figcaption></figcaption></figure>

The **"Offer url template"** will be populated with the tokens associated with that network. These parameters will be later added to all offers associated with this affiliate network.

Then, copy the Postback URL and place it in your affiliate network.

<figure><img src="/files/TGtqYcG5zpvZI2aXDa1g" alt=""><figcaption></figcaption></figure>

**Note:** Remember that the Postback URL you see here corresponds to the Affiliate Platform. This is not the same postback URL as the one you used in Traffic Source settings.

Click on **"Create affiliate network"** to finish the process.
{% endstep %}

{% step %}

## Add an Offer to Peerclick

Click the "Offers" tab, then click "+New".

<figure><img src="/files/Ao9wex1jbl4N0bnjpIv1" alt=""><figcaption></figcaption></figure>

Add an "Offer Name" and the **URL of the offer**.

E.g:

```json
http://mypage.com/?a=14030&c=64375&s1=
```

<figure><img src="/files/kWfAZt3txhGTC8l1hBdA" alt=""><figcaption></figcaption></figure>

If you have added an **Affiliate network**, then select it here. The parameters from the Affiliate network will be inserted in the offer URL

Lastly, in the **"Payout"** section, keep the "Auto" option if your Affiliate platform is able to receive payouts dynamically through the postback. If not, then click "Manual" and add the value of the Payout.

<figure><img src="/files/8uFYa1qdMt7pUQH94cZi" alt=""><figcaption></figcaption></figure>

Once you are done with the Offer settings, click **"Create offer"**.
{% endstep %}

{% step %}

## Create a Campaign in Peerclick

Before you create a campaign, Peerclick recommends creating a **custom Domain** to be used as your Campaign URL, especially if you are going to create a **"Redirect"** campaign. The full instructions on how to create a tracking domain for your campaign are listed [here](http://help-center.peerclick.com/en/articles/4167835-additional-tracking-domains).

When you are ready to create a campaign, click the "Campaigns" tab, then click "+New".

<figure><img src="/files/SCZhUV3Azhs3I12MAYqy" alt=""><figcaption></figcaption></figure>

In order to create the campaign, follow these steps:

1. Add a **name** to your new campaign. Then, in **"Traffic source"**, select ExoClick
2. In "Cost type", select **"Auto"**.
3. In **"Default Paths"**, select the **Offer** you created in the previous section.

<figure><img src="/files/85UaHJ8Bi364dMeyTFp6" alt=""><figcaption></figcaption></figure>

1. Click **"Create"**. The "Tracking" settings will become unlocked and you will be able to get the **Campaign URL**. It should look similar to the following:

```json
http://3715196523.gopeerclick.com/15GFcZ?variation_id={variation_id}&campid={campaign_id}&source={src_hostname}&siteid={site_id}&zoneid={zone_id}&catid={category_id}&country={country}&format={format}&cost={actual_cost}&external_id={conversions_tracking}
```

<figure><img src="/files/j1oOXnXUDQD4HD2pd0Zr" alt=""><figcaption></figcaption></figure>

If you created a **custom Domain**, you can change it here. Make sure to **Save** the changes afterwards.
{% endstep %}

{% step %}

## Set up the Campaign in ExoClick

Paste the campaign URL created in the previous step as your "Variation" for your ExoClick campaign. Make sure it contains the **{conversions\_tracking}** tag to send the conversion details to Peerclick.

<figure><img src="/files/HRCjyuemCHnETiJMTJhL" alt=""><figcaption></figcaption></figure>

Finish the campaign set up. You can find a **detailed guide on how to create a campaign in Exoclick** [**here**](/advertisers/campaigns/creating-a-campaign/create-campaign-step1).

If the set up has been done correctly, you will start seeing conversions both in Peerclick and Exoclick. Do not forget to enable the corresponding Goal column in your [Campaigns List](/advertisers/campaigns/campaigns-list) and your [Statistics](/advertisers/advertiser-statistics)

If you need further guidance on how to set up Conversion tracking in Peerclick, don't hesitate to contact Peerclick support using the **Chat** button in Peerclick's dashboard. You can also contact [Exoclick's Customer Success](https://www.exoclick.com/contact/) to review these steps.
{% endstep %}
{% endstepper %}


# How to track conversions with RedTrack

*This guide is for Redtrack only. If you want to know the generic steps for S2S tracking, please check the* [*Advertisers section*](/advertisers/conversion-tracking/conversion-tracking#using-conversion-tracking-api---s2s-recommended)*.*

This guide consists of two sections:

a) How to set up conversion tracking in Redtrack. This section will focus on knowing how to set up the Postback URL in Redtrack, how to notify conversions to Redtrack and how to display these conversions in both Redtrack and ExoClick.

b) How to integrate Exoclick in Redtrack via API. This section will show how to edit ExoClick's campaigns from Redtrack and how to match your campaign costs in both platforms.

If you want to receive additional information, please check [RedTrack's integration guide](https://help.redtrack.io/knowledgebase/kb/partner-templates-channels/integrations-traffic-channels-9777/exoclick/).

## How to set up conversion tracking in Redtrack.

ExoClick gives you access to global traffic sources, targeting features, big data and statistical analytical tools to filter results and optimise your campaigns. This manual explains how to track conversions on the ExoClick network when you are using tracking software Redtrack.

{% stepper %}
{% step %}

### Create the Goal ID for your Postback URL.

Log into your ExoClick Admin Panel and go to **Campaigns > Conversions tracking**. This allows you to create the **Goal ID** and get the structure to be used in your **postback URL**:

<figure><img src="/files/0U4GJm0MmFVFCfXoF5Ba" alt=""><figcaption></figcaption></figure>

Click "New Conversion Goal". There are three fields you must complete: **Name**, **Conversion Value** and **Order**. In **Name**, simply add a name for the goal, for example: "Postback".

The available Conversion Values are:

* **No Value:** value is 0
* **Fixed:** you determine the payout of the conversion manually when setting up the Goal.
* **Dynamic:** the value of the payout will be passed through the Postback URL. Dynamic value passing will be explained in detail later during the guide.

**Order** is used to organize the different goals you have created in your account. If you have created multiple Conversion Goals, the Order will help you organize how these goals are displayed in your Statistics and in the Campaigns List.

Once you have added all these fields, click on the "Create" button. The Admin Panel will display the structure of the Postback URL as well as the **Goal ID** corresponding to the Goal you just created. It should look something similar to this:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=
```

You can also check our [Conversions Tracking](/advertisers/conversion-tracking/conversion-tracking) page to find out more details about our Goal creation process.
{% endstep %}

{% step %}

### Add ExoClick as traffic source in Redtrack and configure the Postback

To track conversions on ExoClick you will need to add a dynamic tracker to your campaign URL **{conversions\_tracking}** which identifies each click uniquely.

You must store this tracker on Redtrack and get it to notify ExoClick’s API each time a user generates a conversion. This is achieved in Redtrack by configuring ExoClick as the traffic source, using the pre-defined template.

Click the “Traffic sources” tab, then click "New From Template":

<figure><img src="/files/3HFDGQIfjLzk6iCDTrfz" alt=""><figcaption></figcaption></figure>

Select "ExoClick". Redtrack will pre-populate the traffic source settings from the template.

Select the same **currency** as your ExoClick account. Then, in the Postback URL field replace the word “REPLACE”, with the **goal ID** value you generated in Step 1.

<figure><img src="/files/jd59G6gzaubREuwLgrzl" alt=""><figcaption></figcaption></figure>

Your postback URL should now look like the following:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag={ref_id}
```

**Note**: If you selected **Dynamic** value when setting up your Goal in ExoClick, then you will also have to add **\&value={offer\_payout}** at the end of the Postback URL so as to pass the value of the conversion. In this case, your postback URL will look like the following:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag={ref_id}&value={offer_payout}
```

Once you have made these edits, you can go ahead and save the Postback.
{% endstep %}

{% step %}

### Set up an Affiliate Network on redtrack

Click the "Offer sources", then click on "New from template". If you can't find your affiliate platform or if you are running a custom offer, click on "New from scratch":

<figure><img src="/files/3XbqpzfEmYUAPB2JTztw" alt=""><figcaption></figcaption></figure>

When setting up the Offer source, the only compulsory parameter is the "Name". However, if you want to send conversions to the affiliate platform and track the payout of each conversion, then you will have to add all the "Postback parameters" from this page:

<figure><img src="/files/idtM7L9WG4yvMrCvs5s9" alt=""><figcaption></figcaption></figure>

Copy the Postback URL from this page and add it to the corresponding section from the affiliate platform.

**Note:** Remember that the Posbtack URL you see here corresponds to the Affiliate Platform. This is not the same postback URL as the one you used in Traffic Source settings.

For ExoClick, the most important parameter in this page is the **Sum**. Make sure that you are using the right token from your affiliate platform in order to track the payout from the associated offers. You need to make sure that the value from this token **reaches the postback URL from Exoclick**.

If your Affiliate platform cannot pass payout information through tokens, then you can specify the payout in the **Offer** settings. We will cover this in the next section.

For more information on how to set up the Affiliate network in Redtrack, please check their [manual](https://docs.redtrack.io/knowledgebase/adding-offer-source/).
{% endstep %}

{% step %}

### Create an Offer in Redtrack.

Click the ”Offers” tab, then click "New" .

<figure><img src="/files/Csb7jk7M0OTsF1ARG0aV" alt=""><figcaption></figcaption></figure>

Select the **Offer source** and put a "Name" to the Offer. If you did not add a parameter for **Sum** in the "Offer Source" settings, then you need to add a **"Payout"** to the Offer.

Then, add the URL of your product to the Offer URL. For instance:

```json
http://mypage.com/?a=14030&c=64375&s1
```

<figure><img src="/files/rIhalDOYN6f11rZyFr39" alt=""><figcaption></figcaption></figure>

"Save Changes" to finish setting up the Offer.
{% endstep %}

{% step %}

### Create a campaign in Redtrack.

Click the "Campaigns" tab, then click "New"

<figure><img src="/files/n8jlvXiJ5hpRwfFEI3wu" alt=""><figcaption></figcaption></figure>

Here is the process you must follow in order to create a campaign in Redtrack with ExoClick as the source:

1. Add a Name to the campaign and select **ExoClick** as your Source.
2. In Campaign cost, select the same **Price model** as your ExoClick Campaign.
3. Scroll down to make sure ExoClick's **Postback URL** is correct.
4. In "Funnels", add your **Offer**. If you also created Landing Pages for this offer, select "Single Landing" or "MultiLanding". Otherwise, click "Only Offer"
5. If possible, enable **"auto update costs"** to fetch the data from your campaign via API. API integration is explained [in this section](#exoclick-api-redtrack-integration)
6. Save the campaign.

Your settings should look something similar to this:

<figure><img src="/files/kE5vfftcIN9EuAiSlMke" alt=""><figcaption></figcaption></figure>

Click "Save". Redtrack will provide you with your Campaign URL. You can find it next to your campaign in the Campaign list and in your Campaign settings:

Example campaign URL:

```json
https://nie9x.rdtk.io/62388a866807c500011af2ee?sub1={variation_id}&sub2={src_hostname}&sub3={category_id}&sub4={campaign_id}&sub5={country}&sub6={site_id}&sub7={zone_id}&sub8={format}&ref_id={conversions_tracking}&cost={actual_cost}
```

<figure><img src="/files/zq20rNfZXrlkZM6ntYAx" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Create the campaign in Exoclick

Copy the campaign URL created from the previous section and paste it as your "Variation" in your campaign in Exoclick. Make sure it contains the **{conversions\_tracking}** tag to send the conversion details to Redtrack.

<figure><img src="/files/pchlqjt5hQQ5KTXYHcsn" alt=""><figcaption></figcaption></figure>

Finish the campaign set up. You can find a **detailed guide on how to create a campaign in Exoclick** [**here**](/advertisers/campaigns/creating-a-campaign/create-campaign-step1).

If the set up has been done correctly, you will start seeing conversions both in Redtrack and ExoClick. Do not forget to enable the corresponding Goal column in your [Campaigns List](/advertisers/campaigns/campaigns-list) and your [Statistics](/advertisers/advertiser-statistics)
{% endstep %}
{% endstepper %}

## ExoClick API Redtrack integration

By integrating Redtrack with ExoClick via API, you will be able to manage certain aspects of your ExoClick campaigns while at the same time make use of Redtrack's reporting tools.

Each change you make in Redtrack will have an instantaneous effect in ExoClick. Here are some of the actions you can make through API Redtrack integration

* **Synchronize costs**: The "auto update cost" feature will allow you to fetch cost data from your ExoClick account.
* **Add automation rules** This allows you to pause campaigns, variations or zones automatically based on conditions from your choice.

### Requirements

Before you can integrate with Redtrack, you need to generate an **API Token** in ExoClick.

Login to your Exoclick account, then click on your username to access your Profile. Click on New API Token, give a name to that token, then hit Save. You will see the API token under the "Token" column:

<figure><img src="/files/tPcs4SdKTmObniZZcGJU" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/jCgn8gpUqTmgu1yVO13X" alt=""><figcaption></figcaption></figure>

### Instructions

In order to integrate ExoClick API, add your API token to the "API key" section from your Traffic Source settings:

If the API token is valid, then the "Active" label will appear next to the API key section.

Then, you can go to "Campaigns" in Redtrack, select the campagin where you want to enable the automized rules, then click on "Rules". An extensive description of how rules are set can be found [here](https://docs.redtrack.io/knowledgebase/auto-rules/)

If you need further guidance on how to set up Conversion tracking or API Integration in Redtrack, please don't hesitate to contact [Redtrack support](https://docs.redtrack.io/). You can also contact [ExoClick's Customer Success](https://www.exoclick.com/contact/) to review these steps.


# How to track conversions with Shopify

*This guide is for Shopify only. If you want to know the generic steps for conversion tracking, please check the* [*Advertisers section*](/advertisers/conversion-tracking/conversion-tracking)*.*

ExoClick gives you access to global traffic sources, targeting features, big data and statistical analytical tools to filter results and optimise your campaigns. This manual explains how to track conversions from your Shopify store on the ExoClick network.

In this documentation, we will provide two examples of event tracking:

* **checkout\_completed**
* **product\_added\_to\_cart**

Before we proceed with the examples, please make sure to have a [**conversion goal**](/advertisers/conversion-tracking/conversion-tracking#creating-a-conversion-goal) created in your account.

## Checkout Completed Event

If you want to track purchases on your Shopify store using ExoClick Pixel tracking, you can utilize events like `checkout_completed`. This event logs when a visitor completes a purchase and is triggered once for each checkout. It's important to note that in this example, the value of the conversion goal is dynamic.

To add the `checkout_completed` event to your Shopify store, follow these steps:

{% stepper %}
{% step %}
Go to **Settings** in your Shopify admin panel.
{% endstep %}

{% step %}
Select **Customer events**.
{% endstep %}

{% step %}
Click on **Add Custom Pixel**.

<figure><img src="/files/GbZ8MQoMQkv3IQGQENUZ" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Set **Permission to Marketing** required to comply with the Cookies Policy.

<figure><img src="/files/vogOytMirCZmcWeSp1Yy" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Add the following code:

```javascript
analytics.subscribe('checkout_completed', (event) => {
  const el = document.createElement('script');
  el.setAttribute('src', 'https://a.magsrv.com/tag_gen.js');
  el.setAttribute('data-goal', 'XXXXX');
  const cost = event.data.checkout.subtotalPrice?.amount || event.data.checkout.totalPrice?.amount;
  el.setAttribute('data-value', cost);

  document.body.appendChild(el);
});
```

{% endstep %}

{% step %}
Make sure to replace `'XXXXX'` with your own goal ID.
{% endstep %}

{% step %}
Finally, press the **Connect** button.

<figure><img src="/files/tlj7SoXfDKcZnGjk7Pd5" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

Once connected, make a test purchase using Shopify's test payment feature to confirm everything is set up correctly.

After a successful checkout, you should see conversions along with the dynamic value recorded in the revenue section of your ExoClick admin dashboard.

{% hint style="info" %}
**Note:** It may take a couple of minutes for the conversion to appear in your ExoClick admin panel.
{% endhint %}

<figure><img src="/files/VjuJl3oTAEyCNc6NX79y" alt=""><figcaption></figcaption></figure>

## Product Added to Cart Event

The `product_added_to_cart` event tracks when a customer adds an item to their shopping cart. It is important to note that, in this example, there is no assigned value for the conversion goal.

To set it up, follow the same steps as outlined previously for the `checkout_completed` event. However, please note that the code will differ this time.

* Add the following code:

```javascript
analytics.subscribe('product_added_to_cart', (event) => {
  const el = document.createElement('script');
  el.setAttribute('src', 'https://a.magsrv.com/tag_gen.js');
  el.setAttribute('data-goal', 'XXXXXX');

  document.body.appendChild(el);
});
```

* Make sure to replace `'XXXXX'` with your own goal ID.
* Finally, press the **Connect** button.

Once connected, test the setup by adding a product to the cart. If everything is configured correctly, you will see the conversion reflected in your ExoClick admin panel.

{% hint style="info" %}
**Note:** It may take a couple of minutes for the conversion to appear in your ExoClick admin panel.
{% endhint %}

<figure><img src="/files/xZkxsA0EB8NOg4OSvy11" alt=""><figcaption></figcaption></figure>

## Additional Event Setup

If you'd like to set up other types of events, please refer to the Shopify manual [Shopify Standard Events Documentation](https://shopify.dev/docs/api/web-pixels-api/standard-events).

{% hint style="warning" %}
**Note:** These events are custom-built. If you would like to add more events, kindly be aware that this will require your own development effort.
{% endhint %}

If you want to find additional information regarding Shopify pixels, please refer to this page: [Shopify Pixels Documentation](https://help.shopify.com/en/manual/promoting-marketing/pixels)


# How to track conversions with Skro

*This guide is for Skro only. If you want to know the generic steps for S2S tracking, please check the* [*Advertisers section*](/advertisers/conversion-tracking/conversion-tracking)*.*

This guide consists of two sections:

* a) How to set up conversion tracking in Skro. This section will focus on knowing how to set up the Postback URL in Skro, how to notify conversions to Skro and how to display these conversions in both Skro and ExoClick.
* b) How to integrate Exoclick in Skro via API. This section will show how to edit ExoClick's campaigns from Skro and how to match your campaign costs in both platforms.

If you want to receive additional information, please check [Skro's integration guide.](https://skro.eu/docs/integrations/exoclick-integration)

## How to set up conversion tracking in Skro

{% stepper %}
{% step %}

### Create the Goal ID for the Postback URL

Log into your ExoClick Admin Panel and go to **Campaigns > Conversions tracking**. This allows you to create the conversions tracking code to be used in your **postback URL**:

<figure><img src="/files/0U4GJm0MmFVFCfXoF5Ba" alt=""><figcaption></figcaption></figure>

Click "New Conversion Goal". There are several fields you must complete:

* **Name:** The name you want to give to your conversion.
* **Conversion Type:** The type of action being or offer being tracked through this conversion.
* **Conversion Value:** The method with which you will track the payout of your conversions. There are three options:
  * **No Value:** value is 0
  * **Fixed:** you determine the payout of the conversion manually when setting up the Goal.
  * **Dynamic:** the value of the payout will be passed through the Postback URL. Dynamic value passing will be explained in detail later during the guide.
* **Order:** used to organize the different goals you have created in your account. If you have created multiple Conversion Goals, the Order will help you organize how these goals are displayed in your Statistics and in the Campaigns List.

Once you have added all these fields, click on the "Create" button. The Admin Panel will display the structure of the Postback URL as well as the **Goal ID** corresponding to the Goal you just created. It should look something similar to this:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=
```

You can also check our [Conversions Tracking](/advertisers/conversion-tracking/conversion-tracking) page to find out more details about our Goal creation process.
{% endstep %}

{% step %}

### Add ExoClick as a traffic source in Skro and configure the Postback

To track conversions on ExoClick you will need to add to your **campaign URL** a dynamic tracker called **{conversions\_tracking}**, which identifies each conversion uniquely.

You must store this tracker on Skro and get it to notify ExoClick’s server each time a user generates a conversion. This is done very easily by configuring ExoClick as the traffic source, using the pre-defined template. To do so:

1. Log in to your Skro dashboard.
2. Click the **"Traffic Sources"** tab, then click **"+Create"**.

<figure><img src="/files/VQaJLBAWcg151iEOkFjO" alt=""><figcaption></figcaption></figure>

1. Choose ExoClick from the list of templates. Skro will pre-populate all the traffic source settings.
2. In the "Traffic Source postback URL" section, paste the structure of the postback URL you copied from the Admin Panel in ExoClick.
3. Replace **{conversions\_tracking}** with **{externalId}**. Your postback URL should now look like the following:

<figure><img src="/files/Dvn2ve5dJZrTpzaqCJ8U" alt=""><figcaption></figcaption></figure>

**Note**: If you have selected “Dynamic” value when creating your Conversion goal STEP 1, then you must add **value={payout}** at the end of the postback URL. In this case, your postback URL will look like the following:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag={externalId}&value={payout}
```

6. Click "Create" to save the postback.
   {% endstep %}

{% step %}

### Add an Affiliate Network Source to Skro (optional)

*If you are not using an Offer from an Affiliate platform, please skip to* [*Step 4*](broken://pages/1bd481cf4763835a2104ffa261a63ccbd3b4f72b#step-4-add-an-offer-to-skro)

1. Click the **"Affiliate Networks"** tab, then click "+Create":

<figure><img src="/files/YtOn6akgJOKHLp1TX4hO" alt=""><figcaption></figcaption></figure>

1. Select an **Affiliate network** from the list. If your Affiliate network is not on the list, you can manually set up your affiliate platform settings by clicking **"Create Custom"**.
2. Copy the postback URL provided by Skro and paste it in the settings from the Affiliate network you are using. The postback URL will have the tokens needed by your affiliate platform.

<figure><img src="/files/MuZqGuwQcmMd9oKMo91G" alt=""><figcaption></figcaption></figure>

**Note:** Remember that the Postback URL you see here corresponds to the Affiliate Platform. This is not the same postback URL as the one you used in Traffic Source settings.

Click on **"Save & Close"** to finish the process.
{% endstep %}

{% step %}

### Add an Offer to Skro

1. Click the **"Offers"** tab, then click "+Create".

<figure><img src="/files/KLnCDKe0exIr44sianjs" alt=""><figcaption></figcaption></figure>

1. Add an "Offer Name" and the **URL of the offer**.

E.g:

```json
http://mypage.com/?a=14030&c=64375&s1=
```

If you have added an **Affiliate network**, then select it here. The parameters from the Affiliate network will be inserted in the offer URL

Lastly, in the **"Payout"** section, keep the "Auto" option if your Affiliate platform is able to receive payouts dynamically through the postback. If not, then click "Manual" and add the value of the Payout.

<figure><img src="/files/TVtwkwIdHNEzYp6g6YM7" alt=""><figcaption></figcaption></figure>

Once you are done with the Offer settings, click **"Create offer"**.
{% endstep %}

{% step %}

### Create a Campaign in skro

When you are ready to create a campaign, click the **"Campaigns"** tab, then click "+New".

<figure><img src="/files/KBLFTLcubS77jVxjPHDV" alt=""><figcaption></figcaption></figure>

In order to create the campaign, follow these steps:

1. Select ExoClick as your **Traffic Source** and "Auto" as your **Cost Model**. Make sure to choose the right **currency** as well.
2. Write your **Campaign Name**. Skro also recommends adding a custom tracking domain instead of the default one to avoid issues with anti-virus tools.
3. Add the last details of the campaign (destination type, offer, etc.) and click **"Save"**

<figure><img src="/files/9efcRGwMO5B6ZxwzvljR" alt=""><figcaption></figcaption></figure>

1. The "Campaign Links" section will be unlocked and you will be able to get the **Campaign URL**. It should look similar to the following:

```json
https://skrotrack.com/campaign/73cd89a4-1216-4179-94b1-b4f6c361d33f?cost={actual_cost}&tag={conversions_tracking}&site_id={site_id}&zone_id={zone_id}&campaign_id={campaign_id}&variation_id={variation_id}&src_hostname={src_hostname}&category_id={category_id}&country={country}&format={format}&keyword={keyword}&tags={tags}
```

<figure><img src="/files/KfRIoRCg1j9tbLj8QAkg" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Set up the Campaign in ExoClick

Paste the campaign URL created in the previous step as your "Variation" in your ExoClick campaign. Make sure it contains the **{conversions\_tracking}** tag to send the conversion details to Skro.

<figure><img src="/files/I2e1xMa4EEPefQQHsx0b" alt=""><figcaption></figcaption></figure>

Finish the campaign set up. You can find a **detailed guide on how to create a campaign in Exoclick** [**here**](/advertisers/campaigns/creating-a-campaign/create-campaign-step1).

If the set up has been done correctly, you will start seeing conversions both in Skro and Exoclick. Do not forget to enable the corresponding Goal column in your [Campaigns List](/advertisers/campaigns/campaigns-list) and your [Statistics](/advertisers/advertiser-statistics)
{% endstep %}
{% endstepper %}

## ExoClick API Skro integration

By integrating Skro with ExoClick via API, you will be able to manage certain aspects of your ExoClick campaigns while at the same time make use of Skro's reporting tools.

Each change you make in Skro will have an instantaneous effect in ExoClick. Here are some of the actions you can make through API Skro integration

* **Synchronize costs**: Sync cost for campaigns, variations, zones and sites every 30 min.
* **Check the status of integrated campaigns**: Check the status of your campaigns, variations, zones and sites..
* **Pause or resume an integrated campaign**: Pause or resume campaigns, variations, zones and sites.
* **Change bids for an integrated campaign**: Change the bid value for campaigns and zones

### Requirements

Before you can integrate with Skro, you need to generate an **API Token** in ExoClick.

Login to your Exoclick account, then click on your username to access your Profile. Click on New API Token, give a name to that token, then hit Save. You will see the API token under the "Token" column:

<figure><img src="/files/eFFzxDxhlAhGS2pnd6r4" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/jCgn8gpUqTmgu1yVO13X" alt=""><figcaption></figcaption></figure>

### Instructions

To initiate the integration, here are the simple steps:

{% stepper %}
{% step %}
Sign in to your Skro account and select the "Integrations" tab

<figure><img src="/files/KN1A9gjKQkcLeeS3A5e7" alt="" width="177"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
In the Traffic Source Integrations section, click the "Add" button, then select ExoClick.

<figure><img src="/files/KwzwTuk95piVAB5kYSAU" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Introduce your ExoClick API token value, then click "Create Integration".**

<figure><img src="/files/46MGCLyDnrVYCUenEzFq" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

If the integration was made successfully, then Skro will show a confirmation message and you will be redirected back to Skro’s Integration tab.

## Additional comments when comparing Skro with ExoClick

Leaving aside conversions tracking and API integration, there are a few settings in Skro you should bear in mind to make sure you see the same results in both platforms:

* **TimeZone**: There is an option in Skro to choose a time zone for reports.

We suggest you to use EST(United States - New York) time zone to match ExoClick’s server time zone

* **Currency**: Please select either USD or Euro so as to match the currency in your ExoClick account.

<figure><img src="/files/lqgLJDTvS1Csb0pnp2lZ" alt=""><figcaption></figcaption></figure>

If you need further guidance on how to set up Conversion tracking in Skro, don't hesitate to contact Skro support by sending a message to **<support@skro.eu>**. You can also contact [Exoclick's Customer Success](https://www.exoclick.com/contact/) to review these steps.


# How to track conversions with ThriveTracker

*This guide is for ThriveTracker only. If you want to know the generic steps for S2S tracking, please check the* [*Advertisers section*](/advertisers/conversion-tracking/conversion-tracking#using-conversion-tracking-api---s2s-recommended)*.*

ExoClick gives you access to global traffic sources, targeting features, big data and statistical analytical tools to filter results and optimise your campaigns. This manual explains how to track conversions on the ExoClick network when you are using tracking software ThriveTracker. In order to track your offer, you need ThriveTracker and ExoClick to speak to each other through their servers.

If you want to receive additional information, please check [Thrivetracker's integration guide.](https://support.thrivetracker.com/hc/en-us/articles/360001345867-Adding-a-Traffic-Source)

## Step 1: Create the Goal ID for the Postback URL

Log into your ExoClick Admin Panel and go to **Campaigns > Conversions tracking**. This allows you to create the conversions tracking code to be used in your **postback URL**:

<figure><img src="/files/0U4GJm0MmFVFCfXoF5Ba" alt=""><figcaption></figcaption></figure>

Click "New Conversion Goal". There are three fields you must complete: **Name**, **Conversion Value** and **Order**. In **Name**, simply add a name for the goal, for example: "Postback".

The available Conversion Values are:

* **No Value:** value is 0
* **Fixed:** you determine the payout of the conversion manually when setting up the Goal.
* **Dynamic:** the value of the payout will be passed through the Postback URL. Dynamic value passing will be explained in detail later during the guide.

**Order** is used to organize the different goals you have created in your account. If you have created multiple Conversion Goals, the Order will help you organize how these goals are displayed in your Statistics and in the Campaigns List.

Once you have added all these fields, click on the "Create" button. The Admin Panel will display the structure of the Postback URL as well as the **Goal ID** corresponding to the Goal you just created. It should look something similar to this:

```
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=
```

You can also check our [Conversions Tracking](/advertisers/conversion-tracking/conversion-tracking) page to find out more details about our Goal creation process.

## Step 2: Create a new traffic source in ThriveTracker

To track conversions on ExoClick you will need to add a dynamic tracker to your campaign URL **{conversions\_tracking}** which identifies each click uniquely. You must store this tracker on ThriveTracker and get it to notify ExoClick’s server each time a user generates a conversion.

You can store this tracker via the **Postback URL**. To do so in ThriveTracker, follow these steps:

{% stepper %}
{% step %}

#### Login to ThriveTracker and add a new traffic source

Login to ThriveTracker, click on **"Traffic Sources"**, then click on **"Add New Traffic Source"**:

<figure><img src="/files/556tUebsxtukWvt9z3IK" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Select ExoClick

Select **ExoClick** from the list of available templates.
{% endstep %}

{% step %}

#### Add the ExoClick postback URL

ThriveTracker will pre-populate all the traffic source settings. Under "Traffic Source Post-back URL", add the **Postback URL** you created in ExoClick.

**Note**: If you selected **Dynamic** value when setting up your Goal in ExoClick, then you will also have to add **\&value={amount}** at the end of the Postback URL so as to pass the value of the conversion. In this case, your postback URL will look like the following:

```
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag={externalid}&value={amount}
```

{% endstep %}

{% step %}

#### Update the Cost parameter

Lastly, under the **"Parameters"** list, change the **Cost** parameter from "{cost}" to **"{actual\_cost}"**:

<figure><img src="/files/Zdnf9ExxMkzjZgx6mZAe" alt=""><figcaption></figcaption></figure>

**{actual\_cost}** is defined as the cost for the actual CPM / CPC paid for each impression/click. Therefore, this parameter should be used for Banners CPC and Popunders CPM / Smart CPM. Note that ThriveTracker only measures **clicks**, so **you can't track CPM costs from non-popunder formats**.

The only mandatory parameter to track conversions is the External ID, all others are optional. You can always find all the available tokens on in our [Dynamic Tokens page.](/advertisers/campaigns/macros)
{% endstep %}

{% step %}

#### Save the postback URL

Click “Save” to save the postback URL.
{% endstep %}
{% endstepper %}

## Step 3 (optional): Add an Affiliate Network to ThriveTracker

*If you are not using an Offer from an Affiliate platform, please Skip to Step 4*

Click the **Affiliate Networks** tab, then click on "Add New Network":

<figure><img src="/files/MhYsTBGpfZRY0pxJbVz8" alt=""><figcaption></figcaption></figure>

Click on **"Predefined Affiliate Networks"** and select the network you are working with. If your network is not listed there, then you will be able to input the network's parameters manually.

From this page, the most important parameter for ExoClick is the **Amount**, as it will be used in the Postback URL in case you are passing costs dynamically from the affiliate network.

<figure><img src="/files/NBwzX8c0tGN0sSWfB6nM" alt=""><figcaption></figcaption></figure>

Once you have created the affiliate network, copy its Postback URL and paste it in the corresponding field of your affiliate network. This URL will look like the following:

```
https://3993.ljiumxoe.com/conv?tid={transid}&offerid=&amount={payout}&subid={clickid}&s1={subid1}&s2={subid2}&s3={subid3}&s4={subid4}&s5={subid5}
```

**Note**: This Postback URL is not the same as the one you created for ExoClick.

## Step 4: Create an Offer in ThriveTracker

Click the **"Offers"** tab, then click **“Add new offer"**:

<figure><img src="/files/oFwLJAnm5nw7heJyWOwV" alt=""><figcaption></figcaption></figure>

Add an Offer Name and Group, then link it to the Affiliate Network (if you have one).

In **"Value per Conversion"**, if you are receiving the payout from the offer dynamically, you can leave it as **"0" value** (the value will be overwritten by the Affiliate Network's settings). If this is not the case, then write down the value from the conversion.

Lastly, in **"Offer URL"**, add the URL from your product. Make sure to add **{subid}** to the URL if you are sending conversions to the Affiliate Network

<figure><img src="/files/GOwsTXDQKwRCgd1o1t02" alt=""><figcaption></figcaption></figure>

## Step 5: Create a Campaign in ThriveTracker

In ThriveTracker, click **"Campaigns"** > **"Create Campaign"**

<figure><img src="/files/tt5CYAClAY6eLyxf4WQF" alt=""><figcaption></figcaption></figure>

Add a **Campaign Name** and a **Campaign Type**. Then, select **"ExoClick"** as a **Traffic Source**:

<figure><img src="/files/8xrKxgwyMqiZ4VGndg1y" alt=""><figcaption></figcaption></figure>

Click on **"Campaign Rotations"**, then choose **"Create New Rotations"**:

<figure><img src="/files/lfLk6n2ZSZxz5mvUJr9I" alt=""><figcaption></figcaption></figure>

Add a **Name** to your rotation, then click on **"Add Offers"** and select the **Offer** you created before. If you have a **Landing Page**, you can also include it in the rotation. For more information on Landing Pages in ThriveTracker, please [check their FAQ](https://support.thrivetracker.com/hc/en-us/articles/360001341688-Landing-Pages)

<figure><img src="/files/9ONvHU7hqDoUUMR8nDXq" alt=""><figcaption></figcaption></figure>

Once you add the Offer, click "Create". You can now copy the **Campaign URL** from your campaign settings in Thrivetracker:

<figure><img src="/files/nh3GzqmK0fw2mgT55oH7" alt=""><figcaption></figcaption></figure>

**Note:** ThriveTracker offers a test domain that you can use for your Campaign URL. However, they recommend creating a separate custom domain for your account. For more information about this, please check their FAQ.

You will use this Campaign URL as a variation in your ExoClick campaign:

## Step 6: Set up the campaign on ExoClick

Paste the Campaign URL created in the previous step as your "Variation" for your ExoClick campaign

```
http://3993.ljiumxoe.com/click?trvid=10001&trvx=cc79cd41&extid={conversions_tracking}&cost={actual_cost}&campid={campaign_id}&creaid={variation_id}&sitenm={src_hostname}&catego={category_id}&ctcode={country}&zoneid={zone_id}
```

<figure><img src="/files/kr4DvXT5n24UxKtqLKmY" alt=""><figcaption></figcaption></figure>

Make sure that the campaign URL contains the **{conversions\_tracking}** tag to pass the information from the conversion.

You can find a **detailed guide on how to create a campaign in ExoClick** [**here**](/advertisers/campaigns/creating-a-campaign/create-campaign-step1)

If the set up has been done correctly, you will start seeing conversions both in ThriveTracker and ExoClick. Do not forget to enable the corresponding Goal column in your [Campaigns List](/advertisers/campaigns/campaigns-list) and your [Statistics](/advertisers/advertiser-statistics)

If you need further guidance on how to set up Conversion tracking in ThriveTracker, don't hesitate to contact [ThriveTracker support](https://support.thrivetracker.com/hc/en-us/requests/new). You can also contact [ExoClick's Customer Success](https://www.exoclick.com/contact/) to review these steps.


# How to track conversions with TUNE/HasOffers

*This guide is for TUNE (formerly HasOffers) only. If you want to know the generic steps for S2S tracking, please check the* [*Advertisers section*](/advertisers/conversion-tracking/conversion-tracking#using-conversion-tracking-api---s2s-recommended)*.*

ExoClick gives you access to global traffic sources, targeting features, big data and statistical analytical tools to filter results and optimise your campaigns. This manual explains how to track conversions on the ExoClick network when you are using tracking software TUNE (formerly known as HasOffers). In order to track your offer, you need Tune and ExoClick to speak to each other through their servers.

If you want to receive additional information, please check [Tune's integration guide.](https://support.tune.com/hc/en-us/articles/1500008230702-Server-Postback-Tracking-Implementation)

{% stepper %}
{% step %}

## Create the Goal ID for the Postback URL

Log into your ExoClick Admin Panel and go to **Campaigns > Conversions tracking**. This allows you to create the conversions tracking code to be used in your **postback URL**:

<figure><img src="/files/0U4GJm0MmFVFCfXoF5Ba" alt=""><figcaption></figcaption></figure>

Click "New Conversion Goal". There are three fields you must complete: **Name**, **Conversion Value** and **Order**. In **Name**, simply add a name for the goal, for example: "Postback".

The available Conversion Values are:

* **No Value:** value is 0
* **Fixed:** you determine the payout of the conversion manually when setting up the Goal.
* **Dynamic:** the value of the payout will be passed through the Postback URL. Dynamic value passing will be explained in detail later during the guide.

**Order** is used to organize the different goals you have created in your account. If you have created multiple Conversion Goals, the Order will help you organize how these goals are displayed in your Statistics and in the Campaigns List.

Once you have added all these fields, click on the "Create" button. The Admin Panel will display the structure of the Postback URL as well as the **Goal ID** corresponding to the Goal you just created. It should look something similar to this:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=
```

You can also check our [Conversions Tracking](/advertisers/conversion-tracking/conversion-tracking) page to find out more details about our Goal creation process.
{% endstep %}

{% step %}

## Add the postback URL to your TUNE dashboard

A **Postback URL** is a URL that notifies our server when a conversion has been made in your campaigns. You must store this URL in TUNE and get it to notify ExoClick’s server each time a user generates a conversion.

There are two ways to add a Postback URL in TUNE: through the **Offer settings** or as a **Global Postback** in your account.

A Postback URL in the offer settings will be applied exclusively to that offer, whereas a Global Postback will be applied to all your offers.

### Specific Offer Postback URL

In order to add ExoClick's Postback URL in a specific offer, follow these steps:

1. Login to your TUNE dashboard
2. Click on **"My Live Offers"**, then select the Offer where you want to add the Postback.
3. Scroll down to **"Your Pixels/Postbacks"**, then click on **"Add New Pixel/Postback"**:

<figure><img src="/files/Zf5Y20a2egRHWdVGmYGW" alt=""><figcaption></figcaption></figure>

1. Select "Postback URL" under **"Code Type"**, then add the Postback URL you generated in the previous section from this guide.
2. Add **{aff\_click\_id}** at the end of the Postback. Your URL should look like this:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag={aff_click_id}
```

**Note**: If the goal you created has **Dynamic Value**, then you must also add **\&value={payout}** at the end of the Postback:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag={aff_click_id}&value={payout}
```

<figure><img src="/files/5jtCQ1IL9bCzjRv72CnE" alt=""><figcaption></figcaption></figure>

6. Click Create.

### Global Postback URL

In order to add ExoClick's Postback URL as a Global Postback, follow these steps:

1. Click on **"Tools"** > **"Pixels/Postbacks"**
2. Click on **"Add new Postback"** (if this option is not available for you, please contact your Account Manager from TUNE)
3. Under **"Code/URL"**, add the Postback URL:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag={aff_click_id}
```

**Note**: If the goal you created has **Dynamic Value**, then you must also add **value={payout}** at the end of the Postback:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag={aff_click_id}&value={payout}
```

<figure><img src="/files/r00jinQq62kPSumKNsXx" alt=""><figcaption></figcaption></figure>

6. The Postback URL should be saved automatically.
   {% endstep %}

{% step %}

## Add conversion tracking macro to your Tracking Link

Go to **"My Live Offers"**, click on the **Offer ID** you want to promote, then copy the **Tracking Link** from the Offer.

E.g:

```json
http://mypage.com/?a=14030&c=64375&aff_id=2422
```

<figure><img src="/files/UKP4ZzK7k5KRkx2B8Xsc" alt=""><figcaption></figcaption></figure>

In order to track conversions, you will have to add **\&aff\_click\_id={conversions\_tracking}** to the Tracking Link. It will look like this:

```json
http://mypage.com/?a=14030&c=64375&aff_id=2422&aff_click_id={conversions_tracking}
```

You will use this URL as your **variation** in ExoClick. You can also add [additional macros from ExoClick](/advertisers/campaigns/macros) by preceeding them with the appropriate **"aff\_sub"** parameter from TUNE.

For instance, if you also want to track the **Zone ID** and the **Campaign ID** from ExoClick, then the Tracking Link will look like this:

```json
http://mypage.com/?a=14030&c=64375&aff_id=2422&aff_click_id={conversions_tracking}&aff_sub={zone_id}&aff_sub2={campaign_id}
```

You will be able to see all these details in your **Performance Reports** from TUNE:

<figure><img src="/files/xItN5Xf9UUJufTtWKbaY" alt=""><figcaption></figcaption></figure>

Note that only **{conversions\_tracking}** is required to track conversions.
{% endstep %}

{% step %}

## Set up your Campaign in ExoClick

Paste the **Tracking Link** created in the previous step as your **"Variation"** for your ExoClick campaign:

<figure><img src="/files/fyDDrHx0HRF0Icorpbjn" alt=""><figcaption></figcaption></figure>

Finish the campaign set up. You can find a **detailed guide on how to create a campaign in Exoclick** [**here**](/advertisers/campaigns/creating-a-campaign/create-campaign-step1).

If the set up has been done correctly, you will start seeing conversions both in TUNE and Exoclick. Do not forget to enable the corresponding Goal column in your [Campaigns List](/advertisers/campaigns/campaigns-list) and your [Statistics](/advertisers/advertiser-statistics)

If you need further guidance on how to set up Conversion tracking in TUNE, don't hesitate to contact TUNE support at [**support@tune.com**](mailto:support@tune.com). You can also contact [Exoclick's Customer Success](https://www.exoclick.com/contact/) to review these steps.
{% endstep %}
{% endstepper %}


# How to track conversions with Voluum

*This guide is for Voluum only. If you want to know the generic steps for S2S tracking, please check the* [*Advertisers section*](/advertisers/conversion-tracking/conversion-tracking#using-conversion-tracking-api---s2s-recommended)*.*

This guide consists of two sections:

* a) How to set up conversion tracking in Voluum. This section will focus on knowing how to set up the Postback URL in Voluum, how to notify conversions to Voluum and how to display these conversions in both Voluum and ExoClick.
* b) How to integrate Exoclick in Voluum via API. This section will show how to edit ExoClick's campaigns from Voluum and how to match your campaign costs in both platforms.

**Exoclick users get a discount when** [**signing up on Voluum.**](https://voluum.com/partner/exoclick/)

If you want to receive additional information, please check [Voluum's integration guide.](https://doc.voluum.com/en/exoclick_traffic-source.html)

## How to set up conversion tracking in Voluum.

ExoClick gives you access to global traffic sources, targeting features, big data and statistical analytical tools to filter results and optimise your campaigns. This manual explains how to track conversions on the ExoClick network when you are using tracking software Voluum.

{% stepper %}
{% step %}

### Create the Goal ID for your Postback URL.

Log into your ExoClick Admin Panel and go to **Campaigns > Conversions tracking**. This allows you to create the **Goal ID** and get the structure to be used in your **postback URL**:

<figure><img src="/files/0U4GJm0MmFVFCfXoF5Ba" alt=""><figcaption></figcaption></figure>

Click "New Conversion Goal". There are three fields you must complete: **Name**, **Conversion Value** and **Order**. In **Name**, simply add a name for the goal, for example: "Postback".

The available Conversion Values are:

* **No Value:** value is 0
* **Fixed:** you determine the payout of the conversion manually when setting up the Goal.
* **Dynamic:** the value of the payout will be passed through the Postback URL. Dynamic value passing will be explained in detail later during the guide.

**Order** is used to organize the different goals you have created in your account. If you have created multiple Conversion Goals, the Order will help you organize how these goals are displayed in your Statistics and in the Campaigns List.

Once you have added all these fields, click on the "Create" button. The Admin Panel will display the structure of the Postback URL as well as the **Goal ID** corresponding to the Goal you just created. It should look something similar to this:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=
```

You can also check our [Conversions Tracking](/advertisers/conversion-tracking/conversion-tracking) page to find out more details about our Goal creation process.
{% endstep %}

{% step %}

### Add ExoClick as traffic source in Voluum and configure the Postback

To track conversions on ExoClick you will need to add a dynamic tracker to your campaign URL **{conversions\_tracking}** which identifies each click uniquely.

You must store this tracker on Voluum and get it to notify ExoClick’s server each time a user generates a conversion. This is achieved in Voluum by configuring ExoClick as the traffic source, using the pre-defined template.

Click the “Traffic sources” tab, then click on "Create" > "Traffic Source"

<figure><img src="/files/hbSr1WR97srYVEsxhjOe" alt=""><figcaption></figcaption></figure>

Select "ExoClick". Voluum will pre-populate the traffic source settings from the template.

<figure><img src="/files/rlCSSqwEalB7t94PntEz" alt=""><figcaption></figcaption></figure>

In the Postback URL field replace the word “REPLACE”, with the **goal ID** value you generated in STEP 1.

<figure><img src="/files/yDgljjILyn4YS25O2LM5" alt=""><figcaption></figcaption></figure>

Your postback URL should now look like the following:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag={externalid}
```

**Note**: If you selected **Dynamic** value when setting up your Goal in ExoClick, then you will also have to add **\&value={payout}** at the end of the Postback URL so as to pass the value of the conversion. In this case, your postback URL will look like the following:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag={externalid}&value={payout}
```

Once you have made these edits, you can go ahead and save the Postback.
{% endstep %}

{% step %}

### Set up an Affiliate Network on Voluum (optional)

*If you are not using an Offer from an Affiliate platform, please Skip to Step 4*

Click the "Affiliate Networks Templates", then click on "Create" > "Affiliate Network":

<figure><img src="/files/NKnKR7PGwT1ooRd7G7ve" alt=""><figcaption></figcaption></figure>

You can select from a list of curated Affiliate networks. If your Affiliate network is not on the list, you can manually set up the Affiliate parameters. From this page, the most important parameter for ExoClick is the **Payout** token.

<figure><img src="/files/ua0Y84fUKeMLzCCXzDVu" alt=""><figcaption></figcaption></figure>

If you want to use Dynamic conversion value from your goals, you need to make sure that the **{payout}** token from the affiliate platform **reaches the postback URL from Exoclick**.

Voluum offers several **Methods** for sending conversions to the affiliate platform, so please make sure that you choose the correct option to notify both the affiliate network and Exoclick.

For more information on how to set up the Affiliate network in Voluum, please check their [manual](https://doc.voluum.com/en/affiliate_network_adding.html).
{% endstep %}

{% step %}

### Create an Offer in Voluum.

Click the ”Offers” tab, then click on "Create" > "Offer".

<figure><img src="/files/ROKvIMmDLczxAFSkcgFM" alt=""><figcaption></figcaption></figure>

Select the Affiliate network (if any), the Country label and put a Name to the Offer.

Then, add the URL of your product to the Offer URL. For instance:

```json
http://mypage.com/?a=14030&c=64375&aff_id=2422&s1=
```

<figure><img src="/files/8HcK61KJpCyGaMAoCj0F" alt=""><figcaption></figcaption></figure>

In the Conversion tracking section from the offer, under "Payout", you can select **"Auto"** or **"Manual"**. If you added an affiliate network in the previous step, then you can select "Auto" so that the value is read from your affiliate network payout token. **Make sure that your affiliate network is connected to your Voluum account correctly**

If you did not add an Affiliate network to your Voluum account or the network does not pass any payouts dynamically, then select "Manual" and add the value of the payout.

<figure><img src="/files/ZahpnpRLmvesI1LafRvw" alt=""><figcaption></figcaption></figure>

**Note:** Remember that the Postback URL you see here corresponds to the Affiliate Platform. This is not the same Postback URL as the one you used in Traffic Source settings.

Click "Save" to Save the offer.
{% endstep %}

{% step %}

### Create a campaign in Voluum.

Click the "Campaigns" tab. When you click on "Create", you will have two options "Campaign Simple" and "Campaign Advanced". In this guide, we will use "Campaign Simple"

<figure><img src="/files/Qg2oG1QhAcj0v68TfLw5" alt=""><figcaption></figcaption></figure>

In the "General" settings, select **ExoClick** as your Traffic Source and add a "Name" to your campaign.

Select the "Cost Model" from your campaign and the "Cost Value" (note that these parameters will be **overwritten** if you enable API ).

Complete the other fields until you reach "Campaign Destination". In "Campaign Destination", select the offer you want to promote and determine whether you will use any landing pages for this offer.

<figure><img src="/files/C76778rKBY2ZGuOvl5JH" alt=""><figcaption></figcaption></figure>

Click "Save". Voluum will show your Campaign URL. You will need this URL to set up your campaign in Exoclick.

Example campaign URL:

```json
https://voluum-domain.com/bc286faf-3176-4e88-a398-428a824c051c?campid={campaign_id}&varid={variation_id}&source={src_hostname}&keyword={keyword}&tags={tags}&siteid={site_id}&zoneid={zone_id}&catid={category_id}&country={country}&format={format}&cost={actual_cost}&tag={conversions_tracking}
```

<figure><img src="/files/QQpFUmWj7t5ZONpAIvid" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Create the campaign in Exoclick

Paste the campaign URL created in the previous step as your "Variation" for your ExoClick campaign. Make sure it contains the **{conversions\_tracking}** tag to send the conversion details to Voluum.

<figure><img src="/files/MFvJYPWFrtKj9RpE5vAt" alt=""><figcaption></figcaption></figure>

Finish the campaign set up. You can find a **detailed guide on how to create a campaign in Exoclick** [**here**](/advertisers/campaigns/creating-a-campaign/create-campaign-step1).

If the set up has been done correctly, you will start seeing conversions both in Voluum and ExoClick. Do not forget to enable the corresponding Goal column in your [Campaigns List](/advertisers/campaigns/campaigns-list) and your [Statistics](/advertisers/advertiser-statistics)
{% endstep %}
{% endstepper %}

## ExoClick API Voluum integration

By integrating Voluum with ExoClick via API, you will be able to manage certain aspects of your ExoClick campaigns while at the same time make use of Voluum's reporting tools.

Each change you make in Voluum will have an instantaneous effect in ExoClick. Here are some of the actions you can make through API Voluum integration

* **Check the status of integrated campaigns**: You can observe the status of your integrated campaign in the Status column.
* **Pause or resume an integrated campaign**: You can pause or restore an entire integrated campaign in the Campaigns view, in the Actions column.
* **Change bids for an integrated campaign**: You can change bids for the whole campaign or for specific zones within the campaign.
* **Synchronize costs**: With API integration, costs will be extracted from ExoClick's statistics, making cost tracking much easier.

### Requirements

Before you can integrate with Voluum, you need to generate an **API Token** in ExoClick.

Login to your Exoclick account, then click on your username to access your Profile. Click on New API Token, give a name to that token, then hit Save. You will see the API token under the "Token" column:

<figure><img src="/files/eFFzxDxhlAhGS2pnd6r4" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/jCgn8gpUqTmgu1yVO13X" alt=""><figcaption></figcaption></figure>

### Instructions

To initiate the integration, here are the simple steps:

{% stepper %}
{% step %}
Sign in to your Voluum account and select the ‘Integrations’ tab

<figure><img src="/files/LQAPphs3kwVbDfPfzrx8" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
In the "Traffic Source Integrations" section, click the ‘Add integration’ button, then select ExoClick.

<figure><img src="/files/RzosrslgiCN9WIJ0B7Jr" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Introduce your ExoClick API token value, then click Next.

<figure><img src="/files/1gMdZ8SrsO2VEgD5r0iP" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

If the integration was made successfully, then Voluum will show a confirmation message and you will be redirected back to Voluum’s Integration tab.

If your ExoClick campaigns point to Voluum Campaign URL, they will be automatically matched within 2 hours. Alternatively, you can also use the icon to manually match campaigns:

<figure><img src="/files/DMivDVWPQsgOrTqIHtb9" alt=""><figcaption></figcaption></figure>

Integrated campaigns will be marked. To make use of the integration, make sure that you have the following columns visible by clicking the button and ticking the appropriate boxes:

* Status
* Actions
* Bids

<figure><img src="/files/qstvrGcwKurA21yTY0CI" alt=""><figcaption></figcaption></figure>

The full details of the actions you can make in Voluum through API integration are explained [here](https://doc.voluum.com/en/exoclick_cost_integration.html#UUID-0c54af33-4861-ce5a-5b13-8cdcd5bc66a6_bridgehead-idm4595107040342431676573997806).

## Additional comments when comparing Voluum with ExoClick

Leaving aside conversions tracking and API integration, there are a few settings in Voluum you should bear in mind to make sure you see the same results in both platforms:

* **TimeZone**: There is an option in Voluum to choose a time zone for reports.

We suggest you to use EST(United States - New York) time zone to match ExoClick’s server time zone

* **Currency**: Please select either USD or Euro so as to match the currency in your ExoClick account.

<figure><img src="/files/aM2CejQCzMvuNwSnedyq" alt=""><figcaption></figcaption></figure>

If you need further guidance on how to set up Conversion tracking or API Integration in Voluum, don't hesitate to contact [Voluum support](https://voluum.com/contact/). You can also contact [ExoClick's Customer Success](https://www.exoclick.com/contact/) to review these steps.


# Payments

## Checking your funds and spending

<figure><img src="/files/39w6270lTU1FOe5u4pXW" alt=""><figcaption></figcaption></figure>

To manage and monitor your funds and spending, click on the **Payments** tab.

## First time accessing the Payments tab

You might find this page empty the first time you access it.

![empty](/files/a7f7e115675533d416d81f0dd9ace0d51e0a2561)

If you click on the disclaimer button, you will be redirected to your account information so that you can complete all the missing details.

Regardless of which country you signed up from, you will be asked to add a **VAT Number**. If you are not based in the EU, you can add here your personal ID, passport no. or Company ID, if you have one.

If you are based in the EU, you will need to provide a [valid VAT number](https://ec.europa.eu/taxation_customs/vies/#/vat-validation). Individuals or companies from EU countries that can not provide a valid VAT number will have 21% VAT deducted from any funds added to their account. This is in order to comply with EU regulations.

Note that 21% VAT is always applied to both individuals and companies in **Spain**, with or without valid VAT numbers.

## Making a payment in the Payments tab

In the **Make a payment** panel at the top of the tab, you will see the available payment options for your network. You may see **Credit/Debit card**, **UnionPay**, **Wire Transfer** and **Paxum** options here if they are available.

We work only on a **pre-payment** basis and the minimum payment for all payment methods is **200 EUR/USD**. Funds are added instantly with all payment methods except **Wire Transfer**.

## Viewing your payments

In the bottom section of the **Payments** tab, you can see all the payments that you have made each month.

Using the **Date Range** drop-down, you can choose how many months you wish to view in the list. Choose **View All** to see all months, or choose to see only the last **3 Months**, last **6 Months**, **This Year**, or **Last Year**.

For each invoice in the list, you can see the **Opening Balance**, which shows you the balance at the start of the month covered by the invoice.

Using the arrows at the top of each column you can sort your invoices by **Invoice Date**, **Payment Date**, **Date Funded**, **Amount** (original currency), **Balance Amount**, **Status**, and **Type**.

{% hint style="info" %}
**Note:** If it is **not the current year**, all months are shown with the respective balance (whether having transactions or not), if at least one month has a transaction. If **it is the current year**, the first month to be displayed is the first month with a transaction (and this will then be updated the following year with all 12 months and the respective balance for each month).
{% endhint %}

## Downloading and printing PDFs of your invoices

To download or print PDFs of your invoices, click on the **Total** on the right side of the screen, and then click the **View** button.

You will then see a PDF of the invoice. Click **DOWNLOAD PDF** to save a copy to your computer and click **PRINT** to print it.

## Available Payment types

### Debit/Credit Card

<figure><img src="/files/nn9X7nyaFow7RYH3H5L9" alt=""><figcaption></figcaption></figure>

If you select **Debit/Credit Card** to make a payment, you can choose whether to do it automatically or manually.

**Card Auto Recharge (Celeris)**

This option will automatically top up your balance by the chosen amount when it falls below a set amount of units of currency (Dollars or Euros). Allowing you to keep campaigns running without the need to constantly return to the Admin Panel to deposit funds.

{% hint style="info" %}
**Note**: The auto-recharge limit is 10K.
{% endhint %}

**Card Manual Recharge**

Select an amount to top up your account by.

**Saved Cards**

Advertisers can save Credit/Debit card information through both Auto and Manual recharges that will make purchases quick and easy. The card information is encrypted.

Note that, if a saved card fails a transaction, the card will not be saved for the next purchase.

**Credit Card - Multi Currency**

Multi Currency Pricing allows Advertisers pay in their local currency so they can know the exact amount that will be paid out of their account e.g. If an Advertiser based in India and wants to add 1000 EUR to the ExoClick account, using MCP they will be able to know the INR equivalent if they choose to pay in INR.

<figure><img src="/files/r7EFlqV7tMoBR7T77iqO" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Note** : All advertisers have the option to select a different currency ( from the ones available) .
{% endhint %}

For Advertisers located within a country with a supported currency, this currency will be automatically displayed by the system.

<figure><img src="/files/tEpdkNsY2JFefW0qz6uf" alt=""><figcaption></figcaption></figure>

### Unionpay

<figure><img src="/files/AIynOdNw52bkTJW0hvYR" alt=""><figcaption></figcaption></figure>

If you select **UnionPay** to make a payment, you can use your UnionPay card to add funds to your account. You can simply select an amount to recharge your account with and you will be redirected to the UnionPay interface to complete the checkout process securely.

{% hint style="info" %}
**Note**: Unionpay can be used **ONLY** if advertiser's country is China.
{% endhint %}

### Wire transfer

<figure><img src="/files/kEVzWDc3H1mXPExm99ef" alt=""><figcaption></figcaption></figure>

Here you can send us a notification that you have sent a wire transfer payment. Fill in **Sender Name**, **Amount**, and **Currency**. When you add the details, a **Proforma** will be created for you.

The Proforma will include a **Reference ID**. Make sure to use this Reference ID number when sending your Wire Transfer. This ensures the payment will be located faster and avoid missing payments. When funds reach us, it will automatically be changed to an **Invoice.**

<figure><img src="/files/l9PGChcqwVHp1y6oxxZo" alt=""><figcaption></figcaption></figure>

### Paxum

<figure><img src="/files/g5LuPCjlzeWrEL2jQUnL" alt=""><figcaption></figcaption></figure>

Select an amount from the drop-down to recharge your account by.

### Crypto

<figure><img src="/files/as6CXhAlCHTeUSDUSVIZ" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Do not send funds from an Exchange platform. You must send funds from your personal wallet.
{% endhint %}

There are two options for Crypto payments, each managed by a different gateway:

* **Crypto Payment**
* **Pay with Crypto**

For both options, select an amount from the drop-down to recharge your account by. After clicking “PAY NOW”, you will be redirected to the payment gateway to complete your purchase securely.

In the payment gateway, select the **Cryptocurrency** and **Network** you want to use for your payment. Then, you can **scan the QR code** or **get the wallet address** to perform the payment. You can also find the **Payment ID and amount** under the **Details** section.

Once the payment is completed, an **invoice** will appear in your payment history.

**Notes:**

* Crypto network exchange fees might apply.
* No Country restrictions for **Crypto payment**.

<figure><img src="/files/uBua0re62MVsmAG7Ej5t" alt=""><figcaption></figcaption></figure>

* Country restrictions for the **Pay with Crypto** option.

<figure><img src="/files/hXie56MVZxdACiwLoQKq" alt=""><figcaption></figcaption></figure>

| A-G                              | H-R             | S-Z                        |
| -------------------------------- | --------------- | -------------------------- |
| Afghanistan                      | Haiti           | Saint Lucia                |
| Albania                          | Holy See        | Sao Tome and Principe      |
| Algeria                          | Iran            | Saudi Arabia               |
| Argentina                        | Iraq            | Senegal                    |
| Bangladesh                       | Jamaica         | Serbia                     |
| Barbados                         | Japan           | Somalia                    |
| Belarus                          | Jordan          | South Korea                |
| Bolivia                          | Kyrgyzstan      | South Sudan                |
| Bosnia and Herzegovina           | Lebanon         | Sudan                      |
| Brunei                           | Libya           | Syria                      |
| Burkina Faso                     | Mali            | Tanzania                   |
| Burundi                          | Montenegro      | Thailand                   |
| Côte d'Ivoire                    | Morocco         | Trinidad and Tobago        |
| Cabo Verde                       | Mozambique      | Tunisia                    |
| Cambodia                         | Myanmar         | Turkey                     |
| Cameroon                         | Nepal           | Uganda                     |
| Central African Republic         | Nicaragua       | Ukraine                    |
| China                            | Nigeria         | United Arab Emirates       |
| Congo                            | North Korea     | United States of America\* |
| Cuba                             | Pakistan        | North Macedonia            |
| Democratic Republic of the Congo | Palestine State | Venezuela                  |
| Ecuador                          | Panama          | Vanuatu                    |
| Egypt                            | Philippines     | Vietnam                    |
| Guinea-Bissau                    | Russia          | Yemen                      |
| \*\*\*\*\*                       | \*\*\*\*\*      | Zimbabwe                   |

It is also not available for the following US states:

* Alabama, Alaska, Hawaii, Louisiana, Nevada, New Hampshire, New York, Rhode Island, Texas, Vermont, Virginia and Washington.


# Marketplace

<figure><img src="/files/4e52RGBoMAkDgG2MJeYE" alt=""><figcaption></figcaption></figure>

The **Marketplace** tab shows a list of all the traffic sources in ExoClick, the relevant ad spots available per website, and the corresponding Daily Impressions and Clicks.

Traffic source data reflects activity from two days prior. For RTB zones to appear in the marketplace, they must have a minimum of 1.000 queries.

You can filter the results by **Ad Format**, **Ad Placement** (Footer, NTV, etc.), **Allowed Product Category**, **Categories**, **Countries**, **Device Types**, and **Traffic Type**. You can also search specific entries based on the **Site Name**, **Site ID**, or **Zone ID**.

<figure><img src="/files/2Lnc9CZqGyzsBvERIkdq" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Note:** Not all the ad zones have an ad placement assigned to them.
{% endhint %}

## Buying an ad zone in the Marketplace tab

You can click **Buy** on the right side of any ad zone in the list to buy it. You will be taken to the **Campaign** tab, where you can fill in the rest of the details of the campaign that will target this ad zone.

## Blacklisted Sites

<figure><img src="/files/uen7zfd3eqfiMV9ETHaQ" alt=""><figcaption></figcaption></figure>

With the feature of blocking sites on an account level, you cannot buy an ad spot from the sites that are blacklisted. You will see a warning icon highlighted in red before the BUY button and this button will be greyed out. On the hover of this icon, the following message is displayed: **This site has been blacklisted on your account.**


# Advertisers FAQ

Advertisers FAQs


# Advertiser compliance


# My campaign got rejected. Why?

Most campaigns are approved and [**labelled**](/advertisers/advertisers-faq/advertiser-compliance/my-campaign-has-labels-what-mean) shortly after they are created. However, if you don't follow our [**guidelines**](https://www.exoclick.com/guidelines/), your campaign will be rejected.

If this happens, you can find out the rejection reason by hovering over the **"?"** icon next to your campaign.

<figure><img src="/files/M5JPa3wgWNewmw4IPw8y" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**IMPORTANT!**

Any campaign (Pending Approval, Paused and Running) can be rejected at anytime. Campaigns are reviewed constantly 24/7 by our Compliance team.

Attempts to bypass our guidelines could result in your account being suspended or even closed. Please be make sure to monitor your campaign and its advertising materials, both during submission and while receiving traffic.
{% endhint %}

Below you will find a list of the most common rejection reasons.

## Rejection reasons

### Account Verification in progress. We will contact you within 24hrs

Used when a new or returning advertiser requires verification, but it's normally completed within 24hrs.

### Wrong category selected

The materials you used are not suitable for the categories you selected

### Banner/Landing Page contains or promotes an illegal/banned product

Certain products (e.g: alcohol, tobacco) are not allowed in our network.

### Banners/LP not loading

There’s a technical problem in your variation or landing page, making them not visible to our Compliance team at the time of review.

### Banner/LP not 18 U.S.C.2257 compliant

The models featured look too young and no disclaimer is visible on the banner or the landing page.

### Banners showing a phone number must be CPM based

Site visitors would call the number without clicking the banner, therefore CPC is not allowed.

### Campaign contains rapidly flashing/blinking banners

While we permit slow moving blinking/flashing banners and are labelled as such, faster blinking/flashing banners are not allowed.

### Copyright infringement

You cannot use marketing material (images, branding, pages or texts) where we have received a DMCA claim to those materials or it's clear you do not have copyright.

### HTML campaigns must be SSL compliant

Industry standard requirement for all HTML banners.

### Landing page or product offered contains Malware

Repeated rejections for this reason may result in your account being suspended or closed. **Please take such rejections very seriously!**

### No traffic available based on your targeting

If no traffic is received in your campaign after **30 days**, it will be automatically rejected for this reason. Check your target settings to make sure you haven't selected any conflicting settings.

## How can I get my campaign approved again?

If you need help with a campaign rejection, please contact our Compliance team and select "**Campaign Review**" [here](https://www.exoclick.com/contact/)


# My campaign has labels. What does it mean?

Here at ExoClick we believe our advertisers should have the choice to promote any advertisement they wish, provided it remains within our [**guidelines**](https://www.exoclick.com/guidelines/).

The labelling system is designed to **allow our publishers the right to choose what type of advertising they want on their websites** and to filter out campaigns they do not wish to display.

## Explaining the labels

Whenever you submit a campaign, our Compliance team will add labels based on the submitted creative(s) and what is displayed on the landing page(s) via the URL links. Here is a list of the **most commonly blocked labels**:

### Animated Images

Label applied to banner creatives where the image contains animation and motion.

### HTML Tags

HTML/iframe banner ads.

### Not SSL Compliant

Label applied to URLs that are not https and SSL compliant.

### Back Button Offer

Applied to landing page offers that, when the user clicks back, they are redirected to another offer.

### Entry JavaScript Message

Applied to URLs that feature an entry JavaScript prompt message.

### Exit JavaScript Message

Applied to URLs that feature an exit JavaScript prompt message when attempting to close the page down.

### Simple Images

Applied to banner creatives that contains only a plain image with no texts, buttons, logos.

### Vertical Video

Applied to video ads where the dimensions of the video creative is vertical in size.

### Misleading Branding

Applied to banner creatives and URLs that imitate the branding, logos and colour scheme of well known brands such as Facebook, Snapchat and Whatsapp.

### High CTR Elements

Applied to creative materials that have design elements such as the following:

* Layouts imitating chat boxes
* Layouts imitating a person is online
* Fake close/cancel buttons
* Fake download/play buttons
* Fake age verification messages
* Fake animated mouse pointer/tap options
* Fake pagination or other site navigation elements
* Fake video players
* "Watch Now" CTA buttons

### Verified False Positive

Label applied to URLs that have been flagged by an antivirus software and is considered to be a false positive.

## What effect do labels have on my campaign?

If your variations contain labels that are blocked by a zone, then **your campaign won't be able to run on that zone**.

It could happen that a campaign has URLs or creatives with different labels (e.g: a banner campaign that has both "Animated" and "Simple" images). In that case, the variation that doesn't have the blocked label **will still be able to receive traffic from the zone**.

Note that this can have an impact on the [**Distribution algorithm**](/advertisers/campaigns/creating-a-campaign/create-campaign-step2#selecting-a-distribution-algorithm) you have selected in your campaign.

## How can I see what labels my variations have?

You can find all the labels applied to your variations by clicking the **Status** tab from the **Campaign Summary** sidebar in your **Campaign Settings**:

<figure><img src="/files/7rm1fNKbAu6fyAQNOqWg" alt=""><figcaption></figcaption></figure>

In addition, you can inspect the labels of each creative and landing page by clicking the corresponding **"View Details"** icon:

<figure><img src="/files/qfpOsORiM2T4W7jc8TOp" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/mJFKLJs8aivEahmI7ewd" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/vc49FvofsK5Y8GC4iuiF" alt=""><figcaption></figcaption></figure>

## How can I change the label of a variation?

If you think a label has been added by mistake or need more info about it, select "**Campaign Review**" from the Compliance form [**here**](https://www.exoclick.com/contact/)


# How soon will you approve my campaigns?

ExoClick's Compliance team is available 24/7 for your convenience!

All elements of your campaigns are reviewed in chronological order and the speed is determined by the volume received at any given time.

Please be patient: we do our best to review them within **30 mins**, although at busier times of the day it may be a little longer.

{% hint style="info" %}
**Note:** We will not be able to process the following campaigns automatically:

* Those that are currently **Paused**, as they do not appear in the approval queue until you set them to "Running".
* Those that have been **Rejected** (unless they are Rejected for **Account Verification**, see below). Once you have corrected them, you will need to contact the Compliance team by selecting the "**Campaign Review**" from our [**contact form**](https://www.exoclick.com/contact/)
* When you are a **new** or **returning** advertiser. In these cases, additional verification checks are needed. During this process, your campaigns will be rejected for "Account Verification", but you don't have to provide any extra information (unless required by the Compliance team). Verification checks are normally done within **24hrs** and you will be informed once the process is completed.
* When your account has **no funds**. Once you have added funds, campaigns will automatically go into "Pending Approval".
  {% endhint %}


# Common issues


# Campaign Targeting Limitations

Our campaign set up system has certain limitations you take into account to make sure you can manage your campaigns correctly:

* Maximum number of **variations per campaign**: 50
* Maximum number of **Exchange variations per campaign**: 1
* Maximum number of **VAST Link variations per campaign**: 1
* Maximum length of **keyword term**: 50 characters
* Maximum amount of **keywords per campaign**: 500
* Maximum amount of **IPs per campaign**: 1000
* Maximum **domains targeted per campaign**: 2000
* Maximum **domains blocked per campaign**: 2000
* Maximum **amount of zones targeted/blocked per campaign** (with or without Bidder): 4000
* Maximum non-archived **campaigns per account**: 2500
* Maximum number of **Sub IDs per campaign:** 5000

Minimum and Maximum values for **daily & total** budget and impressions:

* Minimum **daily budget**: 20
* Maximum **daily budget**: 20,000
* Minimum **daily impressions**: 1000
* Maximum **daily impressions**: 2,000,000,000

Minimum and Maximum values for Total limits:

* Minimum **total budget**: 20
* Maximum **total budget**: 20,000,000
* Minimum **total impressions**: 1000
* Maximum **total impressions**: 2,000,000,000 &#x20;

We also have some limitations on bidding to ensure a fair competition between advertisers:

* Maximum bid for **all CPC campaigns**: 3
* Maximum CPM bid **Video, Push and Popunder formats**: 400
* Maximum CPM bid for all **other formats**: 50

Lastly, we also have a **weight** limit on the materials you upload to your campaigns:

| Asset                                             | Size Limit |
| ------------------------------------------------- | ---------- |
| Images                                            | 300 KB     |
| Video Banners and Native Video Thumbs             | 1536 KB    |
| Video campaigns (In-Stream, Slider and Outstream) | 51200 KB   |


# Mobile carrier traffic discrepancies

Identification of mobile carrier users (3G/4G) is a complex feature.

We use both our own and third-party databases of IP addresses to identify carriers, and it requires constant maintenance. Depending on the tool you are using, and how that tool is identifying users (IP addresses, ISP name…) you may see differences. For this reason we can not guarantee the accuracy of this identification.

If you require 100% accuracy, we suggest instead that you use your own IP address ranges, with the [IP Ranges targeting](/advertisers/campaigns/creating-a-campaign/create-campaign-step3#ip-ranges) option found in step 6 “Advanced settings” when creating/editing your campaign.


# Our statistics do not match yours

Several things could explain such a discrepancy:

* ExoClick counts raw impressions and passes them immediately, i.e. no filtering. The page visited does not need to load fully for the impression to be counted on our platform.
* If you use our tracking pixel, it counts 1 event per IP per 24 hours. So the same user, or users sharing the same IP address, will only be counted once.
* External report tools normally require the browser of the site visitor to process the page and load all the elements, which can take anywhere from a few seconds to maybe 30+ seconds, depending on how heavy the page is. This will impact the recording of the impression depending on the type of report you have and therefore tracked impressions may not be recorded.
* Note that a tool like Google Analytics, for example, counts sessions or visitors and not impressions.
* Approximately 30% of site visitors are using Adblock or “Private Mode” on their browser and this will impact many of the tracking tools being used today.
* Your reporting tool may be filtered in various ways. Please check if your filters are actually the cause of the discrepancy you are seeing.

### In summary

Different systems usually do not count the same things. ExoClick counts at an earlier step, and counts immediately. Whereas other tracking methods will be counted at a much later stage, which means it will not register the impressions in a lot of cases. Ad Blockers and Private Browsing usually will block those tracking methods and so they will not appear.

For anything else please [contact us](https://www.exoclick.com/contact/) with specific information and a copy of your report.


# How can I close my account?

ExoClick advertisers can request account closure anytime via [**this link.**](https://www.exoclick.com/contact/)

Any remaining balance will be refunded to the original payment method used for funding.

To help us enhance our services and platform, we would appreciate any feedback on your decision to close the account.


# Optimisation and performance


# Bidder restrictions

While Bidder offers many advantages in campaign optimization and cost management, it has certain **limitations** you should bear in mind so as to avoid unexpected campaign results. Please read the following clarifications carefully:

## Automatic Bidding Optimization can increase zone bids above your campaign bid

Depending on the performance from the zone you are receiving conversions from, Bidder can **significantly increase the bid you are using in this zone**. You could find your campaigns paying several times your original bid in specific zones. Because of this, please be very careful when determining the **Daily Budget** your Bidder campaigns will use. Should your zone bids scale up, your Daily Budget might not be respected.

## Zones can be re-enabled by Bidder

When you enable Automatic Bidding Optimization in a campaign, you let Bidder have control over your zone targeting. It might happen that you want to remove a zone from a campaign, but Bidder has already optimized the bid from this zone. In that case, you won't be able to remove the zone from targeting because Bidder will apply the optimized bid again.

In order to have this zone completely removed from your campaign, you must add the website to **Excluded domains**. Since Bidder doesn't have access to Domains targeting, you won't see this zone appear in your campaign settings again.


# Is there a list of sites?

Our featured sites are composed of the most frequently visited and high volume traffic sources on our network. You can see the list of these sources and the relevant ad spots available in our [Marketplace](/advertisers/marketplace).

The rest of the sites in our network are made up of thousands of active websites and there is no list available due to the ever increasing number we receive daily. Once you start running campaigns, you can see a complete listing of all the sites your campaign has reached in your [Statistics](/advertisers/advertiser-statistics).


# Optimising your campaigns

## What should I do first?

The first thing you should do is to set up **Conversions tracking** so that you can see how campaigns are performing. You can find the instructions [here](/advertisers/conversion-tracking/conversion-tracking). Even if you do not know the exact payout of each conversion, it is important just to find out how responsive your campaigns are and which zones you should focus on.

For advertisers who are just beginning, you should run your campaign for a few days (2-3 days, depending on the volume of traffic acquired) to gather sufficient data. Check your [ROI reports](https://www.investopedia.com/articles/basics/10/guide-to-calculating-roi.asp) regularly!

## Avoid banner blindness

Bear in mind that on-line advertising is extremely competitive and, as a result, innovative designs are the key to keep attracting site visitors to your advertising.

In order to engage with the traffic, make sure to add multiple creative materials to your campaigns so that your offer always looks fresh and original. Note that we offer various tools to measure the responsiveness of the variation, so [you can tweak your campaign to direct all the traffic to the best performing variation](/advertisers/campaigns/creating-a-campaign/create-campaign-step2#selecting-a-distribution-algorithm).

Despite this, your conversions might fluctuate and decrease later if you keep using the same variation. That's why it is important to come back to the campaign after a few weeks or months to rotate these variations and try new creatives so as to keep the audience hooked. Remember: **Half of the conversions come from the traffic, the other come from the marketing itself.**

## A/B testing

We mentioned variations, but it is also important to try different redirections, URLs and landing pages to see which funnel offers the best result. Some offers favour a more direct, seamless experience, while others can generate more conversions if you assess the user's interest first.

For the latter, consider whether a **pre-lander** might come in handy. A pre-lander can be something simple, like a medical article explaining the benefits or your product, or elaborate, like a questionnaire asking for the user's preferences before directing him/her to the appropriate dating site.

If you are not sure which option works best for you, try creating several landing pages and adding them in a **landing page group**. Note that you can select among [different algorithms](/advertisers/campaigns/offer-landing-pages#creating-a-landing-page-group) to distribute the traffic you buy across these different pages.

Tip: if you end up using pre-landers, consider adding a [tracking pixel](/advertisers/conversion-tracking/conversion-tracking#using-pixel-tracking) to each step of the pre-lander. This will give you additional details of the traffic and give you access to advanced targeting features, such as [re-targeting](/advertisers/campaigns/creating-a-campaign/create-campaign-step3#behavioural-retargeting)

## Setting the right bid

Your bid is fundamental in determining not only the amount of traffic you will receive, but also in the profitability of your campaigns.

If you have just started and you do not have a clear idea of what price settings you should use, the usual strategy is to start with a CPC campaign using the minimum bid price. This should give you enough traffic and data to start optimising (note that this does not apply to popunders as CPC is not available there)

If the traffic volume received is not enough, you can increase the bid gradually by steps of 10% until receiving the expected traffic volume. If you want to secure large traffic volume, then it is best to create a separate campaign in CPM/Smart CPM and **bid in top position**.

You can find a more detailed explanation of how to find out the right bid and budget [here](/advertisers/campaigns/creating-a-campaign/create-campaign-step4#learning-how-to-bid)

## Need more advice

If you want to have more information on how to properly optimise your campagin, please head to our [blog](https://www.exoclick.com/about-us/blog/), where you can find plenty of posts with tips on how to have good results. You can also find several [case studies](https://www.exoclick.com/category/case-study-advertiser/) about successful campaigns and what actions they did to achieve this.


# Site domain/zone targeting/ de-targeting

ExoClick offers various options to help you reach the preferred traffic sources. When browsing through the campaign settings, advertisers have 2 ways to whitelist/block sources:

## 1. Via Domains targeting (where you target the whole domain)

In Step 3: Targeting select the Domain section option works to target or de-target specific websites.

To target or de-target, simply write in this section the URL of the website e.g.

![](/files/23fbe5a56be7374a35d25925e7cce53532f8e14b)

{% hint style="info" %}
Make sure not to add the “https\://” part of the website.
{% endhint %}

{% hint style="info" %}
If you are using a tracking solution to find out which sites are providing traffic to you, you might receive “Site ID” data. You can use the “**Marketplace**” tab in the Admin Panel to find out the name of the site.
{% endhint %}

## 2. Via Zone targeting (where you target specific Zones within the website)

In Step 5: Sites & Zones of your campaign, on Target mode you can select Target / Block zones. If you write on the search bar the name of the website, the name of the ad zone or the zone ID, you will be able to "add" this ad zone from the list of targeted sites.

![](/files/65354c59f590ab2d2d16519e99784c17386eb860)

![](/files/b6ddff9a046786cb1d1558dc4aa803bf2fc8742b)

## Intersection theory

While it is possible to use both targeting features at the same time, it is important to understand how to combine both of them and avoid pausing your campaign unintentionally.

The system works with the [Intersection theory](https://en.wikipedia.org/wiki/Intersection_\(set_theory\)) for sites domains and zones settings when they are set are applied at the same time.\
Imagine them as filters:

* If in step 5, you select only 6 zones, the campaign will be shown **ONLY** on those 6 zones. (Based on the Zone ID)
* Additionally, if you set a domain in step 3, it will get traffic **ONLY** from those zones and domains that 3 & 5 have in **common**.
* All the targeting you set in the campaign settings acts as filters. Every time you add a targeting (browser, language...) you filter more and more.

Image this as the intersection of multiple circles:

![](/files/63a09ab6a3c81f97b21995061408c8f768d2e240)

The system does **NOT** give priority to any of the elements, the system applies all of them sequentially, turning the final outcome into an intersection of all the settings.

### What if zones/sites domains targeted in Steps 3 and 5 HAVE NO intersection?

Assuming all in target mode!:

* Sites domains - A, B and C
* zones - D.1 and D.2 (as in zones **NOT** belonging to any of the sites A, B and C, but instead to a site D)

Campaign **WILL NOT RECEIVE TRAFFIC** as there's literally no common ground on where to display the campaign - inconsistent / incorrect configuration of the campaign.

### What if zones/sites domains targeted in Steps 3 and 5 HAVE intersection?

However, if you have:

* Sites domains - A, B and C
* zones - A.1 and B.1 and D.1 (zones from sites A and B and D)

Then the campaign will receive traffic **ONLY** for sites **A and B IN zones A.1 and B.1 only.**

### What if instead of applying the include options are we excluding zones on step 5 and blocking sites domain in step 3?

In this case it's the other way around, it's accumulative.\
For instance, if in step 5, 20 zones are **excluded** and on step 3 40 site domains are **blocked**, the campaign will exclude all domains selected on Step 3 and all the zones selected on Step 5.

### Additional targeting example:

If you have sites domain targeted in step 3 and a single zone targeted in step 5 (belonging to one of the sites domains targeted on step 3) then you will receive traffic only from that specific zone as it is the only common element between Step 3 and Step 5.

To get traffic from all the Domains targeted in Step 3 and all Zones targeted in Step 5, you have the following options:

1. You can set in the step 5 the Target Mode to Exclude and Block ALL the zones except the one you want to receive traffic from
2. You can select in step 5 All the zones/sites that are targeted in step 3.


# Reportable regions

When accessing the **Country"** tab from your Statistics, you can click on a specific country to find out the **Regions** where traffic is coming from. However, this option is enabled only for the following countries:

* Argentina
* Australia
* Austria
* Bangladesh
* Belgium
* Brazil
* Canada
* Chile
* Czech Republic
* Denmark
* Finland
* France
* Georgia
* Germany
* Hong Kong
* India
* Italy
* Japan
* Malaysia
* Mexico
* Netherlands
* New Zealand
* Peru
* Poland
* Portugal
* Russia
* South Africa
* Spain
* Sri Lanka
* Sweden
* Thailand
* Ukraine
* United Kingdom
* United States

For all the other countries, you will see "Non Reportable" or "Unknown" regions.

These countries were deemed as the most important for our advertisers in regards to region targeting, so the other regions were removed to offer an improved experience while navigating through statistics.

Despite this, note that **country targeting** was not affected, so you can still target specific regions from all countries and receive traffic exclusively from the chosen regions.


# How can I test the postback URL in S2S Tracking?

## What should I do first? <a href="#what-should-i-do-first" id="what-should-i-do-first"></a>

Before starting, please consider the following prerequisites:

* To test the Postback URL, first, create a goal in the Conversion Tracking section. You can create the goal following the steps in our [documentation.](https://docs.exoclick.com/docs/conversion-tracking/#creating-a-conversion-goal)
* Then, in the campaign you want to track, ensure that the conversion tracking tag with its unique string is added. More information about this step [here](https://docs.exoclick.com/docs/conversion-tracking/#step-1-adding-the-conversions_tracking-token-to-your-campaign-url).

## Step-by-step instructions to replicate a postback URL call <a href="#step-by-step-instructions-to-replicate-a-postback-url-call" id="step-by-step-instructions-to-replicate-a-postback-url-call"></a>

**1- Access the Campaign and Use the Test Variation**

* Go to the campaign where you set up the tracking and select Test Variation next to the desired variation.

<figure><img src="/files/1myluhy4vYDNZixIyDbz" alt=""><figcaption></figcaption></figure>

* This action simulates what the end-user experiences when they click on the ad, leading to the offer’s URL.

**2- Locate the Conversion Tracking string**

* After clicking Test Variation, you'll be redirected to the landing page.
* Copy the conversion value from the URL or use a redirection tool like Redirect Path to view the URL and obtain the conversion value.

The conversion string typically looks like this:

```
ooddNHNPXHRbHNNU7TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gVml2YW11cyBub24gb2RpbyBtYXNzYS4gRG9uZWMgZGlnbmlzc2ltIGJsYW5kaXQgdmVsaXQgYXQgZWdlc3Rhcy4=
```

<figure><img src="/files/aLfdHbgwxIuT8DU68HXe" alt=""><figcaption></figcaption></figure>

**3- Insert the Conversion Value and Goal ID in the Postback URL**

* Replace *GOAL\_ID* with your goal ID and *XXXXXXXXXXX* with your conversion value.

```
http://s.magsrv.com/tag.php?goal=GOAL_ID&tag=XXXXXXXXXXX
```

**4- Test the Postback URL**

* Copy the full Postback URL (with values replaced) and paste it into the search bar of any web browser.
* You will receive a response, indicating if the Postback URL is working.

***

You can find more information on the responses and their explanations in our documentation: [Postback URL Responses](https://docs.exoclick.com/docs/conversion-tracking/#postback-url-responses)

***

<figure><img src="/files/zmqvdr2DIe73Av97mUpU" alt=""><figcaption></figcaption></figure>

**5- Check for Successful Conversion**

* If the response shows **OK**, the conversion was successfully recorded. You can verify this by going to your Admin Panel and checking your statistics. It may take a few moments to appear; simply refresh the page to check again.
* Once the conversion appears, your tracking setup is confirmed to work on ExoClick’s side. If you're using additional trackers, check their functionality as well, referring to your tracker’s support team for assistance.

**Need More Help?**

If you require further assistance, feel free to [contact us for support](https://www.exoclick.com/contact/).

<br>


# Smart Bid FAQs

{% hint style="info" %}
Smart Bid won't work unless you are tracking conversions. Make sure you are registering conversions of the goal you want to use in your campaign.
{% endhint %}

<details>

<summary>What initial CPM should I fill in?</summary>

This will depend primarily on the competitiveness of the campaign's targeting. An in-stream format will require a much higher CPM than a banner format, just as a campaign targeting the US will require a higher CPM than India. At the launch of a new campaign, the initial CPM is the equivalent of a Smart CPM campaign which will prevent you from overpaying the traffic.

**Tip:** Ideally, if you have a campaign with similar targeting, you can refer to it to set your initial CPM. Otherwise, we recommend you to start with a competitive CPM from the beginning, as the faster you get data, the sooner Smart Bid will efficiently optimize your campaign.

</details>

<details>

<summary>What if my campaign fails to meet my goal?</summary>

If your campaign does not reach its goal, here are different actions you can take to solve the problem:

1. **Give it time**. Smart Bid requires data to efficiently optimize your campaign.
2. **Your goal is too ambitious**; therefore review your Target CPA/ROAS goals.
3. **Your campaign targets many zones (e.g. native)**, so it will take longer to achieve significant data to reach the first level of zone-level optimization.
4. **Your campaign has a bid optimization configured to “Maximize Volume”** which is an optimization that is prioritizing volume and the exploration of new traffic segments over the target goal; consider switching to “Maximize Target CPA/ROAS” bid optimization. Note that this option will be available **only if your campaign has generated at least 30 conversions**.

If you already know your campaign will not perform well on certain targeting segments (e.g: if your offer is not compatible with Android Operating System), then adjust the targeting settings of your campaign to block it, so Smart Bid does not spend time in testing those segments.

</details>

<details>

<summary>Can I target one single zone?</summary>

Yes, it is possible to target a single zone. However, Smart Bid is most useful when your campaign is targeting multiple zones.

</details>

<details>

<summary>What is the required budget?</summary>

There is no minimum budget. However, Smart Bid requires data. So, an effective budget will depend on the value of the Target CPA or the conversion value for a Target ROAS campaign. The higher the value, the higher the budget you will need to achieve meaningful data. The targeting of your campaign will also affect the budget. A campaign targeting one single zone will require less budget than a campaign targeting thousands of zones.

**Tip**: PPL models are perfect for Smart Bid and limited budget. However, it is possible for advertisers promoting PPS offers with high conversion values to reduce their budget by setting a different goal that is part of the conversion funnel, like a form submission or an email input.

</details>

<details>

<summary>What is the difference between Bidder and Smart Bid?</summary>

These two features are designed to facilitate the management of advertiser campaigns. The Bidder is more of an automation tool, allowing advertisers to apply automatic campaign updates, based on certain metrics. And the “Automatic Bidding Optimization” feature proposed by the Bidder optimizes the campaign bids at the zone. Smart Bid however will optimize the bids of your campaign in real-time, based on the probability of conversion for a large number of data points.

</details>

<details>

<summary>Can I enable Smart Bid on an active Smart CPM campaign?</summary>

Yes, and it is even recommended. If your Smart CPM campaign already has conversion data, this will be used from the start by Smart Bid as soon as you switch to this Pricing Model.

</details>

<details>

<summary>How long will it take for my campaign to reach its goal?</summary>

The time will vary depending on the volume of conversions data and actual target goal. Typically, it takes around 30 conversions for Smart Bid to be able to start optimizing more efficiently. The higher the volume of conversions, the sooner Smart Bid will reach your goal.

</details>

<details>

<summary>OK, so I'm happy with the initial results of my Smart Bid Campaign. What should I do next to ensure I maximize volume?</summary>

* Make sure to use "Maximize Volume" Bid Optimization. That should be the most impactful action, as it will bid more aggressively on optimized segments and also test new segments more aggressively.
* Increasing the Initial CPM will ensure you get the most volume on segments being tested. It will also increase the chances of being the top bidder, which can have a positive impact on campaign performance.
* If you can increase the Target CPA/ROAS then you should. Similarly to Initial CPM, it will ensure you get the most volume, in this case on optimized segments. It will also increase the chances of being the top bidder, which can have a positive impact on campaign performance.
* If you hit your Daily Budget on the campaign or you are close to it, increase it. That's for any campaign, not just Smart Bid.
* Frequency Capping is a very important campaign setting with regards to volume. Especially for high frequency formats such as banners or native. Increasing Frequency Capping should definitely increase volume. However, CTR and CR should be monitored as higher Frequency Capping may result in lower campaign performance. That's for any campaign, not just Smart Bid.

</details>

<details>

<summary>I had an issue with my tracking solution and the conversions registered in ExoClick do not correspond to the real conversions I had. Will this affect Smart Bid? If yes, what should I do?</summary>

Conversion data in your account needs to be accurate in order to allow Smart Bid perform the appropriate optimizations. If the amount of conversions registered in your campaign does not match the real amount, then we recommend you to **modify your CPA/ROAS** so as to match the amount of conversions you are getting, at least until the issue with your tracker has been fixed.

</details>


# Dynamic Contextual Ads (DCA) Implementation Guide

## 1. Overview

Dynamic Contextual Ads allow you to:

* Serve **automatically adapting creatives**
* Based on **page context (tags, categories, intent)**
* Without using **cookies or user tracking**

Instead of running multiple niche campaigns:

👉 You run **one campaign** that adapts in real-time.

## 2. Core Concept (Simple Explanation)

You are **not uploading static banners**.

You are:

* Hosting **one dynamic creative endpoint**
* Receiving **contextual signals from ExoClick through** [**Dynamic Tokens**](/advertisers/campaigns/macros)
* Deciding dynamically:
  * Image
  * Headline
  * CTA
  * Landing page

👉 All at render time

**One-line summary:**

> “ExoClick sends context → you decide what to show → you track conversions back.”

## 3. How It Works (End-to-End Flow)

1. User visits a page (e.g. *Games, Casino, Celebrity*)
2. ExoClick detects contextual signals (tags/categories) through Dynamic Tokens
3. These are passed to your system via **URL parameters**
4. Your system selects:
   * Creative
   * Messaging
   * Landing page
5. Ad is rendered dynamically
6. User clicks → conversion tracked → optimisation begins

## 4. What ExoClick Sends You

You receive real-time parameters such as:

* `keywords` → **page context (CORE SIGNAL)**
* `zoneid` → placement
* `device` → mobile/desktop (only in Natives & Push Ads)
* `country` → geo
* `clickid` / `s1` → tracking

👉 These are passed via macros in your creative URL

## 5. What You Must Build (Your Side)

### 5.1 Dynamic Creative Endpoint

Example:

```
https://yourcdn.com/native/render
```

Must:

* Accept URL parameters
* Render instantly (critical)
* Support formats (300x250 / native / video)

Can be:

* iframe
* HTML/JS
* VAST (video)

### 5.2 Contextual Decision Engine (The Brain)

Your backend must:

* Read parameters (keywords, device, geo, etc.)
* Apply logic to decide what to show

Example logic:

```
IF keywords contains "games"
→ Show games creative + "Meet Local Players"

IF keywords contains "casino"
→ Show casino creative + tailored LP

dating keywords
→ Use short CTA + fast-loading LP
```

👉 Start simple (rule-based). No AI needed initially.

### 5.3 Creative Asset Library

You need:

* 10–20 images / GIFs / videos
* Multiple headlines & CTAs
* 2–3 landing pages minimum

Organised by:

* Tags / categories
* Device
* GEO
* Vertical (Games, Dating, AI, etc.)

### 5.4 Dynamic Landing Page

Your LP must:

* Capture parameters (`keywords`, `s1`, etc.)
* Adapt content dynamically

Examples:

* Games traffic → “Meet Local Players”
* Casino traffic → “Play Live Roulette”
* Celebrity traffic → "Get Celebrity Gossip"

👉 Ad → LP alignment is critical for conversion

### 5.5 Tracking & Attribution (MANDATORY)

You must implement:

* [S2S postback](/advertisers/conversion-tracking/conversion-tracking#using-conversion-tracking-api---s2s-recommended) or [pixel tracking](/advertisers/conversion-tracking/conversion-tracking#using-pixel-tracking)

**S2S Flow (recommended):**

1. ExoClick sends `{conversions_tracking}`
2. You store it
3. Conversion fires
4. You send postback

[Postback](/advertisers/conversion-tracking/conversion-tracking#calling-the-postback-url) example:

```
http://s.magsrv.com/tag.php?goal=GOAL_ID&tag=XXXXXXXXXXX
```

👉 Without this:

* No optimisation
* No Smart CPM learning
* Poor performance

## 6. Creative Integration (Example Tag)

```html
<iframe src="https://yourcdn.com/native/render?
keywords={tags}
&zone={zoneid}
&device={device}
&s1={conversions_tracking}"
width="300"
height="250">
</iframe>
```

Key parameter:

👉 `keywords={tags}` = **the most important signal**

## 7. Campaign Setup in ExoClick

### Recommended Setup:

* Format:
  * Native
  * Banner Formats
  * Video
  * PopUnder
  * Full Page Interstitial
* Pricing:
  * CPM or Smart CPM
* Targeting:
  * Contextual targeting ON
  * Start with **20–80 tags**

### Keyword Strategy

**Start with:**

* Positive tags:
  * games, casino, celebrity, etc.
* Negative tags:
  * crypto, news, dating

👉 Do NOT launch with 500+ tags

## 8. What Makes It “Dynamic” (vs Static Ads)

| **Static Ads**         | **Dynamic Contextual Ads** |
| ---------------------- | -------------------------- |
| Same banner everywhere | Changes per page           |
| One message            | Contextual messaging       |
| One LP                 | Adaptive LP                |
| No learning            | Optimises via tracking     |

👉 Result:

* Higher CTR
* Better CVR
* Stronger CPM efficiency

## 9. Minimum Viable Setup (Start Here)

If you want to launch fast:

* 1 dynamic creative endpoint
* 10–20 creatives
* 10 headlines
* 2–3 landing pages
* Simple keyword mapping
* Postback tracking

👉 That’s enough to get results.

## 10. Optimisation Strategy

Optimise by:

* Tag / keyword
* Creative variation
* Placement (`s1`)

### Scale:

* Increase bids on profitable tags
* Add new tags gradually
* Expand creatives

### Reduce waste:

* Pause bad tags
* Exclude weak placements
* Adjust bids

## 11. Troubleshooting

### Low Performance

**Cause:**

* Not using keywords properly

**Fix:**

* Implement real dynamic logic

### High Spend, Low ROI

**Cause:**

* Too broad targeting
* Poor creative match

**Fix:**

* Optimise by tag
* Cut weak niches

### Low Volume

**Fix:**

* Add more tags
* Reduce negatives

### CTR Drop

**Fix:**

* Refresh creatives (every 7–14 days)
* Recheck relevance

## 12. When to Use DCA

### Best for:

* Live Streaming
* Dating
* Video on Demand
* Product Specific Offers

### Not ideal if:

* Offer is too broad
* No dynamic setup
* Poor tracking

## 13. Reality Check

This is where most advertisers fail:

* If tracking is wrong → system breaks
* If creatives load slowly → performance dies
* If creatives aren’t refreshed → fatigue hits fast

👉 If you half-build this, it will underperform static ads.

## 14. Final Takeaways

* You control the logic, not ExoClick
* Context is useless unless you use it properly
* One campaign can scale across multiple niches
* Performance depends on:
  * Creative relevance
  * Tracking accuracy
  * Optimisation discipline


# Publishers Introduction

![publisherdashboard](/files/1e5a175f22d24063a1ea0c0ce53d4fc6c3e58dd8)

As a Publisher, the Admin Panel lets you manage the ad zones on your site(s) to ensure that they generate maximum revenue for your business. Using the **Sites & Zones** tab, you can administer the sites and zones that you offer to Advertisers, and view real-time insights into their performance in the **Dashboard** and **Statistics** tabs.

**Advantages of the Admin Panel for Publishers:**

* High earnings potential by matching the best performing Advertisers to your ad zones and our own [ad block](/publishers/adblock/neverblock) solution to keep those revenues flowing.
* Multiple [advertising formats](/exoclick-docs/ad-formats) allowing you to integrate specific ad zones that fit perfectly with the type of visitors you receive.
* Multiple [payment options](/publishers/payments/publisher-payments) allowing for flexible payment in many different formats.
* Real-time reporting which allows you to see your [statistics](/publishers/publisher-statistics) at any time for an up-to-date assessment of your site/ad-zone's performance.

**Tabs of the Admin Panel for Publishers:**

* The [Dashboard](/publishers/publisher-dashboard) shows you a real-time executive summary of key metrics that you can use to make sure you are maximizing your advertising revenue.
* The [Statistics](/publishers/publisher-statistics) tab shows you more detailed statistics than the **Dashboard**, so that you can really drill down into your data to guide your strategic planning or diagnose problems.
* The [Sites & Zones](/publishers/sites-and-zones/create-site) tab is where you can set up your domains, sites and ad zones to start receiving advertising revenue.
* The [Payments](/publishers/payments/publisher-payments) tab is where you monitor and manage the payments for your sites and ad zones.
* [Neverblock](/publishers/adblock/neverblock) is ExoClick' proprietary ad-blocker circumventing solution. It helps to maximize your revenues instantly. It ensures that your ads get shown, even if a user has ad-blocking software installed. Its improved script ensures that it is compatible with many ad blockers, not just ABP.


# Setting up your publisher account

We are happy you have considered ExoClick as a great way to generate revenue from your website(s)!

Start to receive earnings by following the steps below. On average it takes just 15 minutes!

{% stepper %}
{% step %}

## Sign Up

Sign up [**here**](https://www.exoclick.com/signup/) by selecting "**Publisher - I want to sell traffic**" at the bottom of the form.

![publisher-form](/files/dcdc68028629f92a18cdeaec5712f6d1c63edf97)
{% endstep %}

{% step %}

## Add your Website

Please check [**here**](/publishers/sites-and-zones/create-site) to find out how to submit your website (note that, depending on what type of site you submit, you will have to verify your ownership).

If you have multiple sites and you do not want to submit them one-by-one, please **contact our Compliance department**. You can do so by selecting "Website Validation" as the contact reason in [**our contact form**](https://www.exoclick.com/contact/).

Once your site has been submitted, it will be switched to "Pending" and it will be reviewed by our Compliance team.

![site-status](/files/d8345b50b92a741574e4754235aa1777a256c7f9)

You can find out more about how to get your site approved by following the recommendations from [**this page**](/publishers/publishers-faq/publisher-compliance/submitted-website-get-approved).

If your website becomes **rejected**, please check the [**rejection reason shown in the Admin Panel**](/publishers/publishers-faq/publisher-compliance/website-rejected-why). Once you have amended the issue affecting your site, please **contact our Compliance Department** using the "Website Review" reason from [**our contact form**](https://www.exoclick.com/contact/).
{% endstep %}

{% step %}

## Create your Ad zones

You can find out what ad formats we have available and how to create an ad zone [**here**](/publishers/sites-and-zones/create-zone)

**Note:** One account can have a maximum of **2500** active zones. There is no maximum number of archived zones.
{% endstep %}
{% endstepper %}

## Additional help

Don't forget to review the ExoClick's [**Blog**](https://www.exoclick.com/help/?token=/en-gb/category/5-publisher-faq-s) for other useful advice.

Should you have any problems or questions with setting up your Publisher account, please **contact our Customer Success team** by selecting the most relevant reason [**from our contact form**](https://www.exoclick.com/contact/).


# Publisher Dashboard

![dashboard](/files/4b6ed9b5a623149768e7d93c7bc42c022c552c5f)

## Overview of the Publisher Dashboard

When you are logged in as a Publisher, the **Dashboard** will show you key information to give you insight into how your ad zones are performing.

## Top Panels (A) and (B)

![dashboard](/files/a3cdc2c5fa464587e21ccacd6d05411b5e2383f9)

At the top of the Publisher Dashboard you can see the (A) **News Panel**, which shows any current news that may affect you. You can dismiss or hide the news by clicking on the **Dismiss** icon on the right of panel (A).

Below this in (B) you can see your revenue for **Today**, **This Month**, **Last Month**, and **This Month Forecast**. Click **View** to see the graph for the past **6 months**. The **Status** panel shows you the **Status** of your sites whether they are **Active** or **Inactive**.

**Active** is the default, **Inactive** means that your account has been suspended for inactivity, and **Closed** means that it has been permanently shut down.

{% hint style="info" %}
**Note**: In the following sections you will see descriptions of the default charts and tables that show on the Dashboard. However, you can customise the dashboard to show any charts and tables that meet your needs.
{% endhint %}

## Graphs (C), (D), (E), and (F)

![dashboard](/files/a49d7f8b35bbab906cd383238d910970aeae2e62)

In (C) you can choose to add new dashboards and customize each dashboard to your needs. Also, you can choose a time option **Today**, **Yesterday**, **Last 7 Days**, **Last 30 Days**, **This Month**, or **Last Month**.

You can read more about this section [here](/publishers/publisher-dashboard#adding-new-dashboards) in this document.

![dashboard](/files/f57b06022e39ae247e9ab77dff3d3c00d0ea31db)

Each of the three graphs in (D), (E), and (F) shows 2 lines, to enable you to compare how things have changed in the time period you selected in (C). The red/green line shows the later time, and the grey line shows the earlier time for comparison.

![graph](/files/26f4d09862df044bfec1ab8297866cc1174c7b12)

So, if you have chosen **This Month** in (C) any point on the red/green line will show you a date from this month, and the grey will show you the corresponding date from the previous month.

{% hint style="info" %}
**Note**: When you select **Today** in (C), the 2 line graphs will compare times in the current day, to the same time in the previous day.
{% endhint %}

{% hint style="info" %}
**Note**: When you select **Yesterday** in (C), the 2 line graphs will compare individual times in hours from yesterday to the same times in the day before that.
{% endhint %}

D. **Revenue**: This graph shows the total amount of revenue you have earned from your ad zones in the selected time period. The red/green line graph shows the total for the selected time period, while the grey line graph shows the period before that.

E. **Impressions**: This graph shows the total impressions your ad zones have received. The red/green line graph shows the total for the selected time period, while the grey line graph shows the period before that.

F. **Clicks**: This graph shows the total clicks your ad zones have received. The red/green line graph shows the total for the selected time period, while the grey line graph shows the period before that.

### Tables (G), (H), and (I)

![revenue](/files/9a2ef0ace9d91cfee2a5c640c573e2d4ef8dc5a1)

G. **Revenue / Zones**: This table shows your revenue from up to ten selected ad zones. The choice of ad zone is determined by the **Zone**, **Revenue**, **Change**, and **Diff** columns: When you click on one of these headers, the list is sorted by highest/lowest value, and the campaigns that display will change accordingly.

* **Revenue** shows the amount of money generated by the zone for the selected time period.
* **Change** shows the percentage change in revenue for the zone in the selected time period.
* **Diff** shows the difference in revenue for the zone in the selected time period.

H. **Impressions / Zones**: This table shows your impressions for up to ten selected ad zones. The choice of ad zone is determined by the **Zone**, **Impressions**, **Change**, and **Diff** columns: When you click on one of these headers, the list is sorted by highest/lowest value, and the campaigns that display will change accordingly.

* **Impressions** shows the amount of impressions on each zone for the selected time period.
* **Change** shows the percentage change in impressions for the zone in the selected time period.
* **Diff** shows the difference in impressions for the zone in the selected time period.

I. **Revenue / Country**: This table shows your revenue for up to ten selected countries. The choice of campaigns is determined by the **Country**, **Revenue**, **Change**, and **Diff** columns: When you click on one of these headers, the list is sorted by highest/lowest value, and the campaigns that display will change accordingly.

* **Revenue** shows the amount of money generated for the country for the selected time period.
* **Change** shows the percentage change in revenue for that country in the selected time period.
* **Diff** shows the difference in revenue for the country in the selected time period.

### Action icons in the tables

![screenshot](/files/ef886898b3dd69e9b7969ffefafe585ca27a0b89)

If you roll over any site or zone name in the table, two icons will appear on the right side of the table: **Edit** and **Statistics**.

* Clicking on the **Edit** icon will take you to into the **New Site** or **New Zone** screen, so that you can edit the details for that site or zone.
* Clicking on the **Statistics** icon will take you into the **Statistics** tab, filtered for that site or zone.

## Customizing your Dashboard

![dashboard](/files/3b8ee18d3a56f13e9b87d47a6f9f1471360e5d36)

It's also possible to customize the data shown in your **Dashboard**. You can choose from a selection of metrics and dimensions to show in the 9 slots of your **Dashboard**. This can help you to focus your dashboard on the particular data that is most relevant to your business.

In the top right of each of the 9 slots, click on the settings icon to customize the data shown in any of the panels. The **Dashboard Settings** pop up will appear. Here you can set what metrics you wish to see in the tab:

Set whether you wish to see a **Chart** or a **Table** using the tabs.

### Adding a Custom Title

Publishers can save a Custom Title for each large widget in the dashboard. This Custom Title field is optional. You can add a Custom Title that best suits that Widgets settings.

### Creating a chart

If you choose **Chart** you can then select whether to show a **Line** chart, or **Pie** Chart:

* **Combo**: Select a **Metric** to show on a bar chart, with a **Secondary Metric** to show on a line chart.
* **Line**: Select a **Metric** to show on the line graph. This will show two lines, one for the selected time period e.g. days, and a red/green line for the corresponding time period before that.
* **Pie**: Select a **Metric** to compare with a **Dimension** from the drop-downs.

You will see a preview of your chart on the right side of the **Dashboard Settings** box.

Click **Apply** to show this chart on your Dashboard.

### Creating a table

If you choose **Table**, select a **Metric** to compare with a **Dimension** in the table.

After selecting the metric and dimension, click **Update Preview** to see the result on the right side of the **Dashboard Settings** box.

Click **Apply** to show this table on your Dashboard.

### Adding and deleting widgets on your dashboard

![delete-widget](/files/ecc40dee2ad5b0a89e09d9cde4b61c271435e750)

You can delete any of the six charts/tables on you dashboard by clicking the delete icon on the top right of any of them.

Once a widget has been deleted, you can add a completely new one by clicking on the **New Widget** button. You can then set up the chart/table to meet your needs.

![add-widget](/files/1effa2c0f24e0feacc534ea870ca5410ae16b792)

### Filtering your tables or charts

![filter widget](/files/3a0dc972abf4d8cb791e7885bc3e4c0dc3f4f79a)

You can also add a filter to any charts or tables you create on your dashboard. For example, you could create a **Line** graph showing CPC price, and then filter it by **Browsers**.

To do this, click the **+Add Filter** button at the bottom of the **Dashboard Settings** panel, and select a filter from the list:

* When you choose a filter, you can then choose which items you wish to filter by: For example, if you choose to filter by **Browsers**, you can then use the checkboxes to choose which browsers to filter by.
* Use the **Show selected only** checkbox to exclude the items that you haven't selected, and choose **Select All** to select all items.
* You can add multiple filters by clicking on the **Add Filter** button again.

Once you have added the filters you require, click on the **Update Preview** button on the chart or table to see how it looks.

Once a widget has had a filter applied, you will see a **Filter applied** symbol on the left side of it:

![filter widget](/files/4316cd2c8b32f3f97532218aacee866066483620)

**Available Filters for Publishers**

* Ad Block
* Browsers
* Carriers
* Categories
* Countries
* Device Types
* Devices
* Languages
* Operating Systems
* Regions
* Sites
* Sub IDs
* VR
* Zone Types
* Zones

## Adding New Dashboards

![dashboard](/files/e7b670d60c8b58a3570eb967c72cf58146864e0a)

As a Publisher, you can create multiple custom Dashboards. This way, you can setup each of your **Dashboard** with specific data that is most relevant to your business. This will allow you to organize multiple Dashboards and see at a glance the information that you need to know.

### Add New Dashboard

![dashboard](/files/c9a51a2ff723269a93058025c393b2de9327d9b3)

* Click on the **New Dashboard** button to add a new Dashboard.
* Click the **New Widget** button to add a widget, then update it with a table or chart and the metric that suits your needs.

![dashboard](/files/a9d37f6a11228043c26c2e4440e34f621de08b93)

### Rename a Dashboard

![dashboard](/files/14b3d7b116ecd586fbc72b78b43e4d834c804fe1)

* Click on the **Pencil** icon to rename a Dashboard.
* You can choose a name that best defines the information you choose to display on that Dashboard.
* Click on **APPLY** button for this name to be saved.

### Delete a Dashboard

![dashboard](/files/16304160d9635c14c6da5a424b4bf5850cb411f9)

* Click on the **Bin** icon to delete a Dashboard.
* Once you delete a Dashboard, you will not be able to undo this action.
* A Publisher can delete all dashboards if need be.

## Drag, Drop and Expand Dashboard

As a Publisher, you will be able to drag, drop or expand any widget within the Dashboard. This will enable you to easily change the position of widgets and/or expand them, such that your dashboards are highlighting the relevant data in the best way possible.

### Expand Dashboard Widgets

* The four corners are highlighted with expand icons.\
  ![dashboard](/files/8020c0f53ad0f179c3589b2d7c834cdb3b796751)
* The cursor changes to a four headed cursor anywhere on the widget where it can be expanded along any of it's four sides.\
  ![dashboard](/files/27592cab0b247e521711a2f9b301edf3f134e4c1)
* The cursor changes to a two headed cursor when hovering over the top/bottom or right/left borders of the widget respectively.
* Using your cursor you will be able to use the new features as you require.

### Drag and Drop Dashboard Widgets

* Using the cursor, you can change the position of any widget by dragging and dropping them from one place to another.
* A grid is shown in dotted lines in the background while moving a widget which acts as a template for you to know which spot is available.

{% hint style="info" %}
**Note**:

* The maximum number of widgets in any dashboard is 18.
* The maximum size of an expanded widget is 2x2.
* While resizing or drag and drop of a widget the neighboring widgets will automatically adjust/move to the next available space.
  {% endhint %}


# Publisher Statistics

![statistics](/files/1480a76fa62fb8ae5db87902863957a52916212d)

The **Statistics** tab shows you a wide range of information about the performance of your sites and ad zones. The **Graph Data** panel at the top of the screen shows you charts of data related to your campaigns, while the **Table Data** panel at the bottom shows you tables of important data for recent dates.

The information in the **Statistics** tab is broken down across several **groups** and **dimensions**. Data is displayed in **New York** time zone (EST or EDT). The only exception is the **Hour** dimension within **Dates**. In this breakdown, you can change the statistics time zone by selecting the corresponding country in the bottom right of the graph on this tab, choosing the corresponding time zone (if there are multiple), then clicking **Apply**:

Data is displayed in **New York** time zone (EST or EDT). The only tab where you use a different time zone is the **Hour** sub-tab within **Dates**. In this breakdown, you can change the statistics time zone by selecting the corresponding country in the bottom right of the graph on this tab, choosing the corresponding time zone (if there are multiple), then clicking "Apply":

![statistics](/files/0e4cd126c059b00422483bad41aadd714cc686ea)

{% hint style="info" %}
Hourly data is available up to the last 30 days of data.
{% endhint %}

## Dimensions Available

Below is the list of all dimensions available to publishers:

| **Group**                   | **Dimension Name**                           | **Values**                                                                                                                               |
| --------------------------- | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| **Dates**                   | **Year**,**Month**,**Week**,**Day**,**Hour** | Contains values broken down by different time measures.                                                                                  |
| **Sites & Zones**           | **Domains**                                  | Contains values for the publisher domains.                                                                                               |
|                             | **Site Types**                               | Contains values for Site Types.                                                                                                          |
|                             | **Sites**                                    | Contains values for Site names.                                                                                                          |
|                             | **Ad Zones**                                 | Contains values for Zone names and Zone IDs.                                                                                             |
|                             | **Multi-Format zone Details**                | Contains values for zones included within Multi-format settings.                                                                         |
| **Categories**              | **Categories**                               | Contains the Categories from the pages where the ad was shown.                                                                           |
| **Locations**               | **Countries**                                | Contains values for countries as per IP address.                                                                                         |
|                             | **Regions**                                  | Contains values for regions as per IP address.                                                                                           |
| **Devices**                 | **Device Type**                              | Contains values for device types such as Desktop, Mobile, Smart TV, Console, etc.                                                        |
|                             | **Devices**                                  | Contains values for devices in the format of device type and manufacturer name, such as Mobile-Iphone, Mobile-Samsung, Tablet-iPad, etc. |
| **Operating Systems**       |                                              | Contains values for the operating systems used on the devices where ads were requested.                                                  |
| **Languages**               |                                              | Contains values for the end users' languages.                                                                                            |
| **Browsers**                |                                              | Contains values for the end users' browsers.                                                                                             |
| **Carriers**                |                                              | Contains values for the end users' mobile carriers.                                                                                      |
| **Sub IDs**                 |                                              | Contains values for SubIDs numbers.                                                                                                      |
| **Ad Block**                |                                              | End users with or without AdBlock software enabled                                                                                       |
| **VR Users**                |                                              | End users who are requesting ads via VR.                                                                                                 |
| **Zone Types**              |                                              | Contains values for the Zone Types where the ad was shown.                                                                               |
| **Hour/Day Intervals**      | **Day of Week**                              | Contains values for the days of the week.                                                                                                |
|                             | **Hour of Day**                              | Contains values for the hours of the day.                                                                                                |
| **Traffic Type**            |                                              | Contains values for the categorization of the traffic based on the quality of the traffic: Free Content, Members Area, etc.              |
| **Age Verification Status** |                                              | Contains values indicating whether the user has verified their age or not                                                                |

## Adding filters and determining the Time Period of the data

![filter](/files/48e49b46ed314d3c0bd967e148c678e10f23c261)

You can add filters to your data for a more granular insight of your results. To filter the currently selected tab based on your desired segment, click on the **+ADD FILTER** button and select the item/s you wish to filter by.

You can also change the **Time Period** of your data. The statistics show the **Last 7 Days** by default, but you can choose a different period by clicking on the calendar icon to the left of the **+ADD FILTER** button. You can choose a date as far back as the last two years.

![calendar](/files/015e38b8a6394b6beb70a9e3d2ef9bc6981c64b9)

You can also drill-down into your data in the [**Table Data**](/publishers/publisher-statistics#the-table-data-panel) panel. If you click on a specific data row, that segment will be added as a filter to the existing selection of filters and will remain for all other Statistics tabs you navigate to.

Filters and Time Period can be reverted back to default by pressing the **Reset Filters** button.

### Filter settings

![exclude](/files/eed16f99450d8067882c844c8ecda2a79c787653)

When adding a filter, you can either **Include** or **Exclude** that filter.

When you choose to **Incude** a filter, you will limit the data to show only the segments that match the filter conditions. For instance, if you choose to Include Chrome Browser **and** Android OS, then you will only see the traffic that belongs to that specfic browser and OS.

If you choose to **Exclude** a filter, you will remove any data that matches any of the conditions you specify. For instance, if you choose to Exclude Chrome Browser and Android OS, then you won't see any traffic coming from that Browser **or** from that OS.

You can search for specific items within the chosen filter using the search bar. You can also select all available items within the filter by clicking the **Select All** checkbox. Lastly, you can review all your selected options by clicking the **Show Selected Ony** checkbox.

## Saving Custom Filter Set

![statistics](/files/d1b8c700b65491bf65f3c816f7eb11a2a6c6fe20)

Using the Save Report option, you can save filter sets on the statistics page, give this filter set a custom name, and choose from a list of previously saved filter sets.

### Saving a report

As a user, the default view of the statistics tab will not have any filters applied. You can either save a filter report by adding a few filters of your choice or choose from the list of already saved filters to obtain the desired view.

{% hint style="info" %}

* The Statistics page will be reset once you leave to go to another page in Admin Panel.
* You can see the list of saved filters in the Saved Reports dropdown.
* The order of sorting the Saved reports will be the latest one created on top.
  {% endhint %}

### Update the existing report or Save As a new report

![statistics](/files/1c5dcf2ebf67d2b5620779fbf8fbdf7988f9d332)

**Update**

* You can update an existing saved report by selecting it, changing the filters and then clicking on the Update button.
* The filter setting will be updated and saved under the chosen Saved Report.

**Save As**

* You can also save an existing filter set with another name by clicking on the Save As option.
* Or you can also Save As a new report by adding or removing a few filters from this set.

### Rename, Delete a Saved Reports

![statistics](/files/355365e2373436b4258feda681f7a9ce0da01719)

Using the action buttons against each saved report in the Saved Report drop-down, you can either edit or delete a report.

* The Pencil Icon helps rename a Saved Report. Note that no two reports can have the same name.
* The Bin icon helps delete a Saved Report. Note once a report it deleted, you cannot undo this action.

## The Graph Data Panel

![graph](/files/70d96ddd6675b391991102ed49e84e3cbd64df09)

For any of the tabs in the **Statistics** tab, you can choose what information you would like to see in the graphs in the top half of the screen:

All the groups in the Statistics tab allow you to view charts for any of the available metrics. The type of chart will vary depending on the group or dimension you have selected:

* In the **Dates** tab and in the **Hour/Day Intervals** tab, you can choose two metrics presented in two concurrent **line and bar graphs**.
* **Locations** will show you a **world map** where you can see your data broken down by country. You can zoom in and out of the map using the **+** and **-** buttons on the left.
* All other groups will show a single **pie chart**.

## The Table Data Panel

![table](/files/30571cfc1b5cc90c98e8fe74a486babb5b7ca7fa)

The **Table Data** panel shows the data in the **Graph Data** panel in tabular format. In the **Show X entries** drop-down in the top right of the **Table Data** panel, you can choose how many lines of data you wish to see in the table. You can also click the arrows beside any of the column headers and sort the data from lowest to highest value.

By default, the **Table Data** panel only contains the **General** panel. However, you can add the **Video**, **Push Notifications** and **RTB** panels to the right of the General panel through the [Toggle Options](/publishers/publisher-statistics#toggle-options).

### The General Panel

![general panel](/files/5b2e0b40eb9a61e9654392e2f9c1e38d70454a5c)

The General Panel displays the following metrics:

| **Metric**              | **Description**                                                            |
| ----------------------- | -------------------------------------------------------------------------- |
| Impressions             | Number of ad impressions                                                   |
| Total Impressions       | Sum of regular and video impressions                                       |
| Impression Distribution | The proportion of Total impressions this specific dimension corresponds to |
| Clicks                  | Number of ad clicks                                                        |
| CPM                     | Cost Per Mille                                                             |
| CPC                     | Cost Per Click                                                             |
| CTR                     | Click through rate                                                         |
| Revenue                 | Revenue achieved.                                                          |

### The Video Panel

![general panel](/files/2e0eee2b3ed3abb7a11f5f72d5d1a6fbeb9268a3)

The Video Panel displays the following metrics:

| **Metric**        | **Description**                                                                       |
| ----------------- | ------------------------------------------------------------------------------------- |
| Video Impressions | Number of video ad impressions                                                        |
| Views             | Number of video ad views (a video ad view happens after 10 seconds of video playback) |
| CPV               | Cost Per View                                                                         |
| Views Ratio       | Number of video views to the number of impressions                                    |

### The Push Notifications panel

![general panel](/files/d4b9d22bdae1836febbfc77b735c3f1ebb0cf3bd)

The Push Notification panel displays the following metrics

| **Metric** | **Description**                                                                        |
| ---------- | -------------------------------------------------------------------------------------- |
| Sent       | Number of push messages sent to users' devices.                                        |
| Subs.      | Number of users who accepted to receive Push Notifications                             |
| Unsubs.    | Number of users who have been removed and will not receive Push Notifications anymore. |

### The Real Time Bidding Panel

![rtb](/files/85f3e839935e356f3927350e5a0e89b7942ca0bd)

If you have Real Time Bidding enabled in your account, then you can enable the Real Time Bidding Panel in the statistics.

The Real Time Bidding panel displays the following metrics:

| **Metric**                     | **Description**                                                                              |
| ------------------------------ | -------------------------------------------------------------------------------------------- |
| Average Bid                    | Average bid registered for your queries.                                                     |
| Average Time                   | Average time taken between a request and response.                                           |
| Errors                         | Number of bid requests that did not go through the bidding process due to some errors.       |
| Errors Ratio                   | Percentage of bid requests with errors against the total number of queries.                  |
| No Bid                         | Number of bid requests that didn't return a bid.                                             |
| No Bid Ratio                   | Percentage of requests that did not make it to the bid, against the total number of queries. |
| Queries                        | Number of bid requests you sent.                                                             |
| Resp. Ratio                    | Percentage of bid responses out of the total number of bid requests.                         |
| Served Impressions             | Client-side-rendered impressions.                                                            |
| Served Impressions Ratio       | Served Impressions / Impressions.                                                            |
| Served Video Impressions       | Client-side-rendered video impressions. Always recorded.                                     |
| Served Video Impressions Ratio | Served Video Impressions / Video Impressions.                                                |
| Served Clicks                  | Client-side-rendered clicks. Always recorded.                                                |
| Served Clicks Ratio            | Served Clicks / Clicks.                                                                      |
| Success                        | Number of bid requests that were successful and received a response with no errors.          |
| Timeout                        | Number of requests that timed out                                                            |
| Timeout Ratio                  | Percentage of requests that have timed out against the total number of queries.              |
| Win                            | Number of bid requests that won the auction.                                                 |
| Win Ratio                      | Percentage of wins against the total number of queries.                                      |

{% hint style="info" %}

* If the Bid Response Ratio is 0%, this means you are sending requests but either advertisers are not bidding for them or there is an error in your requests. Check the No Bid ratio to find out if advertisers are interested in your traffic and check the Errors and Timeout Ratios to check whether there is something wrong with the integration.
* If you have a high Skipped ratio, then this means that your queries are being throttled to avoid server saturation. Usually, a high Skipped ratio happens after your initial queries (that is, when you started sending traffic through your zones) had a high amount of errors. If that is the case, please review your requests to fix any errors that might lead to this situation. If you need assistance to review this, please contact your account manager.
  {% endhint %}

## Toggle Options

![toggle](/files/c761d47e05b4bfe139e2f3862a9c049527af5ac1)

The Toggle Settings are found at the top right of the **Table Data** panel. You can use these settings to toggle on/off specific columns or panels from the **Table Data**.

### Downloading the data

![toggle](/files/02ae2e34de896ba9de0d08c2b083943fc724ac84)

You can click on the **Data** button next to the settings to download the data. You have 3 options:

* Choose **Download Visible Data** to download just the data that is visible in the table. This will download only the columns that you have chosen to see using the toggle settings for **General**, **Video**, **Conversions**, **Real Time Bidding** panels.
* Choose **Download All Data** to download all the available data. This will download everything regardless of what you have chosen to see in the table.
* Choose **Copy Visible Data** option to copy the data in your clipboard so that you can paste it elsewhere. This will copy only the columns that you have chosen to see using the toggle settings for **General**, **Video**, **Conversions**, **Real Time Bidding** panels.


# Sites & Zones

Sites and zones are the foundation of your publisher account — a site represents your website or app, while zones are the specific ad placements within it where ExoClick ads are served. This section covers how to add a site, create zones, and manage them, along with more advanced options like Sub IDs, tags, capping, native ad setup, and HTML events for fullpage interstitials.


# Adding a Site

To add a site, navigate to the **Sites & Zones** tab.

{% hint style="info" %}
One account can have a maximum of 200 active sites. There is no maximum number of archived sites.
{% endhint %}

## Entering the details for the site

Click the **New Site** button. You need to complete each field from the **New Site** box.

![csite1](/files/a5e062bf93f147448f7e76867ef4b9797835fcfa)

* **Name:** add name to the source of your traffic.
* **Description:** add a brief description. This will be displayed to advertisers.
* **Type:** determine the type of source you will be sending traffic from. Please be aware that choosing the wrong option may prevent you from receiving the correct advertising and could negatively impact the revenue potential:
  * **Website:** you send traffic from a website. This is the default option.
  * **Mobile App:** you send traffic from a mobile app.
  * **Network:** you send traffic from multiple sources: apps, websites, emails, etc.
  * **Email:** you send traffic from an email newsletter sent to your user database.
* **URL:** Add the website URL here, including `https` at the start. This is only required for **Website** and **Network**. If you selected **Network**, add here your **corporate URL**.
* **Category:** Select the category of your traffic. Ensure that the category selection matches the content of the submitted URL accurately. If you select the incorrect category, it may result in the site being rejected.

When you have entered the details, click **Create Site**.

## Site Validation

After clicking **Create Site**, if you set the type as **Website**, you will need to validate the ownership of the site in order to create ad zones. Follow the instructions on the pop-up that will appear:

![site verification](/files/aa09fd371789cb2c45a19099d04dd67c79fb25a1)


# Creating a Zone

To create an ad zone, click on the **Sites & Zones** tab, and then the **New Zone** button.

![czone1](/files/3bc45d33c8c714960b0c923431b95316c9fb9453)

When you click the **New Zone** button, you need to select the website(s) where the ad zone will be added. If there are multiple sites available, they will appear in a drop-down.

On the left side, you will see all the ad zone formats available. Select the one you wish to use and click **Next** at the bottom of the page.

![czone2](/files/7134a6dfc777ee69b62a069b6ccb5f2890110b5d)

{% hint style="info" %}
**Note:** There is a limit to how many active zones an account can have. There is no limit to the number of archived zones.
{% endhint %}

## Available settings per ad format

Once you click **Next**, you will need to fill in the details for the new ad zone. The options available will depend on which format you select.

### Banner

| Option                            | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                          | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Site**                          | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Category**                      | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Subcategory**                   | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Format**                        | Choose which format of banner you wish to use.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Border**                        | Choose a width for a border for the banner ad, from **No Border** to 5 pixels.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Ad Refresh**                    | Allows you to refresh the ad up to 10 times per unique user. Available only for **Asynchronous script**. Ad refresh can be configured at intervals of 30, 60, 90 and 120 seconds. **Ad refresh will only happen if the ad zone is visible**\|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Fallback HTML**                 | Switching on this option opens a few more options for your zone. **Floor CPM**: Here you can set a minimum price (floor) that the ad zone will accept for traffic. **Type**: A **Soft Floor** means that we will also run CPC campaigns that could have an average eCPM higher than your floor CPM, meaning that the floor is not 100% guaranteed. A **Hard Floor** means we will only run CPM and Smart CPM campaigns on this zone, meaning that the floor is 100% guaranteed. You can also click **+Add Tokens** to add dynamic tokens to the HTML, for items such as {country}, {sub} or {keyword}. A full list of tokens and how they work are listed in the table at the [bottom of this page](#adding-tokens-to-fallback). Note that the impressions/clicks from the Fallback code will not be registered in your Statistics. |
| **Alternative HTML tag**          | Paste the alternative HTML tag to show if the floor is not met.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **Responsive Display Ads**        | Switching on this option opens up banner zones to demand from Native Ad campaigns. These campaigns are then added to the bidding auction for these zones. The content from winning Native campaigns is then served to responsively display within the allocated banner zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Enable Ad Transparency Dialog** | Keep this option enabled to remain compliant with EU regulation. More information [**here**](/exoclick-docs/dsa)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Filter Ads**                    | In the **Block Ad Types** section you can block certain types of ads, or specific target audiences by simply clicking the types of ad or target audiences that you wish to block. In the **Block Specific Products** section, you can block certain adverts from your website(s). **Note**: When adding blocks you are also restricting revenue potential, so you are strongly advised only to block when necessary.                                                                                                                                                                                                                                                                                                                                                                                                                |

When you create your **Banner Zone HTML** tag, you can choose from two options:

* **Asynchronous Script (recommended)**
* **iFrame**

### Popunder

| Option                       | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                     | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **Site**                     | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Category**                 | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **Subcategory**              | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Capping**                  | Choose this option to enable capping (display frequency) for popunder.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Return URL**               | This is a secondary URL that the popunder can direct to, if it does not generate enough revenue.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Frequency** & **Every**    | Set how many popunders will be triggered within the specified time period.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Delay Between Executions** | Set a delay in the Popunders execution to prevent them from executing on the consecutive clicks in case there are multiple actions in the period. This can only be used when Frequency is more than 1.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Force Pop-Up**             | Choose this option to always show a popup instead of a popunder.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Fallback to Popup**        | If there are any difficulties showing a popunder (due to browser for example), choose this option to fallback to a popup.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **New Tab**                  | This option will make popunders appear in a tab instead of a window. This will not have any effect on browsers which already open popunders in a tab by default, such as Chrome.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Trigger Method**           | Set what action should cause the ad to occur: Clicking anywhere on the page, on links with a specific class (Google Compliant), only when clicking on a valid link, anywhere on the page, excluding specific classes, or clicking on Links, excluding specific classes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Chrome Enabled**           | Enabled: Popunders will be shown on all browsers. Disabled: popunders will not be shown on Chrome.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **Fallback URL**             | Switching on this option opens a few more options for your zone. **Floor CPM**: Here you can set a minimum price (floor) that the ad zone will accept for traffic. **Type**: A **Soft Floor** means that we will also run CPC campaigns that could have an average eCPM higher than your floor CPM, meaning that the floor is not 100% guaranteed. A **Hard Floor** means we will only run CPM and Smart CPM campaigns on this zone, meaning that the floor is 100% guaranteed. You can also click **+Add Tokens** to add dynamic tokens to the URL, for items such as {country}, {sub} or {keyword}. A full list of tokens and how they work are listed in the table at the [bottom of this page](/publishers/sites-and-zones/create-zone#adding-tokens-to-fallback). Note that the impressions from the Fallback URL will not be registered in your Statistics. |
| **Alternative URL**          | Paste the alternative URL tag to show if the floor is not met.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Filter Ads**               | In the **Block Ad Types** section you can block certain types of ads, or specific target audiences by simply clicking the types of ad or target audiences that you wish to block. In the **Block Specific Products** section, you can block certain adverts from your website(s). **Note**: When adding blocks you are also restricting revenue potential, so you are strongly advised only to block when necessary.                                                                                                                                                                                                                                                                                                                                                                                                                                              |

When you create your **Popunder Zone HTML** tag, you can choose from two options:

* **Inline + Remote Script (Recommended)**: This is the recommended format, as it enables popunders to continue working when ad blockers are installed.
* **Remote Script only**: A simpler, more limited version of the popunder code.
* **Popunder Redirect URL**: A link URL. If you choose this option, you are responsible for rendering the popunder ad.

### Instant Message

| Option                            | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                          | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Site**                          | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Category**                      | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Subcategory**                   | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Once closed, hide for**         | Set the length of time that the ad is hidden for once it is closed. Note that this setting applies on page sessions, meaning that if the user refreshes the page or moves to a different one, the ad will be shown again.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Ad Refresh**                    | Allows you to refresh the ad up to 10 times per unique user. Available only for **Asynchronous script**. Ad refresh can be configured at intervals of 30, 60, 90 and 120 seconds. **Ad refresh will only happen if the ad zone is visible**\|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Fallback HTML**                 | Switching on this option opens a few more options for your zone. **Floor CPM**: Here you can set a minimum price (floor) that the ad zone will accept for traffic. **Type**: A **Soft Floor** means that we will also run CPC campaigns that could have an average eCPM higher than your floor CPM, meaning that the floor is not 100% guaranteed. A **Hard Floor** means we will only run CPM and Smart CPM campaigns on this zone, meaning that the floor is 100% guaranteed. You can also click **+Add Tokens** to add dynamic tokens to the HTML, for items such as {country}, {sub} or {keyword}. A full list of tokens and how they work are listed in the table at the [bottom of this page](/publishers/sites-and-zones/create-zone#adding-tokens-to-fallback). Note that the impressions/clicks from the Fallback code will not be registered in your Statistics. |
| **Responsive Display Ads**        | Switching on this option opens up instant message zones to demand from Native Ad campaigns. These campaigns are then added to the bidding auction for these zones. The content from winning Native campaigns is then served to responsively display within the allocated instant message zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Enable Ad Transparency Dialog** | Keep this option enabled to remain compliant with EU regulation. More information [**here**](/exoclick-docs/dsa)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Alternative HTML tag**          | Paste the alternative HTML tag to show if the floor is not met.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Filter Ads**                    | In the **Block Ad Types** section you can block certain types of ads, or specific target audiences by simply clicking the types of ad or target audiences that you wish to block. In the **Block Specific Products** section, you can block certain adverts from your website(s). **Note**: When adding blocks you are also restricting revenue potential, so you are strongly advised only to block when necessary.                                                                                                                                                                                                                                                                                                                                                                                                                                                       |

### Sticky Banner

| Option                            | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                          | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Site**                          | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Category**                      | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Subcategory**                   | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Format**                        | Choose a format for the sticky banner.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Border**                        | Choose a width for a border for the banner ad, from **No Border** to 5 pixels.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Once closed, hide for**         | The length of time that the ad is hidden for once it is closed. Note that this setting applies on page sessions, meaning that if the user refreshes the page or moves to a different one, the ad will be shown again.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Sticky Vertical Position**      | The vertical position for the sticky banner.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Sticky Horizontal Position**    | The horizontal position for the sticky banner.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Ad Refresh**                    | Allows you to refresh the ad up to 10 times per unique user. Available only for **Asynchronous script**. Ad refresh can be configured at intervals of 30, 60, 90 and 120 seconds. **Ad refresh will only happen if the ad zone is visible**\|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Fallback HTML**                 | Switching on this option opens a few more options for your zone. **Floor CPM**: Here you can set a minimum price (floor) that the ad zone will accept for traffic. **Type**: A **Soft Floor** means that we will also run CPC campaigns that could have an average eCPM higher than your floor CPM, meaning that the floor is not 100% guaranteed. A **Hard Floor** means we will only run CPM and Smart CPM campaigns on this zone, meaning that the floor is 100% guaranteed. You can also click **+Add Tokens** to add dynamic tokens to the HTML, for items such as {country}, {sub} or {keyword}. A full list of tokens and how they work are listed in the table at the [bottom of this page](#adding-tokens-to-fallback). Note that the impressions/clicks from the Fallback code will not be registered in your Statistics. |
| **Alternative HTML tag**          | Paste the alternative HTML tag to show if the floor is not met.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **Responsive Display Ads**        | Switching on this option opens up instant message zones to demand from Native Ad campaigns. These campaigns are then added to the bidding auction for these zones. The content from winning Native campaigns is then served to responsively display within the allocated instant message zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Enable Ad Transparency Dialog** | Keep this option enabled to remain compliant with EU regulation. More information [**here**](/exoclick-docs/dsa)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Filter Ads**                    | In the **Block Ad Types** section you can block certain types of ads, or specific target audiences by simply clicking the types of ad or target audiences that you wish to block. In the **Block Specific Products** section, you can block certain adverts from your website(s). **Note**: When adding blocks you are also restricting revenue potential, so you are strongly advised only to block when necessary.                                                                                                                                                                                                                                                                                                                                                                                                                |

### Desktop Fullpage Interstitial

| Option                            | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                          | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Site**                          | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Category**                      | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Subcategory**                   | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Capping**                       | Choose this option to enable capping (display frequency) for Desktop Fullpage Interstitial.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Frequency**                     | In this section you set how often you wish the ad to appear. You can choose whether to do this based on **Clicks** or **Time** using the radio button.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Time**                          | If you choose **Time**, you can set how often the ad appears when a user is browing the site. Simply set the number of times it shows per minute or hour, by entering two numbers and choosing **Hours** or **Minutes** from the drop-down.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Clicks**                        | If you choose **Clicks**, you can set how many clicks it takes to show the ad for the first time, and how many clicks will make it appear every time after that. Type a number into the field following **1st time after** to set how many clicks cause the ad to appear. Then enter a number into the field following **then after every**, to set how many clicks cause the ad to repeat from then onwards.                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Trigger Method**                | Set what action should cause the ad to occur: Clicking anywhere on the page, on links with a specific class (Google Compliant), only when clicking on a valid link, anywhere on the page, excluding specific classes, or clicking on Links, excluding specific classes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Trigger Classes**               | Here you indicate the class name that HTML elements need to have to trigger an ad.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Browser Settings**              | Choose whether to show this format on **All** browsers, **Chrome only**, or **Non-Chrome Only**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Fallback HTML**                 | Switching on this option opens a few more options for your zone. **Floor CPM**: Here you can set a minimum price (floor) that the ad zone will accept for traffic. **Type**: A **Soft Floor** means that we will also run CPC campaigns that could have an average eCPM higher than your floor CPM, meaning that the floor is not 100% guaranteed. A **Hard Floor** means we will only run CPM and Smart CPM campaigns on this zone, meaning that the floor is 100% guaranteed. You can also click **+Add Tokens** to add dynamic tokens to the HTML, for items such as {country}, {sub} or {keyword}. A full list of tokens and how they work are listed in the table at the [bottom of this page](#adding-tokens-to-fallback). Note that the impressions/clicks from the Fallback code will not be registered in your Statistics. |
| **Alternative HTML tag**          | Paste the alternative HTML tag to show if the floor is not met.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **Responsive Display Ads**        | Switching on this option opens up instant message zones to demand from Native Ad campaigns. These campaigns are then added to the bidding auction for these zones. The content from winning Native campaigns is then served to responsively display within the allocated instant message zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Enable Ad Transparency Dialog** | Keep this option enabled to remain compliant with EU regulation. More information [**here**](/exoclick-docs/dsa)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Filter Ads**                    | In the **Block Ad Types** section you can block certain types of ads, or specific target audiences by simply clicking the types of ad or target audiences that you wish to block. In the **Block Specific Products** section, you can block certain adverts from your website(s). **Note**: When adding blocks you are also restricting revenue potential, so you are strongly advised only to block when necessary.                                                                                                                                                                                                                                                                                                                                                                                                                |

### In-Stream Video (VAST)

| Option                   | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                 | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Site**                 | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Category**             | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Subcategory**          | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **Frequency**            | Set how often you wish the ad to appear.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **Skip Button**          | Here you can set the number of seconds that elapse before the **Skip** button becomes active. The default is **Disabled**, but you can set with **No Delay** or **Custom Delay** in seconds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **VAST Version**         | Select the VAST Version. The default is **3.0**, but you can choose **4.3** if needed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **VAST Wrapper Support** | You can disable VAST Wrapper Support if your video player does not support third-party VAST tags (VAST Wrappers).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Fallback ads**         | Determines how many ads can a VAST tag put in queue. This ensures that an ad will be shown in case that the first campaign requested cannot be served for any reason. The default is **No fallback** and you can choose up to 4 ads in Fallback. Note that **your player must be compatible with Fallback ads** in order to be able to use this feature.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **Fallback URL**         | Switching on this option opens a few more options for your zone. **Floor CPM**: Here you can set a minimum price (floor) that the ad zone will accept for traffic. **Type**: A **Soft Floor** means that we will also run CPC campaigns that could have an average eCPM higher than your floor CPM, meaning that the floor is not 100% guaranteed. A **Hard Floor** means we will only run CPM and Smart CPM campaigns on this zone, meaning that the floor is 100% guaranteed. You can also click **+Add Tokens** to add dynamic tokens to the URL, for items such as {country}, {sub} or {keyword}. A full list of tokens and how they work are listed in the table at the [bottom of this page](#adding-tokens-to-fallback). Note that the video impressions/clicks from the Fallback URL will not be registered in your Statistics. |
| **Alternative URL**      | Paste the alternative URL tag to show if the floor is not met.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **Filter Ads**           | In the **Block Ad Types** section you can block certain types of ads, or specific target audiences by simply clicking the types of ad or target audiences that you wish to block. In the **Block Specific Products** section, you can block certain adverts from your website(s). **Note**: When adding blocks you are also restricting revenue potential, so you are strongly advised only to block when necessary.                                                                                                                                                                                                                                                                                                                                                                                                                    |

**Note:** See [VAST Tag](/publishers/vast/vast-tag) related documentation.

### In-Video Banner (VAST)

| Option                 | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**               | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **Site**               | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Category**           | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **Subcategory**        | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Format**             | Choose a format for the In-Video Banner.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **Vertical Alignment** | Choose whether to put the banner at the top, middle or bottom.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Trigger Type**       | Select between Pre-Roll (at the start of the video), Pause (when the video is paused), Post roll (at the end of the video), or custom. If you select "Custom" as your trigger, you can decide precisely when in the video stream to show the advert. Choose between setting seconds or a percentage of the video before the ad appears.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **VAST Version**       | Select the VAST Version. The default is **3.0**, but you can choose **4.3** if needed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Show Ad**            | Choose whether to show ad until the video ends (unless closed by visitor) or hide it after a defined number of seconds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Fallback URL**       | Switching on this option opens a few more options for your zone. **Floor CPM**: Here you can set a minimum price (floor) that the ad zone will accept for traffic. **Type**: A **Soft Floor** means that we will also run CPC campaigns that could have an average eCPM higher than your floor CPM, meaning that the floor is not 100% guaranteed. A **Hard Floor** means we will only run CPM and Smart CPM campaigns on this zone, meaning that the floor is 100% guaranteed. You can also click **+Add Tokens** to add dynamic tokens to the URL, for items such as {country}, {sub} or {keyword}. A full list of tokens and how they work are listed in the table at the [bottom of this page](#adding-tokens-to-fallback). Note that the impressions/clicks from the Fallback URL will not be registered in your Statistics. |
| **Alternative URL**    | Paste the alternative URL tag to show if the floor is not met.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Filter Ads**         | In the **Block Ad Types** section you can block certain types of ads, or specific target audiences by simply clicking the types of ad or target audiences that you wish to block. In the **Block Specific Products** section, you can block certain adverts from your website(s). **Note**: When adding blocks you are also restricting revenue potential, so you are strongly advised only to block when necessary.                                                                                                                                                                                                                                                                                                                                                                                                              |

**Note:** See [VAST Tag](/publishers/vast/vast-tag) related documentation.

### Vertical Video (VAST)

| Option                   | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                 | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **Site**                 | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Category**             | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **Subcategory**          | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Frequency**            | Set how often you wish the ad to appear.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **Skip Button**          | Here you can set the number of seconds that elapse before the **Skip** button becomes active. The default is **Disabled**, or you can set with **No Delay** or **Custom Delay** in seconds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **VAST Version**         | Choose a VAST version. **3.0** is the default.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **VAST Wrapper Support** | You can disable VAST Wrapper Support if your video player does not support third-party VAST tags (VAST Wrappers).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **Fallback URL**         | Switching on this option opens a few more options for your zone. **Floor CPM**: Here you can set a minimum price (floor) that the ad zone will accept for traffic. **Type**: A **Soft Floor** means that we will also run CPC campaigns that could have an average eCPM higher than your floor CPM, meaning that the floor is not 100% guaranteed. A **Hard Floor** means we will only run CPM and Smart CPM campaigns on this zone, meaning that the floor is 100% guaranteed. You can also click **+Add Tokens** to add dynamic tokens to the URL, for items such as {country}, {sub} or {keyword}. A full list of tokens and how they work are listed in the table at the [bottom of this page](#adding-tokens-to-fallback). Note that the impressions/clicks from the Fallback URL will not be registered in your Statistics. |
| **Alternative URL**      | Paste the alternative URL tag to show if the floor is not met.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Filter Ads**           | In the **Block Ad Types** section you can block certain types of ads, or specific target audiences by simply clicking the types of ad or target audiences that you wish to block.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|                          | In the **Block Specific Products** section, you can block certain adverts from your website(s). **Note**: When adding blocks you are also restricting revenue potential, so you are strongly advised only to block when necessary.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |

***

**Note:** VMAP is not available on Vertical Video (VAST) zones. Reels/Shorts-style environments almost never support VMAP ingestion (ad breaks are platform- and player-controlled), so it is not part of this zone setup. See the [**VAST Tag**](/publishers/vast/vast-tag) documentation for integration details.

***

**Ad-serving eligibility:** A Vertical Video (VAST) zone receives bids only from campaigns targeting the **Vertical Video** ad format. If no eligible campaign is available, the VAST response behaves the same as existing Video (VAST) zones (e.g. no-fill or empty response, following existing conventions).

### Outstream Video

| Option                            | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                          | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Site**                          | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Category**                      | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Subcategory**                   | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Maximum Width**                 | Select **Responsive** to allow the ad to respond to the container size, or choose **Custom Width** and enter a custom width from 200 - 1080 pixels in the field that appears.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Once closed, hide for**         | Select how long ads will be hidden for once the user closes the ad. **Show on every page** (default) means that the ad will always show.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **Branding**                      | Use this switch to turn on/off the branding that appears on the ad.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **CTA Overlay**                   | Use this switch to turn on/off the call-to-action text that appears on the ad.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Fallback URL**                  | Switching on this option opens a few more options for your zone. **Floor CPM**: Here you can set a minimum price (floor) that the ad zone will accept for traffic. **Type**: A **Soft Floor** means that we will also run CPC campaigns that could have an average eCPM higher than your floor CPM, meaning that the floor is not 100% guaranteed. A **Hard Floor** means we will only run CPM and Smart CPM campaigns on this zone, meaning that the floor is 100% guaranteed. You can also click **+Add Tokens** to add dynamic tokens to the HTML, for items such as {country}, {sub} or {keyword}. A full list of tokens and how they work are listed in the table at the [bottom of this page](#adding-tokens-to-fallback). Note that the video impressions/clicks from the Fallback URL will not be registered in your Statistics. |
| **Alternative URL**               | Paste the alternative URL tag to show if the floor is not met.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Enable Ad Transparency Dialog** | Keep this option enabled to remain compliant with EU regulation. More information [**here**](/exoclick-docs/dsa)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |

{% hint style="warning" %}
**Important - Container Height:** When implementing Outstream Video zones, select an automatic responsive width that fits 100% of the container on your site. If you choose a **Custom Width** size, **do not apply any restriction to the container's height**. The video ad height must be adjusted automatically based on the width to maintain the correct aspect ratio. Restricting the height will negatively impact viewability and user experience.
{% endhint %}

For additional best practices and optimization tips, see our [Outstream Video Publisher Do's and Don'ts guide](https://www.exoclick.com/wp-content/uploads/2021/03/Outstream-Video-Publisher-Dos-and-Donts.pdf).

#### Vertical Video (VAST) <a href="#vertical-video-vast" id="vertical-video-vast"></a>

| Option                   | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                 | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **Site**                 | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Category**             | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Subcategory**          | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Frequency**            | Set how often you wish the ad to appear.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Skip Button**          | Here you can set the number of seconds that elapse before the **Skip** button becomes active. The default is **Disabled**, or you can set with **No Delay** or **Custom Delay** in seconds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **VAST Version**         | Choose a VAST version. **3.0** is the default.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **VAST Wrapper Support** | You can disable VAST Wrapper Support if your video player does not support third-party VAST tags (VAST Wrappers).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Fallback URL**         | Switching on this option opens a few more options for your zone. **Floor CPM**: Here you can set a minimum price (floor) that the ad zone will accept for traffic. **Type**: A **Soft Floor** means that we will also run CPC campaigns that could have an average eCPM higher than your floor CPM, meaning that the floor is not 100% guaranteed. A **Hard Floor** means we will only run CPM and Smart CPM campaigns on this zone, meaning that the floor is 100% guaranteed. You can also click **+Add Tokens** to add dynamic tokens to the HTML, for items such as {country}, {sub} or {keyword}. A full list of tokens and how they work are listed in the table at the [bottom of this page](/publishers/sites-and-zones/create-zone#adding-tokens-to-fallback). Note that the video impressions/clicks from the Fallback URL will not be registered in your Statistics. |
| **Alternative URL**      | Paste the alternative URL tag to show if the floor is not met.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Filter Ads**           | In the **Block Ad Types** section you can block certain types of ads, or specific target audiences by simply clicking the types of ad or target audiences that you wish to block.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|                          | In the **Block Specific Products** section, you can block certain adverts from your website(s). **Note**: When adding blocks you are also restricting revenue potential, so you are strongly advised only to block when necessary.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |

***

**Note:** VMAP is not available on Vertical Video (VAST) zones. Reels/Shorts-style environments almost never support VMAP ingestion (ad breaks are platform- and player-controlled), so it is not part of this zone setup. See the [**VAST Tag**](/publishers/vast/vast-tag) documentation for integration details.

***

**Ad-serving eligibility:** A Vertical Video (VAST) zone receives bids only from campaigns targeting the **Vertical Video** ad format. If no eligible campaign is available, the VAST response behaves the same as existing Video (VAST) zones (e.g. no-fill or empty response, following existing conventions).

### Video Slider

| Option                    | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                  | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Site**                  | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Category**              | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Subcategory**           | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Once closed, hide for** | Select how long ads will be hidden for once the user closes the ad. Note that this setting applies on page sessions, meaning that if the user refreshes the page or moves to a different one, the ad will be shown again.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **Close Button Delay**    | There you can set the number of seconds that elapse before the **Skip** button becomes active. The default is **No Delay**, or you can set a **Custom Delay** in seconds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **Maximum Density**       | This drop-down sets the maximum percentage of the screen that can be taken up by the ad zone. Choose a percentage between 20 and 30. This option ensures that the ad zone will display well on all screen sizes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Branding**              | Turning this on will show our networks branding on your ad.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **CTA Overlay**           | Use this switch to turn on/off the call-to-action text that appears on the ad.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Hide on Complete**      | If enabled, the video slider will close when it is finished. If disabled it will stay visible with a repeat button.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Fallback URL**          | Switching on this option opens a few more options for your zone. **Floor CPM**: Here you can set a minimum price (floor) that the ad zone will accept for traffic. **Type**: A **Soft Floor** means that we will also run CPC campaigns that could have an average eCPM higher than your floor CPM, meaning that the floor is not 100% guaranteed. A **Hard Floor** means we will only run CPM and Smart CPM campaigns on this zone, meaning that the floor is 100% guaranteed. You can also click **+Add Tokens** to add dynamic tokens to the HTML, for items such as {country}, {sub} or {keyword}. A full list of tokens and how they work are listed in the table at the [bottom of this page](#adding-tokens-to-fallback). Note that the video impressions/clicks from the Fallback URL will not be registered in your Statistics. |
| **Alternative URL**       | Paste the alternative URL tag to show if the floor is not met.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Filter Ads**            | In the **Block Ad Types** section you can block certain types of ads, or specific target audiences by simply clicking the types of ad or target audiences that you wish to block. In the **Block Specific Products** section, you can block certain adverts from your website(s). **Note**: When adding blocks you are also restricting revenue potential, so you are strongly advised only to block when necessary.                                                                                                                                                                                                                                                                                                                                                                                                                     |

{% hint style="info" %}
**Note:** If you want to disable CTA, make sure to update your code on the site in order to apply the corresponding ad zone setting.
{% endhint %}

### Mobile Banner

| Option                            | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                          | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Site**                          | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Category**                      | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Subcategory**                   | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Format**                        | Choose a format for the Mobile Banner.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Ad Refresh**                    | Allows you to refresh the ad up to 10 times per unique user. Available only for **Asynchronous script**. Ad refresh can be configured at intervals of 30, 60, 90 and 120 seconds. **Ad refresh will only happen if the ad zone is visible**\|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Fallback HTML**                 | Switching on this option opens a few more options for your zone. **Floor CPM**: Here you can set a minimum price (floor) that the ad zone will accept for traffic. **Type**: A **Soft Floor** means that we will also run CPC campaigns that could have an average eCPM higher than your floor CPM, meaning that the floor is not 100% guaranteed. A **Hard Floor** means we will only run CPM and Smart CPM campaigns on this zone, meaning that the floor is 100% guaranteed. You can also click **+Add Tokens** to add dynamic tokens to the HTML, for items such as {country}, {sub} or {keyword}. A full list of tokens and how they work are listed in the table at the [bottom of this page](#adding-tokens-to-fallback). Note that the impressions/clicks from the Fallback code will not be registered in your Statistics. |
| **Alternative HTML tag**          | Paste the alternative HTML tag to show if the floor is not met.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **Responsive Display Ads**        | This option is available only for banner zones and Ad Servers where Responsive Display Ads are enabled. When activated, it allows banner zones to receive demand from Native Ad campaigns, which are then included in the bidding auction for those zones. The content from the winning Native campaign is served responsively within the allocated banner zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Enable Ad Transparency Dialog** | Keep this option enabled to remain compliant with EU regulation. More information [**here**](/exoclick-docs/dsa)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Filter Ads**                    | In the **Block Ad Types** section you can block certain types of ads, or specific target audiences by simply clicking the types of ad or target audiences that you wish to block. In the **Block Specific Products** section, you can block certain adverts from your website(s). **Note**: When adding blocks you are also restricting revenue potential, so you are strongly advised only to block when necessary.                                                                                                                                                                                                                                                                                                                                                                                                                |

On the **Your Zone HTML Tag** screen you can then choose the tag type which you wish to use:

* **Asynchronous Script (recommended)**
* **iFrame**

### Mobile Popunder

| Option                       | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                     | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Site**                     | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Category**                 | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **Subcategory**              | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Capping**                  | Choose this option to enable capping (display frequency) for popunder.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Return URL**               | This is a secondary URL that the popunder can direct to, if it does not generate enough revenue.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **Frequency** & **Every**    | Set how many popunders will be triggered within the specified time period.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Delay Between Executions** | Set a delay in the Popunders execution to prevent them from executing on the consecutive clicks in case there are multiple actions in the period. This can only be used when Frequency is more than 1.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Force Pop-Up**             | Choose this option to always show a popup instead of a popunder.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **Fallback to Popup**        | If there are any difficulties showing a popunder (due to browser for example), choose this option to fallback to a popup.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **New Tab**                  | This option will force the popunder to show in a new tab.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **Trigger Method**           | Set what action should cause the ad to occur: Clicking anywhere on the page, on links with a specific class (Google Compliant), only when clicking on a valid link, anywhere on the page, excluding specific classes, or clicking on Links, excluding specific classes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Fallback URL**             | Switching on this option opens a few more options for your zone. **Floor CPM**: Here you can set a minimum price (floor) that the ad zone will accept for traffic. **Type**: A **Soft Floor** means that we will also run CPC campaigns that could have an average eCPM higher than your floor CPM, meaning that the floor is not 100% guaranteed. A **Hard Floor** means we will only run CPM and Smart CPM campaigns on this zone, meaning that the floor is 100% guaranteed. You can also click **+Add Tokens** to add dynamic tokens to the URL, for items such as {country}, {sub} or {keyword}. A full list of tokens and how they work are listed in the table at the [bottom of this page](#adding-tokens-to-fallback). Note that the impressions/clicks from the Fallback code will not be registered in your Statistics. |
| **Alternative URL**          | Paste the alternative URL tag to show if the floor is not met.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **Filter Ads**               | In the **Block Ad Types** section you can block certain types of ads, or specific target audiences by simply clicking the types of ad or target audiences that you wish to block. In the **Block Specific Products** section, you can block certain adverts from your website(s). **Note**: When adding blocks you are also restricting revenue potential, so you are strongly advised only to block when necessary.                                                                                                                                                                                                                                                                                                                                                                                                               |

When you create your **Popunder Zone HTML** tag, you can choose from two options:

* **Inline + Remote Script (Recommended)**: This is the recommended format, as it enables popunders to continue working when ad blockers are installed.
* **Remote Script only**: A simpler, more limited version of the popunder code.
* **Popunder redirect URL**: A link URL. If you choose this option, you are responsible for rendering the popunder ad.

### Mobile Instant Message

| Option                            | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                          | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Site**                          | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Category**                      | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Subcategory**                   | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Once closed, hide for**         | Set the amount of time that the ad is hidden for once the user closes it. Note that this setting applies on page sessions, meaning that if the user refreshes the page or moves to a different one, the ad will be shown again.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **User Capping**                  | Here you can set a limit to how many times a single user will see this zone, to avoid annoying them.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **Ad Refresh**                    | Allows you to refresh the ad up to 10 times per unique user. Available only for **Asynchronous script**. Ad refresh can be configured at intervals of 30, 60, 90 and 120 seconds. **Ad refresh will only happen if the ad zone is visible**\|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Fallback HTML**                 | Switching on this option opens a few more options for your zone. **Floor CPM**: Here you can set a minimum price (floor) that the ad zone will accept for traffic. **Type**: A **Soft Floor** means that we will also run CPC campaigns that could have an average eCPM higher than your floor CPM, meaning that the floor is not 100% guaranteed. A **Hard Floor** means we will only run CPM and Smart CPM campaigns on this zone, meaning that the floor is 100% guaranteed. You can also click **+Add Tokens** to add dynamic tokens to the HTML, for items such as {country}, {sub} or {keyword}. A full list of tokens and how they work are listed in the table at the [bottom of this page](#adding-tokens-to-fallback). Note that the impressions/clicks from the Fallback code will not be registered in your Statistics. |
| **Alternative HTML tag**          | Paste the alternative HTML tag to show if the floor is not met.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **Responsive Display Ads**        | Switching on this option opens up banner zones to demand from Native Ad campaigns. These campaigns are then added to the bidding auction for these zones. The content from winning Native campaigns is then served to responsively display within the allocated banner zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Enable Ad Transparency Dialog** | Keep this option enabled to remain compliant with EU regulation. More information [**here**](/exoclick-docs/dsa)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Filter Ads**                    | In the **Block Ad Types** section you can block certain types of ads, or specific target audiences by simply clicking the types of ad or target audiences that you wish to block. In the **Block Specific Products** section, you can block certain adverts from your website(s). **Note**: When adding blocks you are also restricting revenue potential, so you are strongly advised only to block when necessary.                                                                                                                                                                                                                                                                                                                                                                                                                |

### Mobile Fullpage Interstitial

| Option                            | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                          | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Site**                          | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Category**                      | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Subcategory**                   | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Capping**                       | Choose this option to enable capping (display frequency) for Mobile Fullpage Interstitial.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **Frequency**                     | In this section you set how often you wish the ad to appear. You can choose whether to do this based on **Clicks** or **Time** using the radio button.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Time**                          | If you choose **Time**, you can set how often the ad appears when a user is browing the site. Simply set the number of times it shows per minute or hour, by entering two numbers and choosing **Hours** or **Minutes** from the drop-down.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **Clicks**                        | If you choose **Clicks**, you can set how many clicks it takes to show the ad for the first time, and how many clicks will make it appear every time after that. Type a number into the field following **1st time after** to set how many clicks cause the ad to appear. Then enter a number into the field following **then after every**, to set how many clicks cause the ad to repeat from then onwards.                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Trigger Method**                | Set what action should cause the ad to occur: Clicking anywhere on the page, on links with a specific class (Google Compliant), only when clicking on a valid link, anywhere on the page, excluding specific classes, or clicking on Links, excluding specific classes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Trigger Classes**               | Here you indicate the class name that HTML elements need to have to trigger an ad.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Browser Settings**              | Choose whether to show this format on **All** browsers, **Chrome only**, or **Non-Chrome Only**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Fallback HTML**                 | Switching on this option opens a few more options for your zone. **Floor CPM**: Here you can set a minimum price (floor) that the ad zone will accept for traffic. **Type**: A **Soft Floor** means that we will also run CPC campaigns that could have an average eCPM higher than your floor CPM, meaning that the floor is not 100% guaranteed. A **Hard Floor** means we will only run CPM and Smart CPM campaigns on this zone, meaning that the floor is 100% guaranteed. You can also click **+Add Tokens** to add dynamic tokens to the HTML, for items such as {country}, {sub} or {keyword}. A full list of tokens and how they work are listed in the table at the [bottom of this page](#adding-tokens-to-fallback). Note that the impressions/clicks from the Fallback code will not be registered in your Statistics. |
| **Alternative HTML tag**          | Paste the alternative HTML tag to show if the floor is not met.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **Responsive Display Ads**        | Switching on this option opens up banner zones to demand from Native Ad campaigns. These campaigns are then added to the bidding auction for these zones. The content from winning Native campaigns is then served to responsively display within the allocated banner zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Enable Ad Transparency Dialog** | Keep this option enabled to remain compliant with EU regulation. More information [**here**](/exoclick-docs/dsa)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Filter Ads**                    | In the **Block Ad Types** section you can block certain types of ads, or specific target audiences by simply clicking the types of ad or target audiences that you wish to block. In the **Block Specific Products** section, you can block certain adverts from your website(s). **Note**: When adding blocks you are also restricting revenue potential, so you are strongly advised only to block when necessary.                                                                                                                                                                                                                                                                                                                                                                                                                |

### Recommendation Widget

| Option                            | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                          | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Site**                          | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Category**                      | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Subcategory**                   | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Ad Refresh**                    | Allows you to refresh the ad up to 10 times per unique user. Available only for **Asynchronous script**. Ad refresh can be configured at intervals of 30, 60, 90 and 120 seconds. **Ad refresh will only happen if the ad zone is visible**\|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Video Thumb**                   | Enabling this option will show a video preview on touch/hover of the ad when available.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Fallback HTML**                 | Switching on this option opens a few more options for your zone. **Floor CPM**: Here you can set a minimum price (floor) that the ad zone will accept for traffic. **Type**: A **Soft Floor** means that we will also run CPC campaigns that could have an average eCPM higher than your floor CPM, meaning that the floor is not 100% guaranteed. A **Hard Floor** means we will only run CPM and Smart CPM campaigns on this zone, meaning that the floor is 100% guaranteed. You can also click **+Add Tokens** to add dynamic tokens to the HTML, for items such as {country}, {sub} or {keyword}. A full list of tokens and how they work are listed in the table at the [bottom of this page](#adding-tokens-to-fallback). Note that the impressions/clicks from the Fallback code will not be registered in your Statistics. |
| **Alternative HTML tag**          | Paste the alternative HTML tag to show if the floor is not met.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **Enable Ad Transparency Dialog** | Keep this option enabled to remain compliant with EU regulation. More information [**here**](/exoclick-docs/dsa)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Filter Ads**                    | In the **Block Ad Types** section you can block certain types of ads, or specific target audiences by simply clicking the types of ad or target audiences that you wish to block. In the **Block Specific Products** section, you can block certain adverts from your website(s). **Note**: When adding blocks you are also restricting revenue potential, so you are strongly advised only to block when necessary.                                                                                                                                                                                                                                                                                                                                                                                                                |

### Push Notifications

| Option                                   | Explanation                                                                                                                                                                                                                                                                                                                                                                                                          |
| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                                 | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                        |
| **Site**                                 | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                         |
| **Category**                             | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                   |
| **Subcategory**                          | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                |
| **Push Notification Integration Method** | Choose from Direct or Hosted. Direct Push Notifications will be sent from YOUR domain. Hosted Push Notifications will be sent from OUR domain.                                                                                                                                                                                                                                                                       |
| **Soft-Ask Prompt**                      | Enable the **Soft-Ask Prompt** switch to show soft prompts. If you choose to **Use Default**, the prompt will use the default one from the browser. If you choose **Enable Call to Action** you can then define the soft-ask prompt yourself.                                                                                                                                                                        |
| **Filter Ads**                           | In the **Block Ad Types** section you can block certain types of ads, or specific target audiences by simply clicking the types of ad or target audiences that you wish to block. In the **Block Specific Products** section, you can block certain adverts from your website(s). **Note**: When adding blocks you are also restricting revenue potential, so you are strongly advised only to block when necessary. |

### In-Page Push Notifications

| Option                                     | Explanation                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**                                   | Enter a name for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                        |
| **Site**                                   | Enter a name for the site the ad zone is on.                                                                                                                                                                                                                                                                                                                                                                         |
| **Category**                               | Choose a category for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                   |
| **Subcategory**                            | Choose a subcategory for the ad zone.                                                                                                                                                                                                                                                                                                                                                                                |
| **Vertical Position**                      | Choose whether to display the Push Notifications at the top, middle or bottom of the page.                                                                                                                                                                                                                                                                                                                           |
| **Horizontal Position**                    | Choose whether to display the Push Notifications at the right, center or left of the page.                                                                                                                                                                                                                                                                                                                           |
| **Delay for 1st Notification**             | Set the time delay in seconds for the 1st Push Notification to appear.                                                                                                                                                                                                                                                                                                                                               |
| **Max Number of Notifications on Page**    | Set the maximum number of Push Notifications to display on the page.                                                                                                                                                                                                                                                                                                                                                 |
| **Delay between 1st and 2nd notification** | Set the time delay in seconds between the 1st and 2nd Push Notifications displaying on the page.                                                                                                                                                                                                                                                                                                                     |
| **Once closed, hide for**                  | Set the amount of time that the Push Notification is hidden for once the user closes it. Note that this setting applies on page sessions, meaning that if the user refreshes the page or moves to a different one, the ad will be shown again.                                                                                                                                                                       |
| **User Session Capping**                   | Set a limit on how many times a single user will see Push Notifications display in a single session.                                                                                                                                                                                                                                                                                                                 |
| **Enable Ad Transparency Dialog**          | Keep this option enabled to remain compliant with EU regulation. More information [**here**](/exoclick-docs/dsa)                                                                                                                                                                                                                                                                                                     |
| **Filter Ads**                             | In the **Block Ad Types** section you can block certain types of ads, or specific target audiences by simply clicking the types of ad or target audiences that you wish to block. In the **Block Specific Products** section, you can block certain adverts from your website(s). **Note**: When adding blocks you are also restricting revenue potential, so you are strongly advised only to block when necessary. |

### Multi-Format

| Option   | Explanation                                |
| -------- | ------------------------------------------ |
| **Name** | Enter a name for the Multi-Format ad zone. |
| **Site** | Choose the site to create the ad zone on.  |

Regardless of the site you choose, you will see a list of **Banner** and **Recommendation Widget** ad zones that you've already created below. This list shows only the individual zones that are eligible to be used in your Multi-Format zone, meaning that you won't see all the zones from the site.

![Multi Ad Format](/files/97ac94f10a505cd19b9c05bae30696f237d43647)

**Adding zones to your Multi-Format zone**

![Multi Ad Format](/files/e6fe42121bb8e4858541ed5c91d97b4a47719cca)

To add zones to your Multi-Format ad zone, tick the box on the left side of them.

Once you’ve selected multiple zones, you are essentially setting these zones to compete against each other to show in the Multi-Format ad zone. **The zone that gets the highest eCPM is the one that will display**.

**Selecting the layout for your Multi-Format Zone**

![Multi Ad Format](/files/c7b030844596e0431f44926d484e0b4ae832204a)

Under the **Multi-Zone Layout** column, you can choose the layout of the **Banner** zones that will display in this Multi-Format:

* **Single Zone** will show the winning banner zone only once in the Multi-Format ad zone.
* **Horizontal X** will show the winning banner zone X times horizontally (side-to-side).
* **Vertical X** will show the winning banner zone X times vertically (on top of each other).

**Recommendation Widget** zones will always have the layout from its corresponding settings, which is why they show **N/A** in the Multi-Zone Layout column.

Below you will see some Multi-format setup examples

* **Example 1:**

  ![Multi Ad Format](/files/4b4167274f91cc6c4e59eb2bd42b13f4d1ecffbf)

  Three Banner zones competing against each other. The winning one will be displayed only once (Single Zone) and the one that displays will display only once as a Single Zone.
* **Example 2:**

  ![Multi Ad Format](/files/722fd32d46510e16d29c34bff19941e608a1e1a1)

  Same zones as before, but with different layouts. If ‘banner1’ wins, it will be displayed twice horizontally, whereas if ‘banner3’ wins, it will be displayed three times horizontally.
* **Example 3:**

  ![Multi Ad Format](/files/5dde401ef65303d6aca476e8c856d7d1b15a1104)

  In this case, a Recommendation Widget is competing against a Banner. If the Banner wins, it will be display the amount of times chosen under the Multi-Zone Layout drop-down. If the Recommendation Widget wins, it will just display once, based on the layout of the Widget settings.

**How Multi-Format ad zone bidding works**

![Multi Ad Format](/files/767bb97e41470640597790a8ddc2afe0631d9d35)

When you choose multiple zones to compete against each other, the zone that shows is the one that gets the highest eCPM price.

* In the case of **Recommendation Widget**, this eCPM price is the sum of the prices for each ad in the native widget.
* In the case of **Banners**, when a Multi-Zone layout is used, the eCPM price is the sum of the price for each ad zone in the Multi-Format ad zone. For instance, if you choose select **Horizontal x 3**, the eCPM price that wins is the sum of the eCPM price for each of the three ad zones that display.
* When a Banner ad zone using one of the Multi-Zone layout wins the bid to display in the Multi-Format ad zone, the ads that display will be the two, three or four ads with the highest eCPM price.

**Show Selected only**

![Multi Ad Format](/files/cc0df47d6bce2cd5d5d8601107ef40eb88f55883)

You can tick the **Show Selected** checkbox to display only the zones that are running in this Multi-Format.

**Additional notes on Multi-Format zones**

When creating a Multi-Format zone, we recommend thinking in advance whether this zone will be used in **Desktop** or **Mobile**. This is important because wide layouts, such as Horizontal x 3 or Recommendation Widgets with 3 x 1 grids, **can appear outside the mobile resolution**. Note that Multi-Format only takes into consideration the highest bidder of the competition regardless of the appearance of the ads in the device resolution, so you should consider either having separate zones per device or have a zone layout that will work in all environments.

Also note that, although [**Ad Refresh**](#banner) does not appear in the Multi-Format settings, it will still apply if all the zones within the Multi-Format have Ad Refresh enabled.

## Getting the ad zone code

Once you have filled in the details, click **Create**.

You will then see the code that you need to use on your site. Code should be placed into the 'body' tag of your site.

Once the code is implemented the traffic should start within a few minutes.

![czone6](/files/a0a1ba2872ad3824b2f49b1dc49bc622b3c53b2d)

We recommend adding the code **exactly as provided in the Admin Panel**. Any customizations or alterations in the code could prevent your ad zones from displaying ads correctly.

The following section offers a list of potential "safe" edits in case you need additional features in your code.

## Client Hints Meta Tag

Additionally, you have the option to add the Client Hints Meta Tag. This tag should be placed in the ‘head’ of the webpage where this zone is placed. The Client Hints Meta Tag, is required only once per page for each relevant Ad Serving Domain, which is highlighted for you in the implementation instructions.

![Client Hints Meta Tag](/files/2a4be34645b5891f5202ff582b1af46eefa334ed)

At times, the ad serving domain can change. The date of the last update is displayed under the tag. You should always ensure that the tags on your web pages are updated with the latest ad serving domain.

We recommend adding this tag to the section of the webpage as it ensures effective communication with the ad server using Client Hints. Client Hints allow the browser to selectively provide certain information about the device and environment, such as device type, browser name, version, and platform. By using Client Hints, publishers can enhance the accuracy of device detection, leading to better ad targeting and a more personalized user experience.

This approach directly addresses privacy concerns. Instead of exposing detailed user-agent strings, Client Hints offer a more privacy-conscious way to communicate essential information. As a result, advertisers and publishers can access just the necessary data to optimize ad delivery, without gathering excessive user information that may raise privacy issues. Thus, implementing this tag supports both effective ad serving and user privacy compliance.

## Optional code changes for enhanced ad zone performance

### Adding Tags/Keywords

In many cases your URL will not match a category precisely. In these cases, you can insert **"tags"** into the code in your ad zones to manually match them to the type of advertising you want.

For example, you could insert the tags 'games' and 'dating' into your ad zone code, to ensure that you receive this type of advertising.

![zone-keywords](/files/22dec35c5b0e1acf7620b8826bb34d73260f96b2)

{% hint style="info" %}
**Note:** It is highly recommended that each time you update your content, you adjust the keywords for the ad zone in order to continue receiving high demand for your contextual ad zones.
{% endhint %}

Find out more about adding tags [**here**](/publishers/sites-and-zones/using-tags).

### Adding Sub IDs

You can add **Sub IDs** to the ad zone code to segment the traffic even further, e.g: by traffic source.

This information will then be displayed in the **Statistics** tab, under the **Sub IDs** sub-tab.

![zone-subid](/files/2fd50922ed70b3fd8b919748830cf0a2a3aea347)

Find out more about using Sub IDs [**here**](/publishers/sites-and-zones/subids).

### Block Ad Types

![czone6](/files/eefbfb49be9e0466df679e5ca1c70cedc82ae4dc)

Checking this box will add a sample code snippet (**data-block-ad-types="ad-type"**) to your zone tag. You can use this to prevent certain kinds of ads from appearing in your ad zone. For instance, if you use data-block-ad-types="banners-video", you will block video banners from being displayed.

### Age Verification Status

![Age Verification Status](/files/dfd86a98cf421bd6671756d9d1c26262dafc46a4)

Checking this box will add a sample Age Verification Status **data-ex\_av="name"** to your zone tag. This helps advertisers target users based on age verification status.

For a practical example of how to use this feature, see our [**AgeGO guide**](/publishers/exoclick-agego).

### Adding multiple Zone IDs to the Asynchronous Script

When creating a zone that uses the asynchronous ad tag, such as a **Banner** or a **Native** zone, you can use this tag to ensure that zones are loaded on to the page asynchronously. This means that other content will be able to load while the ads are loading and also can be used to place multiple zones on the same page.

To use the script for a single zone, simply copy the code onto your site as usual.

```html
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script>

<ins class="eas6a97888e" data-zoneid="123456"></ins>

<script>
(AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

To use the script for multiple zones, copy the code onto your site and repeat the middle section for each zone you wish to put on the page. Replace the `data-zoneid` with the id for these existing zones (e.g. 111, 222, 333):

```html
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script>

<ins class="eas6a97888e" data-zoneid="111"></ins>
<ins class="eas6a97888e" data-zoneid="222"></ins>
<ins class="eas6a97888e" data-zoneid="333"></ins>  

<script>
(AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

### Callback Function for Asynchronous Scripts

We don't track visibility for our Asynchronous Tags out of the box at the moment. However, it is possible to create a callback function based on our ad snippet, like **lazyLoadAd** in the example below.

This function can then be used in a callback to display the ad when the visibility detection code triggers an event.

```html
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script>
<div id="banner1"></div>

<script>
    // Function to add individual ad to page at any time
    function lazyLoadAd() {
        let container = document.getElementById("banner1");
        container.innerHTML = "<ins class=\"eas6a97888e\" data-zoneid=\"12345\"></ins>";
        (AdProvider = window.AdProvider || []).push({"serve": {}});
    }

    //This visibility detection code is provided as an EXAMPLE and may be incompatible with some browsers.
    function respondToVisibility(element, callback) {
        let options = {
            root: null,
        };

        let observer = new IntersectionObserver((entries, observer) => {
            entries.forEach(entry => {
                callback(entry.intersectionRatio > 0, observer);
            });
        }, options);
        observer.observe(element);
    }

    let elementToObserve = document.getElementById("banner1");
    //This is supposed to check when banner1 div enters the current viewport
    respondToVisibility(
        elementToObserve,
        function (isVisible, observer) {
            if (isVisible) {
                lazyLoadAd(); // actual loading of ad called
                observer.unobserve(elementToObserve);
            }
        }
    );
</script>
```

### Adding Email Passing to Asynchronous Scripts

Asynchronous scripts support the `el` parameter, which returns the Base64-encoded email of the user, as in this example:

```json
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script>

<ins class="eas6a97888e" data-zoneid="1234567"></ins>

<script>
(AdProvider = window.AdProvider || []).push({"serve":  {"el": "dGVzdEBleGFkcy5jb20="}});
</script>
```

### Using Trigger Classes

![pub1](/files/6377888fac49bc7d05140456684b78bb28fde3c0)

Some ad formats require a **clickable element** in order to be triggered:

* Popunder/Mobile Popunder
* Desktop Fullpage Interstitial/Mobile Fullpage Interstitial

Triggers can be any clickable element or elements with specific classes. When choosing the right class to trigger, **make sure it does not interfere with any other advertising you may have on your site** (e.g: setting a Popunder to trigger in the same class as a player with an In-Stream ad). Doing so might prevent your clicks from being attributed to the corresponding ad or decrease the quality of your clicks.

### Desktop vs Mobile Popunder

You will see Desktop and Mobile Popunders as separate ad formats in the Admin Panel. However, they use the exact same ad zone code, meaning that **Mobile Popunder ad zones can trigger in Desktop and vice versa**.

If you want to deliver all your popunder traffic through one zone only, you can do so with either of the two popunder formats. However, if you want to offer separate device traffic, then please **make sure that each popunder zone has a separate trigger**, otherwise both popunder zones will trigger at the same time.

### Adding Display Notification Events for Fullpage Interstitials

Once you have created your zone, you can add an event listener to catch the event **‘creativeDisplayed’**. This event is suffixed with a zone id that is triggered when the ad is displayed to the user.

By adding an event listener to the event ‘creativeDisplayed’, you are able to **programmatically execute any action you may need on your website**, such as pause a playing video when the Fullpage Interstitial is being displayed to the user.

Find out more about adding Display Notification Events for Fullpage Interstitials [**here**](/publishers/sites-and-zones/dfi-mfi-html-events).

### Adding Tokens to Fallback

You can click **+Add Tokens** to add dynamic tokens to the fallback URL or HTML, for items such as {country}, {sub} or {keyword}.

**Available dynamic tokens**

| Token                | Explanation                                                                                                                                                                                                                                                                          |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **{category\_id}**   | The ID of the category detected.                                                                                                                                                                                                                                                     |
| **{country}**        | The 3-character country code of the visitor.                                                                                                                                                                                                                                         |
| **{email\_encoded}** | Used to insert the emails of logged-in users.                                                                                                                                                                                                                                        |
| **{format}**         | The ad format size. Example: 300×250.                                                                                                                                                                                                                                                |
| **{keyword}**        | The keyword that was matched in case of targeting specific keywords. This will be empty if there is no match.                                                                                                                                                                        |
| **{language}**       | The language of the visitor.                                                                                                                                                                                                                                                         |
| **{site\_id}**       | The ID number of the site where the ad is displayed.                                                                                                                                                                                                                                 |
| **{src\_hostname}**  | Your site name without HTTP protocol at the beginning (e.g. examplesite.com).                                                                                                                                                                                                        |
| **{sub}**            | Your Sub ID.                                                                                                                                                                                                                                                                         |
| **{tags}**           | The list of keywords that have been identified for that ad impression.                                                                                                                                                                                                               |
| **{time}**           | The timestamp, which is used as a cache buster.                                                                                                                                                                                                                                      |
| **{url}**            | The full URL of the site that you submitted to the Admin Panel for displaying ads (e.g. [https://examplesite.com](https://examplesite.com/)). **Note:** This token will not display the URL where the ad was displayed to the user; only the URL that is registered in our platform. |
| **{zone\_id}**       | The ID of the ad zone where the ad is displayed.                                                                                                                                                                                                                                     |

The following tokens are exclusive to **Native Ads**. Note that they can be used for display purposes only, meaning that **they will not be sent to any** `href` **or** `iframe src` **elements**.

| Token                  | Explanation                                       |
| ---------------------- | ------------------------------------------------- |
| **{browser}**          | The browser being used by the visitor.            |
| **{carrier}**          | The carrier to which the visitor is connected to. |
| **{city}**             | The city in which the visitor is in.              |
| **{country\_name}**    | The 3-character country code of the visitor.      |
| **{device}**           | The device which the visitor is using.            |
| **{language name}**    | The language of the visitor.                      |
| **{operating system}** | The operating system being used by the visitor.   |
| **{region}**           | The region in which the visitor is located in.    |

## Reasons why ads are not displayed in your ad zones

Once you have created your ad zone, it should start showing ads immediately. However, if you are not getting any ads, then please consider the following:

* Since our ads are geo-targeted, sometimes **there might not be any ads available to run** in the user-environment from where you are accessing your site. If possible, check from a different device/country or wait a few hours to see if new ads come into rotation.
* [**Rejected sites**](/publishers/publishers-faq/publisher-compliance/website-rejected-why) won't display any ads.
* Any **modifications** to the ad zone code could prevent the ad-serving script from working as expected. Note that certain 3rd-party scripts or plugins (such as [**Cloudflare's Rocket-load**](/publishers/publishers-faq/publisher-compliance/cloudflare-rocket-loader-avoid-issues)) You didn't implement the ad code correctly, or you modified it. Please check your source code to make sure you followed all the steps correctly.
* [Blocking **too many labels**](/publishers/publishers-faq/publisher-compliance/blocking-ad-types-and-products) under the **Filter Ads** section could reduce the amount of ads available to target your site. Here is an example:

![pub1](/files/0ede78bffe197b60b567ffb4ef6a9bca5977d684)

If your site is labeled as **Entertainment & Lifestyle** but you block all **lifestyle-related** product from the ad zone, then chances are your ad zone will always be blank.

If your ad zone is not displaying any ads for reasons other than the above, please reach out to **your account manager** or [**contact our Customer Success team**](https://www.exoclick.com/contact/).


# Sites & Zones

![sites-zones](/files/7e7bab100bd732c5baacb90d4252b71ad02e6017)

As a Publisher, you can create and manage all your sites and zones from the Sites & Zones tab.

## Columns in the Sites tab

![columns-sites](/files/aa327a278a17b6cee9f061722c2f6ae5d8d34cb1)

By default, the Sites tab will show the following columns:

* **Site Name**: The name of the site.
* **Site ID**: The ID number of the site.
* **URL**: The URL of the site.
* **Similarweb**: The site ranking.
* **Date Created**: The date the site was created.
* **Status**: The site status.
* **Type**: The type of the site.
* **Ownership Verification Status**: Shows whether the owner of the site is a verified user or not.
* **Compliance**: Shows whether the site is Verified, Not Verified or Rejected by Compliance.
* **Rejection Reason**: The reason for rejecting the site. More information about rejection reasons [**here**](/publishers/publishers-faq/publisher-compliance/website-rejected-why)

## Actions in the Sites tab

![actions-sites-tab](/files/e920661bf19631f492181a44c97a58243ceb3e31)

There are several action icons in the sites table list that allow you to perform various actions.

* **For Verified Sites**: Edit, Archive, Create New Zone
* **For Unverified Sites**: Edit, Delete, Verify
* **For Archived Sites**: Disabled edit, Restore, Disabled Add zone
* **For Compliance Unverified or Rejected**: Edit, Archive, New Zone

## Filtering the Sites tab

You can filter the sites list in several ways:

* **Compliance Status**: Filter by whether the site is Not Verified, Rejected or Verified
* **Date Created**: Filter by the date that the site was created.
* **Ownership Verification status**: Filter by whether the site is Not verified or Verified
* **Rejection Reason**: Filter by the site rejection reason, if the site is rejected due to a compliance audit.
* **Similarweb**: Filter by the rank range using the Minimum and Maximum fields.
* **Site**: Filter by the site name or site ID.
* **URL**: Filter by the URL of the site, if it has one.

When you have chosen your filtering options, click the **APPLY** button to the right of the filtering options. Click **RESET FILTERS** to start again.

## Searching the Sites list

![search-sites](/files/bf44c88a14f5f639d33552bf1e1d169e7e1d2fe2)

You can search the site list by Site Name or Site ID. Click **RESET FILTERS** to reset the search.

## Selecting which columns to show

![select-columns](/files/8f63770c0bb8cbb975ebeed47ca6ec596f913ce0)

You can select what columns to see in the site list tab by clicking General and choosing the columns you wish to show.

## Columns in the Zones tab

![zones-tab](/files/a5f4c020d47bc09853d03f4b755448281a86d2f6)

By default the Zones tab will show the following columns:

* **Site Name**: The name of the site.
* **Site ID**: The ID number of the site.
* **Zone Name**: The name of the zone.
* **Zone ID**: The ID number of the zone.
* **Zone Type**: Shows the type of ad zone.
* **Size**: The size of the ad zone
* **Status**: Shows whether the zone is Archived or not.
* **Blocked Ad Types**: The ad types blocked on the zone.
* **Blocked Products**: The products blocked on the zone.

## Filtering the Zones tab

![filter-zones](/files/173b70b8db8037339f231143efd8d329af4349fb)

You can filter the zones list in several ways:

* **Blocked Ad Types**: Filter by the ad types blocked on the zone.
* **Blocked Products**: Filter by the products blocked on the zone.
* **Site**: Filter by the site name or site ID.
* **Zone Type**: Filter by the type of ad zone.
* **Zones**: Filter by the zone name or zone ID.

## Actions in the Zones tab

![actions-zones](/files/af9f530b9e36ef4392c792b8eea336149dbd847d)

There are four action icons in the zones table list that allow you to perform various actions.

* **Editing a zone**: Click on the Edit icon will take you into the edit zone page.
* **Edit the HTML tag**: Clicking the icon will take you directly to the preview/edit page of the HTML tag of that zone.
* **Copying a zone**: You can easily create a copy of a zone, or copy and then edit that zone’s copy.
* **Archiving/Unarchiving a zone**: You can also archive and restore any zone.

## Searching the Zone list

![search-zone](/files/b69fbaaeaeae5fd7a3d7cfc3b3ccf3ba69cb8c18)

You can search the zone list by Zone Name or Zone ID. Click **RESET FILTERS** to reset the search.

## Drill down on the Sites table list

Clicking on any of the listed sites in the sites table this will take you into the Zones tab filtered by that site.


# Using Sub IDs

In addition to adding sites and ad zones, you can use **Sub IDs** to segment the traffic, such as by traffic source for example.

This information will then be displayed in the [**Statistics**](/publishers/publisher-statistics) tab, in the **Sub IDs** sub-tab.

## Putting Sub IDs into your ad zone code

Once you have clicked on **Create** in the **New Zone** screen, you will be presented with the code for your new ad zone.

To use Sub IDs, add the **parameter** corresponding to the format you selected and the **number** you wish to use as Sub ID:

| Parameter  | Used in                                                                                                                       |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `sub`      | Banners (iframe), Popunder (inline script), Direct Links, Email Clicks, In-Video Banner (VAST), In-Stream Video               |
| `ad_sub`   | Popunder (remote script)                                                                                                      |
| `data-sub` | Banners (async), Sticky Banners, Outstream Video, Video Slider, In-Page Push, Instant Message, Native, Fullpage Interstitials |

{% hint style="warning" %}
Sub IDs should be a number between 1 and [**Int32**](https://docs.microsoft.com/en-us/dotnet/api/system.int32.maxvalue?view=net-5.0): Do not use zeroes at the beginning of Sub IDs.
{% endhint %}

## Use in different ad zone formats

Here is an extensive list of examples showing how to add the parameters needed to register Sub IDs.

### Asynchronous ad zones: Banners, Instant Messages, Sticky Banners and others

Added `data-sub="123456789"`

```html
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script>
<ins class="adsbynetwork" data-zoneid="1234567" data-sub="123456789"></ins>
<script>(AdProvider = window.AdProvider || []).push({"serve": {}});</script>
```

### iFrame

Added `&sub=123456`

```html
<iframe src="//a.examplesite.com/iframe.php?idzone=1234567&size=300x250&sub=123456" width="300" height="250" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
```

### Popunder (inline)

Added `"sub":"123456"`

```html
<script type="application/javascript">
(function() {

    //version 6.0.0

    var adConfig = {
    "ads_host": "a.pemsrv.com",
    "syndication_host": "s.pemsrv.com",
    "idzone": 1234567,
    "popup_fallback": false,
    "popup_force": false,
    "chrome_enabled": true,
    "new_tab": false,
    "frequency_period": 1,
    "frequency_count": 1,
    "trigger_method": 3,
    "trigger_class": "",
    "trigger_delay": 0,
    "capping_enabled": true,
    "tcf_enabled": true,
    "only_inline": false,
    "sub": "123456"
};

window.document.querySelectorAll||(document.querySelectorAll=document.body.querySelectorAll=Object.querySelectorAll=function(e,o,t,i,n){var r=document,a=r.createStyleSheet();for(n=r.all,o=[],t=(e=e.replace(/\[for\b/gi,"[htmlFor").split(",")).length;t--;){for(a.addRule(e[t],"k:v"),i=n.length;i--;)n[i].currentStyle.k&&o.push(n[i]);a.removeRule(0)}return o});var popMagic={version:6,cookie_name:"",url:"",config:{},open_count:0,top:null,browser:null,venor_loaded:!1,venor:!1,tcfData:null,configTpl:{ads_host:"",syndication_host:"",idzone:"",frequency_period:720,frequency_count:1,trigger_method:1,trigger_class:"",popup_force:!1,popup_fallback:!1,chrome_enabled:!0,new_tab:!1,cat:"",tags:"",el:"",sub:"",sub2:"",sub3:"",only_inline:!1,trigger_delay:0,capping_enabled:!0,tcf_enabled:!1,cookieconsent:!0,should_fire:function(){return!0}},init:function(e){if(void 0!==e.idzone&&e.idzone){void 0===e.customTargeting&&(e.customTargeting=[]),window.customTargeting=e.customTargeting||null;var o=Object.keys(e.customTargeting).filter((function(e){return e.search("ex_")>=0}));for(var t in o.length&&o.forEach(function(e){return this.configTpl[e]=null}.bind(this)),this.configTpl)Object.prototype.hasOwnProperty.call(this.configTpl,t)&&(void 0!==e[t]?this.config[t]=e[t]:this.config[t]=this.configTpl[t]);if(void 0!==this.config.idzone&&""!==this.config.idzone){!0!==this.config.only_inline&&this.loadHosted();var i=this;this.checkTCFConsent((function(){"complete"===document.readyState?i.preparePopWait():i.addEventToElement(window,"load",i.preparePop)}))}}},getCountFromCookie:function(){if(!this.config.cookieconsent)return 0;var e=popMagic.getCookie(popMagic.cookie_name),o=void 0===e?0:parseInt(e);return isNaN(o)&&(o=0),o},getLastOpenedTimeFromCookie:function(){var e=popMagic.getCookie(popMagic.cookie_name),o=null;if(void 0!==e){var t=e.split(";")[1];o=t>0?parseInt(t):0}return isNaN(o)&&(o=null),o},shouldShow:function(){if(!popMagic.config.capping_enabled){var e=!0,o=popMagic.config.should_fire;try{"function"==typeof o&&(e=Boolean(o()))}catch(e){console.error("Error executing should fire callback function:",e)}return e&&0===popMagic.open_count}if(popMagic.open_count>=popMagic.config.frequency_count)return!1;var t=popMagic.getCountFromCookie(),i=popMagic.getLastOpenedTimeFromCookie(),n=Math.floor(Date.now()/1e3),r=i+popMagic.config.trigger_delay;return!(i&&r>n)&&(popMagic.open_count=t,!(t>=popMagic.config.frequency_count))},venorShouldShow:function(){return popMagic.venor_loaded&&"0"===popMagic.venor},setAsOpened:function(e){var o=e?e.target||e.srcElement:null,t={id:"",tagName:"",classes:"",text:"",href:"",elm:""};void 0!==o&&null!=o&&(t={id:void 0!==o.id&&null!=o.id?o.id:"",tagName:void 0!==o.tagName&&null!=o.tagName?o.tagName:"",classes:void 0!==o.classList&&null!=o.classList?o.classList:"",text:void 0!==o.outerText&&null!=o.outerText?o.outerText:"",href:void 0!==o.href&&null!=o.href?o.href:"",elm:o});var i=new CustomEvent("creativeDisplayed-"+popMagic.config.idzone,{detail:t});if(document.dispatchEvent(i),popMagic.config.capping_enabled){var n=1;n=0!==popMagic.open_count?popMagic.open_count+1:popMagic.getCountFromCookie()+1;var r=Math.floor(Date.now()/1e3);popMagic.config.cookieconsent&&popMagic.setCookie(popMagic.cookie_name,n+";"+r,popMagic.config.frequency_period)}else++popMagic.open_count},loadHosted:function(){var e=document.createElement("script");for(var o in e.type="application/javascript",e.async=!0,e.src="//"+this.config.ads_host+"/popunder1000.js",e.id="popmagicldr",this.config)Object.prototype.hasOwnProperty.call(this.config,o)&&"ads_host"!==o&&"syndication_host"!==o&&e.setAttribute("data-exo-"+o,this.config[o]);var t=document.getElementsByTagName("body").item(0);t.firstChild?t.insertBefore(e,t.firstChild):t.appendChild(e)},preparePopWait:function(){setTimeout(popMagic.preparePop,400)},preparePop:function(){if("object"!=typeof exoJsPop101||!Object.prototype.hasOwnProperty.call(exoJsPop101,"add")){if(popMagic.top=self,popMagic.top!==self)try{top.document.location.toString()&&(popMagic.top=top)}catch(e){}if(popMagic.cookie_name="zone-cap-"+popMagic.config.idzone,popMagic.config.capping_enabled||(document.cookie=popMagic.cookie_name+"=;expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/"),popMagic.shouldShow()){var e=new XMLHttpRequest;e.onreadystatechange=function(){e.readyState==XMLHttpRequest.DONE&&(popMagic.venor_loaded=!0,200==e.status?popMagic.venor=e.responseText:popMagic.venor="0")};var o="https:"!==document.location.protocol&&"http:"!==document.location.protocol?"https:":document.location.protocol;e.open("GET",o+"//"+popMagic.config.syndication_host+"/venor.php",!0);try{e.send()}catch(e){popMagic.venor_loaded=!0}}if(popMagic.buildUrl(),popMagic.browser=popMagic.browserDetector.getBrowserInfo(),popMagic.config.chrome_enabled||!popMagic.browser.isChrome){var t=popMagic.getPopMethod(popMagic.browser);popMagic.addEvent("click",t)}}},getPopMethod:function(e){return popMagic.config.popup_force||popMagic.config.popup_fallback&&e.isChrome&&e.version>=68&&!e.isMobile?popMagic.methods.popup:e.isMobile?popMagic.methods.default:e.isChrome?popMagic.methods.chromeTab:popMagic.methods.default},checkTCFConsent:function(e){if(this.config.tcf_enabled&&"function"==typeof window.__tcfapi){var o=this;window.__tcfapi("addEventListener",2,(function(t,i){i&&(o.tcfData=t,"tcloaded"!==t.eventStatus&&"useractioncomplete"!==t.eventStatus||(window.__tcfapi("removeEventListener",2,(function(){}),t.listenerId),e()))}))}else e()},buildUrl:function(){var e,o="https:"!==document.location.protocol&&"http:"!==document.location.protocol?"https:":document.location.protocol,t=top===self?document.URL:document.referrer,i={type:"inline",name:"popMagic",ver:this.version},n="";customTargeting&&Object.keys(customTargeting).length&&("object"==typeof customTargeting?Object.keys(customTargeting):customTargeting).forEach((function(o){"object"==typeof customTargeting?e=customTargeting[o]:Array.isArray(customTargeting)&&(e=scriptEl.getAttribute(o));var t=o.replace("data-exo-","");n+="&"+t+"="+e}));var r=this.tcfData&&this.tcfData.gdprApplies&&!0===this.tcfData.gdprApplies?1:0;this.url=o+"//"+this.config.syndication_host+"/v1/link.php?cat="+this.config.cat+"&idzone="+this.config.idzone+"&type=8&p="+encodeURIComponent(t)+"&sub="+this.config.sub+(""!==this.config.sub2?"&sub2="+this.config.sub2:"")+(""!==this.config.sub3?"&sub3="+this.config.sub3:"")+"&block=1&el="+this.config.el+"&tags="+this.config.tags+"&scr_info="+function(e){var o=e.type+"|"+e.name+"|"+e.ver;return encodeURIComponent(btoa(o))}(i)+n+"&gdpr="+r+"&cb="+Math.floor(1e9*Math.random()),this.tcfData&&this.tcfData.tcString?this.url+="&gdpr_consent="+encodeURIComponent(this.tcfData.tcString):this.url+="&cookieconsent="+this.config.cookieconsent},addEventToElement:function(e,o,t){e.addEventListener?e.addEventListener(o,t,!1):e.attachEvent?(e["e"+o+t]=t,e[o+t]=function(){e["e"+o+t](window.event)},e.attachEvent("on"+o,e[o+t])):e["on"+o]=e["e"+o+t]},getTriggerClasses:function(){var e,o=[];-1===popMagic.config.trigger_class.indexOf(",")?e=popMagic.config.trigger_class.split(" "):e=popMagic.config.trigger_class.replace(/\s/g,"").split(",");for(var t=0;t<e.length;t++)""!==e[t]&&o.push("."+e[t]);return o},addEvent:function(e,o){var t;if("3"!=popMagic.config.trigger_method)if("2"!=popMagic.config.trigger_method||""==popMagic.config.trigger_method)if("4"!=popMagic.config.trigger_method||""==popMagic.config.trigger_method)popMagic.addEventToElement(document,e,o);else{var n=popMagic.getTriggerClasses();popMagic.addEventToElement(document,e,(function(e){n.some((function(o){return null!==e.target.closest(o)}))||o.call(e.target,e)}))}else{var r=popMagic.getTriggerClasses();for(t=document.querySelectorAll(r.join(", ")),i=0;i<t.length;i++)popMagic.addEventToElement(t[i],e,o)}else for(t=document.querySelectorAll("a"),i=0;i<t.length;i++)popMagic.addEventToElement(t[i],e,o)},setCookie:function(e,o,t){if(!this.config.cookieconsent)return!1;t=parseInt(t,10);var i=new Date;i.setMinutes(i.getMinutes()+parseInt(t));var n=encodeURIComponent(o)+"; expires="+i.toUTCString()+"; path=/";document.cookie=e+"="+n},getCookie:function(e){if(!this.config.cookieconsent)return!1;var o,t,i,n=document.cookie.split(";");for(o=0;o<n.length;o++)if(t=n[o].substr(0,n[o].indexOf("=")),i=n[o].substr(n[o].indexOf("=")+1),(t=t.replace(/^\s+|\s+$/g,""))===e)return decodeURIComponent(i)},randStr:function(e,o){for(var t="",i=o||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=0;n<e;n++)t+=i.charAt(Math.floor(Math.random()*i.length));return t},isValidUserEvent:function(e){return!(!("isTrusted"in e)||!e.isTrusted||"ie"===popMagic.browser.name||"safari"===popMagic.browser.name)||0!=e.screenX&&0!=e.screenY},isValidHref:function(e){if(void 0===e||""==e)return!1;return!/\s?javascript\s?:/i.test(e)},findLinkToOpen:function(e){var o=e,t=!1;try{for(var i=0;i<20&&!o.getAttribute("href")&&o!==document&&"html"!==o.nodeName.toLowerCase();)o=o.parentNode,i++;var n=o.getAttribute("target");n&&-1!==n.indexOf("_blank")||(t=o.getAttribute("href"))}catch(e){}return popMagic.isValidHref(t)||(t=!1),t||window.location.href},getPuId:function(){return"ok_"+Math.floor(89999999*Math.random()+1e7)},browserDetector:{browserDefinitions:[["firefox",/Firefox\/([0-9.]+)(?:\s|$)/],["opera",/Opera\/([0-9.]+)(?:\s|$)/],["opera",/OPR\/([0-9.]+)(:?\s|$)$/],["edge",/Edg(?:e|)\/([0-9._]+)/],["ie",/Trident\/7\.0.*rv:([0-9.]+)\).*Gecko$/],["ie",/MSIE\s([0-9.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["safari",/Version\/([0-9._]+).*Safari/],["chrome",/(?!Chrom.*Edg(?:e|))Chrom(?:e|ium)\/([0-9.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9.]+)(:?\s|$)/],["bb10",/BB10;\sTouch.*Version\/([0-9.]+)/],["android",/Android\s([0-9.]+)/],["ios",/Version\/([0-9._]+).*Mobile.*Safari.*/],["yandexbrowser",/YaBrowser\/([0-9._]+)/],["crios",/CriOS\/([0-9.]+)(:?\s|$)/]],isChromeOrChromium:function(){var e=window.navigator,o=(e.userAgent||"").toLowerCase(),t=e.vendor||"";if(-1!==o.indexOf("crios"))return!0;if(e.userAgentData&&Array.isArray(e.userAgentData.brands)&&e.userAgentData.brands.length>0){var i=e.userAgentData.brands,n=i.some((function(e){return"Google Chrome"===e.brand})),r=i.some((function(e){return"Chromium"===e.brand}))&&2===i.length;return n||r}var a=!!window.chrome,c=-1!==o.indexOf("edg"),p=!!window.opr||-1!==o.indexOf("opr"),s=!(!e.brave||!e.brave.isBrave),g=-1!==o.indexOf("vivaldi"),l=-1!==o.indexOf("yabrowser"),d=-1!==o.indexOf("samsungbrowser"),u=-1!==o.indexOf("ucbrowser");return a&&"Google Inc."===t&&!c&&!p&&!s&&!g&&!l&&!d&&!u},getBrowserInfo:function(){var e=window.navigator.userAgent,o={name:"other",version:"1.0",versionNumber:1,isChrome:this.isChromeOrChromium(),isMobile:!!e.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile|WebOS|Windows Phone/i)};for(var t in this.browserDefinitions){var i=this.browserDefinitions[t];if(i[1].test(e)){var n=i[1].exec(e),r=n&&n[1].split(/[._]/).slice(0,3),a=Array.prototype.slice.call(r,1).join("")||"0";r&&r.length<3&&Array.prototype.push.apply(r,1===r.length?[0,0]:[0]),o.name=i[0],o.version=r.join("."),o.versionNumber=parseFloat(r[0]+"."+a);break}}return o}},methods:{default:function(e){if(!popMagic.shouldShow()||!popMagic.venorShouldShow()||!popMagic.isValidUserEvent(e))return!0;var o=e.target||e.srcElement,t=popMagic.findLinkToOpen(o);return window.open(t,"_blank"),popMagic.setAsOpened(e),popMagic.top.document.location=popMagic.url,void 0!==e.preventDefault&&(e.preventDefault(),e.stopPropagation()),!0},chromeTab:function(e){if(!popMagic.shouldShow()||!popMagic.venorShouldShow()||!popMagic.isValidUserEvent(e))return!0;if(void 0===e.preventDefault)return!0;e.preventDefault(),e.stopPropagation();var o=top.window.document.createElement("a"),t=e.target||e.srcElement;o.href=popMagic.findLinkToOpen(t),document.getElementsByTagName("body")[0].appendChild(o);var i=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!0,altKey:!1,shiftKey:!1,metaKey:!0,button:0});i.preventDefault=void 0,o.dispatchEvent(i),o.parentNode.removeChild(o),window.open(popMagic.url,"_self"),popMagic.setAsOpened(e)},popup:function(e){if(!popMagic.shouldShow()||!popMagic.venorShouldShow()||!popMagic.isValidUserEvent(e))return!0;var o="";if(popMagic.config.popup_fallback&&!popMagic.config.popup_force){var t=Math.max(Math.round(.8*window.innerHeight),300);o="menubar=1,resizable=1,width="+Math.max(Math.round(.7*window.innerWidth),300)+",height="+t+",top="+(window.screenY+100)+",left="+(window.screenX+100)}var i=document.location.href,n=window.open(i,popMagic.getPuId(),o);setTimeout((function(){n.location.href=popMagic.url}),200),popMagic.setAsOpened(e),void 0!==e.preventDefault&&(e.preventDefault(),e.stopPropagation())}}};    popMagic.init(adConfig);
})();


</script>
```

### Popunder (remote)

Added `ad_sub = "123456"`

```html
<script type="application/javascript">
    var ad_idzone = "1234567",
    ad_popup_fallback = false,
    ad_popup_force = false,
    ad_chrome_enabled = true,
    ad_new_tab = false,
    ad_frequency_period = 1,
    ad_frequency_count = 1,
    ad_trigger_method = 3,
    ad_trigger_delay = 0,
    ad_sub = "123456",
    ad_capping_enabled = true; 
</script>
<script type="application/javascript" src="https://a.pemsrv.com/popunder1000.js"></script>
```

### VAST ads (In-Stream and In-Video)

Added `&sub=123456`

```
https://s.magsrv.com/v1/vast.php?idzone=1234567&sub=123456
```

### Push Notifications

This format does not currently support the use of subids.


# Using Additional Sub IDds

As explained in the [Using Sub Ids documentation](/publishers/sites-and-zones/subids), Sub Ids are used by Publishers to segment traffic. For example, they might do this by traffic source. This information will then be displayed in the **Statistics** tab, in the **Sub IDs** sub-tab.

As well as this, there are two more parameters that are essentially the exact same as `sub` overall: `sub2` and `sub3`.

## Examples

### Asynchronous ad zones: Banners, Sticky Banners, Instant Messages, Outstream Ads and Mutli-Formats

Added `data-sub` = XXXXXX, `data-sub2` = XXXXXX and `data-sub3` = XXXXXX

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork" data-zoneid="1234567" data-sub="XXXXXX" data-sub2="XXXXXX" data-sub3="XXXXXX"></ins>
<script>(AdProvider = window.AdProvider || []).push({"serve": {}});</script>
```

### iFrames

Added `&sub`= XXXXXX, `&sub2`= XXXXXX and `&sub`3= XXXXXX

```html
<iframe src="//a.examplesite.com/iframe.php?idzone=1234567&size=300x250&sub=XXXXXX&sub2=XXXXXX&sub3=XXXXXX" width="300" height="250" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
```

### Native

Added as `data-ad_sub= "XXXXXX"; data-ad_sub2 = "XXXXXX"; data-ad_sub3 = "XXXXXX";`

```
data-ad_sub= "XXXXXX";
data-ad_sub2 = "XXXXXX";
data-ad_sub3 = "XXXXXX";
```

### RTB

Added in `ext` object as `&sub=XXXXXX, &sub2=XXXXXX, &sub3=XXXXXX`

```json
{
   "id": "d4b5c697-41f3-4c1c-a3d5-5fd01b5ef2aa",
   "imp": [
       {
           "id": "974090632",
           "banner": {
               "w": 300,
               "h": 250
           }
       }
   ],
   "site": {
       "id": "12345",
       "domain": "sitedomain.com",
       "cat": ["IAB25-3"],
       "page": "https://sitedomain.com/page"
   },
   "device": {
       "ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36",
       "ip": "131.34.123.159",
       "geo": {
           "country": "IRL"
       },
       "language": "en",
       "os": "Linux & UNIX",
       "js": 0,
       "ext": {
           "remote_addr": "131.34.123.159",
           "x_forwarded_for": "",
           "accept_language": "en-GB;q=0.8,pt-PT;q=0.6,en;q=0.4,en-US;q=0.2,de;q=0.2,es;q=0.2,fr;q=0.2"
       }
   },
   "user": {
       "id": "57592f333f8983.043587162282415065"
   },
   "ext": {
       "sub": 1221,
       "sub2": 2222,
       "sub3": 3333
   }
}
```

These parameters could be used to segment the traffic even more. However, unlike sub, this won’t be displayed in the **Sub IDs** sub-tab of the **Statistics** tab. However, we do register them internally. The only way to get the data for these metrics is through the [API Global Routes for Publishers](https://api.exoclick.com/v2/docs/#!/47statistics/post_statistics_publisher_global).

Here are two examples of how the request should look in order to pull data from sub2 and sub3 respectively:

### Grouping by sub2 and sub3

```json
{
  "count": 0,
  "detailed": 0,
  "timezone": "Europe/Dublin",
  "totals": 1,
  "filter": {
    "date_from": "2019-11-07",
    "date_to": "2019-11-07",
    "zone_id": [
      1234567
    ]
  },
  "group_by": [
    "sub2",
    "sub3"
  ],
  "order_by": [
    {
      "field": "impressions",
      "order": "desc"
    }
  ],
  "projection": [
    "base"
  ],
  "limit": 25,
  "offset": 0
}
```

### Filtering and grouping by sub2 and sub 3

```json
{
  "count": 0,
  "detailed": 0,
  "timezone": "Europe/Dublin",
  "totals": 1,
  "filter": {
    "date_from": "2019-11-07",
    "date_to": "2019-11-07",
    "sub": [
      10001
    ],
    "sub2": [
      10002
    ],
    "sub3": [
      10003
    ],
    "zone_id": [
      1234567
    ]
  },
  "group_by": [
    "sub2",
    "sub3"
  ],
  "order_by": [
    {
      "field": "impressions",
      "order": "desc"
    }
  ],
  "projection": [
    "base"
  ],
  "limit": 25,
  "offset": 0
}
```

**Note**: It is only possible to group in two dimensions. If you you want to group by `sub`, you will need to remove either `sub2` or `sub3`. Otherwise, the response will generate an error.

```json
{
  "message": "Request `group_by` data is invalid."
}
```


# Using Tags

Sometimes your URL will not match a category precisely. In these cases, you can insert **'tags'** into the code of your ad zones to manually match them to the type of advertising you want. For example, you could insert the tag 'cartoon' into your ad zone code to increase the chances of showing products related to this term.

There are different ways of adding tags depending on the ad format you use. Please check the examples below to find out how it is done for each format.

{% hint style="info" %}
When adding multiple tags, separate them with commas and no spaces.

It is highly recommended that each time you update your content, you adjust the keywords for the ad zone in order to continue receiving high demand for your contextual ad zones.
{% endhint %}

## Code examples

### Asynchronous ad zones (Banner, Sticky Banner, Instant Message, Outstream, etc.)

Added `data-keywords="cartoon"`

```js
<script async type="application/javascript" src="https://a.examplesite.com/ads.js"></script>
<ins class="adsbynetwork" data-zoneid="1234567" data-keywords="cartoon"></ins>
<script>(AdProvider = window.AdProvider || []).push({"serve": {}});</script>
```

### iFrame Banners

Added `&tags='cartoon'`

```js
<iframe src="//a.examplesite.com/iframe.php?idzone=1234567&size=300x250&tags=cartoon" width="300" height="250" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
```

### Popunder

**Inline & remote script (Recommended)**

Added `"tags"="cartoon"`

```js
<script type="application/javascript">
(function() {

    //version 6.0.0

    var adConfig = {
    "ads_host": "a.pemsrv.com",
    "syndication_host": "s.pemsrv.com",
    "idzone": 1234567,
    "popup_fallback": false,
    "popup_force": false,
    "chrome_enabled": true,
    "new_tab": false,
    "frequency_period": 1,
    "frequency_count": 1,
    "trigger_method": 3,
    "trigger_class": "",
    "trigger_delay": 0,
    "capping_enabled": true,
    "tcf_enabled": true,
    "only_inline": false,
    "tags": "cartoon"
};

window.document.querySelectorAll||(document.querySelectorAll=document.body.querySelectorAll=Object.querySelectorAll=function(e,o,t,i,n){var r=document,a=r.createStyleSheet();for(n=r.all,o=[],t=(e=e.replace(/\[for\b/gi,"[htmlFor").split(",")).length;t--;){for(a.addRule(e[t],"k:v"),i=n.length;i--;)n[i].currentStyle.k&&o.push(n[i]);a.removeRule(0)}return o});var popMagic={version:6,cookie_name:"",url:"",config:{},open_count:0,top:null,browser:null,venor_loaded:!1,venor:!1,tcfData:null,configTpl:{ads_host:"",syndication_host:"",idzone:"",frequency_period:720,frequency_count:1,trigger_method:1,trigger_class:"",popup_force:!1,popup_fallback:!1,chrome_enabled:!0,new_tab:!1,cat:"",tags:"",el:"",sub:"",sub2:"",sub3:"",only_inline:!1,trigger_delay:0,capping_enabled:!0,tcf_enabled:!1,cookieconsent:!0,should_fire:function(){return!0}},init:function(e){if(void 0!==e.idzone&&e.idzone){void 0===e.customTargeting&&(e.customTargeting=[]),window.customTargeting=e.customTargeting||null;var o=Object.keys(e.customTargeting).filter((function(e){return e.search("ex_")>=0}));for(var t in o.length&&o.forEach(function(e){return this.configTpl[e]=null}.bind(this)),this.configTpl)Object.prototype.hasOwnProperty.call(this.configTpl,t)&&(void 0!==e[t]?this.config[t]=e[t]:this.config[t]=this.configTpl[t]);if(void 0!==this.config.idzone&&""!==this.config.idzone){!0!==this.config.only_inline&&this.loadHosted();var i=this;this.checkTCFConsent((function(){"complete"===document.readyState?i.preparePopWait():i.addEventToElement(window,"load",i.preparePop)}))}}},getCountFromCookie:function(){if(!this.config.cookieconsent)return 0;var e=popMagic.getCookie(popMagic.cookie_name),o=void 0===e?0:parseInt(e);return isNaN(o)&&(o=0),o},getLastOpenedTimeFromCookie:function(){var e=popMagic.getCookie(popMagic.cookie_name),o=null;if(void 0!==e){var t=e.split(";")[1];o=t>0?parseInt(t):0}return isNaN(o)&&(o=null),o},shouldShow:function(){if(!popMagic.config.capping_enabled){var e=!0,o=popMagic.config.should_fire;try{"function"==typeof o&&(e=Boolean(o()))}catch(e){console.error("Error executing should fire callback function:",e)}return e&&0===popMagic.open_count}if(popMagic.open_count>=popMagic.config.frequency_count)return!1;var t=popMagic.getCountFromCookie(),i=popMagic.getLastOpenedTimeFromCookie(),n=Math.floor(Date.now()/1e3),r=i+popMagic.config.trigger_delay;return!(i&&r>n)&&(popMagic.open_count=t,!(t>=popMagic.config.frequency_count))},venorShouldShow:function(){return popMagic.venor_loaded&&"0"===popMagic.venor},setAsOpened:function(e){var o=e?e.target||e.srcElement:null,t={id:"",tagName:"",classes:"",text:"",href:"",elm:""};void 0!==o&&null!=o&&(t={id:void 0!==o.id&&null!=o.id?o.id:"",tagName:void 0!==o.tagName&&null!=o.tagName?o.tagName:"",classes:void 0!==o.classList&&null!=o.classList?o.classList:"",text:void 0!==o.outerText&&null!=o.outerText?o.outerText:"",href:void 0!==o.href&&null!=o.href?o.href:"",elm:o});var i=new CustomEvent("creativeDisplayed-"+popMagic.config.idzone,{detail:t});if(document.dispatchEvent(i),popMagic.config.capping_enabled){var n=1;n=0!==popMagic.open_count?popMagic.open_count+1:popMagic.getCountFromCookie()+1;var r=Math.floor(Date.now()/1e3);popMagic.config.cookieconsent&&popMagic.setCookie(popMagic.cookie_name,n+";"+r,popMagic.config.frequency_period)}else++popMagic.open_count},loadHosted:function(){var e=document.createElement("script");for(var o in e.type="application/javascript",e.async=!0,e.src="//"+this.config.ads_host+"/popunder1000.js",e.id="popmagicldr",this.config)Object.prototype.hasOwnProperty.call(this.config,o)&&"ads_host"!==o&&"syndication_host"!==o&&e.setAttribute("data-exo-"+o,this.config[o]);var t=document.getElementsByTagName("body").item(0);t.firstChild?t.insertBefore(e,t.firstChild):t.appendChild(e)},preparePopWait:function(){setTimeout(popMagic.preparePop,400)},preparePop:function(){if("object"!=typeof exoJsPop101||!Object.prototype.hasOwnProperty.call(exoJsPop101,"add")){if(popMagic.top=self,popMagic.top!==self)try{top.document.location.toString()&&(popMagic.top=top)}catch(e){}if(popMagic.cookie_name="zone-cap-"+popMagic.config.idzone,popMagic.config.capping_enabled||(document.cookie=popMagic.cookie_name+"=;expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/"),popMagic.shouldShow()){var e=new XMLHttpRequest;e.onreadystatechange=function(){e.readyState==XMLHttpRequest.DONE&&(popMagic.venor_loaded=!0,200==e.status?popMagic.venor=e.responseText:popMagic.venor="0")};var o="https:"!==document.location.protocol&&"http:"!==document.location.protocol?"https:":document.location.protocol;e.open("GET",o+"//"+popMagic.config.syndication_host+"/venor.php",!0);try{e.send()}catch(e){popMagic.venor_loaded=!0}}if(popMagic.buildUrl(),popMagic.browser=popMagic.browserDetector.getBrowserInfo(),popMagic.config.chrome_enabled||!popMagic.browser.isChrome){var t=popMagic.getPopMethod(popMagic.browser);popMagic.addEvent("click",t)}}},getPopMethod:function(e){return popMagic.config.popup_force||popMagic.config.popup_fallback&&e.isChrome&&e.version>=68&&!e.isMobile?popMagic.methods.popup:e.isMobile?popMagic.methods.default:e.isChrome?popMagic.methods.chromeTab:popMagic.methods.default},checkTCFConsent:function(e){if(this.config.tcf_enabled&&"function"==typeof window.__tcfapi){var o=this;window.__tcfapi("addEventListener",2,(function(t,i){i&&(o.tcfData=t,"tcloaded"!==t.eventStatus&&"useractioncomplete"!==t.eventStatus||(window.__tcfapi("removeEventListener",2,(function(){}),t.listenerId),e()))}))}else e()},buildUrl:function(){var e,o="https:"!==document.location.protocol&&"http:"!==document.location.protocol?"https:":document.location.protocol,t=top===self?document.URL:document.referrer,i={type:"inline",name:"popMagic",ver:this.version},n="";customTargeting&&Object.keys(customTargeting).length&&("object"==typeof customTargeting?Object.keys(customTargeting):customTargeting).forEach((function(o){"object"==typeof customTargeting?e=customTargeting[o]:Array.isArray(customTargeting)&&(e=scriptEl.getAttribute(o));var t=o.replace("data-exo-","");n+="&"+t+"="+e}));var r=this.tcfData&&this.tcfData.gdprApplies&&!0===this.tcfData.gdprApplies?1:0;this.url=o+"//"+this.config.syndication_host+"/v1/link.php?cat="+this.config.cat+"&idzone="+this.config.idzone+"&type=8&p="+encodeURIComponent(t)+"&sub="+this.config.sub+(""!==this.config.sub2?"&sub2="+this.config.sub2:"")+(""!==this.config.sub3?"&sub3="+this.config.sub3:"")+"&block=1&el="+this.config.el+"&tags="+this.config.tags+"&scr_info="+function(e){var o=e.type+"|"+e.name+"|"+e.ver;return encodeURIComponent(btoa(o))}(i)+n+"&gdpr="+r+"&cb="+Math.floor(1e9*Math.random()),this.tcfData&&this.tcfData.tcString?this.url+="&gdpr_consent="+encodeURIComponent(this.tcfData.tcString):this.url+="&cookieconsent="+this.config.cookieconsent},addEventToElement:function(e,o,t){e.addEventListener?e.addEventListener(o,t,!1):e.attachEvent?(e["e"+o+t]=t,e[o+t]=function(){e["e"+o+t](window.event)},e.attachEvent("on"+o,e[o+t])):e["on"+o]=e["e"+o+t]},getTriggerClasses:function(){var e,o=[];-1===popMagic.config.trigger_class.indexOf(",")?e=popMagic.config.trigger_class.split(" "):e=popMagic.config.trigger_class.replace(/\s/g,"").split(",");for(var t=0;t<e.length;t++)""!==e[t]&&o.push("."+e[t]);return o},addEvent:function(e,o){var t;if("3"!=popMagic.config.trigger_method)if("2"!=popMagic.config.trigger_method||""==popMagic.config.trigger_method)if("4"!=popMagic.config.trigger_method||""==popMagic.config.trigger_method)popMagic.addEventToElement(document,e,o);else{var n=popMagic.getTriggerClasses();popMagic.addEventToElement(document,e,(function(e){n.some((function(o){return null!==e.target.closest(o)}))||o.call(e.target,e)}))}else{var r=popMagic.getTriggerClasses();for(t=document.querySelectorAll(r.join(", ")),i=0;i<t.length;i++)popMagic.addEventToElement(t[i],e,o)}else for(t=document.querySelectorAll("a"),i=0;i<t.length;i++)popMagic.addEventToElement(t[i],e,o)},setCookie:function(e,o,t){if(!this.config.cookieconsent)return!1;t=parseInt(t,10);var i=new Date;i.setMinutes(i.getMinutes()+parseInt(t));var n=encodeURIComponent(o)+"; expires="+i.toUTCString()+"; path=/";document.cookie=e+"="+n},getCookie:function(e){if(!this.config.cookieconsent)return!1;var o,t,i,n=document.cookie.split(";");for(o=0;o<n.length;o++)if(t=n[o].substr(0,n[o].indexOf("=")),i=n[o].substr(n[o].indexOf("=")+1),(t=t.replace(/^\s+|\s+$/g,""))===e)return decodeURIComponent(i)},randStr:function(e,o){for(var t="",i=o||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=0;n<e;n++)t+=i.charAt(Math.floor(Math.random()*i.length));return t},isValidUserEvent:function(e){return!(!("isTrusted"in e)||!e.isTrusted||"ie"===popMagic.browser.name||"safari"===popMagic.browser.name)||0!=e.screenX&&0!=e.screenY},isValidHref:function(e){if(void 0===e||""==e)return!1;return!/\s?javascript\s?:/i.test(e)},findLinkToOpen:function(e){var o=e,t=!1;try{for(var i=0;i<20&&!o.getAttribute("href")&&o!==document&&"html"!==o.nodeName.toLowerCase();)o=o.parentNode,i++;var n=o.getAttribute("target");n&&-1!==n.indexOf("_blank")||(t=o.getAttribute("href"))}catch(e){}return popMagic.isValidHref(t)||(t=!1),t||window.location.href},getPuId:function(){return"ok_"+Math.floor(89999999*Math.random()+1e7)},browserDetector:{browserDefinitions:[["firefox",/Firefox\/([0-9.]+)(?:\s|$)/],["opera",/Opera\/([0-9.]+)(?:\s|$)/],["opera",/OPR\/([0-9.]+)(:?\s|$)$/],["edge",/Edg(?:e|)\/([0-9._]+)/],["ie",/Trident\/7\.0.*rv:([0-9.]+)\).*Gecko$/],["ie",/MSIE\s([0-9.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["safari",/Version\/([0-9._]+).*Safari/],["chrome",/(?!Chrom.*Edg(?:e|))Chrom(?:e|ium)\/([0-9.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9.]+)(:?\s|$)/],["bb10",/BB10;\sTouch.*Version\/([0-9.]+)/],["android",/Android\s([0-9.]+)/],["ios",/Version\/([0-9._]+).*Mobile.*Safari.*/],["yandexbrowser",/YaBrowser\/([0-9._]+)/],["crios",/CriOS\/([0-9.]+)(:?\s|$)/]],isChromeOrChromium:function(){var e=window.navigator,o=(e.userAgent||"").toLowerCase(),t=e.vendor||"";if(-1!==o.indexOf("crios"))return!0;if(e.userAgentData&&Array.isArray(e.userAgentData.brands)&&e.userAgentData.brands.length>0){var i=e.userAgentData.brands,n=i.some((function(e){return"Google Chrome"===e.brand})),r=i.some((function(e){return"Chromium"===e.brand}))&&2===i.length;return n||r}var a=!!window.chrome,c=-1!==o.indexOf("edg"),p=!!window.opr||-1!==o.indexOf("opr"),s=!(!e.brave||!e.brave.isBrave),g=-1!==o.indexOf("vivaldi"),l=-1!==o.indexOf("yabrowser"),d=-1!==o.indexOf("samsungbrowser"),u=-1!==o.indexOf("ucbrowser");return a&&"Google Inc."===t&&!c&&!p&&!s&&!g&&!l&&!d&&!u},getBrowserInfo:function(){var e=window.navigator.userAgent,o={name:"other",version:"1.0",versionNumber:1,isChrome:this.isChromeOrChromium(),isMobile:!!e.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile|WebOS|Windows Phone/i)};for(var t in this.browserDefinitions){var i=this.browserDefinitions[t];if(i[1].test(e)){var n=i[1].exec(e),r=n&&n[1].split(/[._]/).slice(0,3),a=Array.prototype.slice.call(r,1).join("")||"0";r&&r.length<3&&Array.prototype.push.apply(r,1===r.length?[0,0]:[0]),o.name=i[0],o.version=r.join("."),o.versionNumber=parseFloat(r[0]+"."+a);break}}return o}},methods:{default:function(e){if(!popMagic.shouldShow()||!popMagic.venorShouldShow()||!popMagic.isValidUserEvent(e))return!0;var o=e.target||e.srcElement,t=popMagic.findLinkToOpen(o);return window.open(t,"_blank"),popMagic.setAsOpened(e),popMagic.top.document.location=popMagic.url,void 0!==e.preventDefault&&(e.preventDefault(),e.stopPropagation()),!0},chromeTab:function(e){if(!popMagic.shouldShow()||!popMagic.venorShouldShow()||!popMagic.isValidUserEvent(e))return!0;if(void 0===e.preventDefault)return!0;e.preventDefault(),e.stopPropagation();var o=top.window.document.createElement("a"),t=e.target||e.srcElement;o.href=popMagic.findLinkToOpen(t),document.getElementsByTagName("body")[0].appendChild(o);var i=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!0,altKey:!1,shiftKey:!1,metaKey:!0,button:0});i.preventDefault=void 0,o.dispatchEvent(i),o.parentNode.removeChild(o),window.open(popMagic.url,"_self"),popMagic.setAsOpened(e)},popup:function(e){if(!popMagic.shouldShow()||!popMagic.venorShouldShow()||!popMagic.isValidUserEvent(e))return!0;var o="";if(popMagic.config.popup_fallback&&!popMagic.config.popup_force){var t=Math.max(Math.round(.8*window.innerHeight),300);o="menubar=1,resizable=1,width="+Math.max(Math.round(.7*window.innerWidth),300)+",height="+t+",top="+(window.screenY+100)+",left="+(window.screenX+100)}var i=document.location.href,n=window.open(i,popMagic.getPuId(),o);setTimeout((function(){n.location.href=popMagic.url}),200),popMagic.setAsOpened(e),void 0!==e.preventDefault&&(e.preventDefault(),e.stopPropagation())}}};    popMagic.init(adConfig);
})();


</script>
```

**Remote Script only**

Added `ad_tags='cartoon'`

```js
<script type="application/javascript">
    var ad_idzone = "1234567",
    ad_popup_fallback = false,
    ad_popup_force = false,
    ad_chrome_enabled = true,
    ad_new_tab = false,
    ad_frequency_period = 1,
    ad_frequency_count = 1,
    ad_trigger_method = 3,
    ad_trigger_delay = 0,
    ad_capping_enabled = true,
    ad_tags='cartoon';
</script>
<script type="application/javascript" src="https://a.pemsrv.com/popunder1000.js"></script>
```

### Video

**In-Stream Video & In-Video Banner (VAST)**

Added `&tags=cartoon`

```js
https://s.magsrv.com/v1/vast.php?idzone=1234567&tags=cartoon
```

## Video tutorial

You can also watch our video tutorial regarding keywords [**here**](/videos/videos/videos-pub#using-tags)


# Adding HTML Events for Fullpage Interstitials

The **Desktop Fullpage Interstitial** and **Mobile Fullpage Interstitial** ad formats can interact with your website through some HTML events. You can listen to these events to trigger additional actions in your website.

## creativeDisplayed

When a Fullpage Interstitial ad is loaded in the user's browser, it generates the event `creativeDisplayed-XXXXXXX`, where `XXXXXXX` is the zone id corresponding to that Fullpage Interstitial ad zone.

This event listener allows you to programmatically execute any action you may need on your website and get more information about the element that triggered the event, such as the URL, id, classes and text.

In the example below, we are displaying the `Creative shown!` message in Console when the Fullpage Interstitial is shown and we are listing all the details from the element that triggered the event:

```js
<script async type="application/javascript" src="https://a.pemsrv.com/ad-provider.js"></script>
<ins class="eas6a97888e35" data-zoneid="1234567"></ins>
<script>(AdProvider = window.AdProvider || []).push({"serve": {}});</script>

<a href="https://www.exoclick.com">Visit exoclick.com!</a>

<script type="application/javascript">
    document.addEventListener('creativeDisplayed-1234567', function (e) {
        console.log("Creative shown!");
        console.log(e.detail);
    }, false);
</script>
```

## message

If your Fullpage Interstitial ad zone serves an iframe campaign, then you can add an event listener to the event `message`. This allows you to programmatically execute any action you may need on your website after the iframe is loaded on user's browser.

The event data contains the properties `id`, which is an md5 of the iframe url parameter, and `loaded` being true. In the example below, we are displaying the `Iframe loaded!` message in Console when the Iframe is shown to the user's browser:

```js
<script async type="application/javascript" src="https://a.pemsrv.com/ad-provider.js"></script>
<ins class="eas6a97888e35" data-zoneid="1234567"></ins>
<script>(AdProvider = window.AdProvider || []).push({"serve": {}});</script>

<a href="https://www.exoclick.com">Visit exoclick.com!</a>

<script type="application/javascript">
    window.addEventListener('message', function(event) {
        if (event.data.id && event.data.loaded) {
            console.log("Iframe loaded!")
        }
    });
</script>
```


# Manage capping for Popunders and Fullpage Interstitials

While creating or editing a Popunder, Desktop/Mobile Fullpage Interstitial zone, Publishers have an option to enable/disable **capping** for their ad zone. With this option, Publishers may decide to manage capping (display frequency) on their side.

**Supported Ad Formats:** Popunder, Mobile Popunder, Desktop Fullpage Interstitial, Mobile Fullpage Interstitial.

## Setting Up

{% stepper %}
{% step %}

### Enable/Disable capping through the snippet

Disable the capping on the Popunder snippet. The `capping_enabled` or `ad_capping_enabled` needs to be set to false in the ad snippet

```js
<script type="application/javascript">
function() {
    //version 1.0.0
    var adConfig = {
    "ads_host": "a.example.com",
    "syndication_host": "s.example.com",
    "idzone": XXX, // Replace XXX with zone id
    "popup_fallback": false,
    "popup_force": false,
    "chrome_enabled": true,
    "new_tab": false,
    "frequency_period": 720,
    "frequency_count": 1,
    "trigger_method": 3,
    "trigger_class": "",
    "trigger_delay": 0,
    "capping_enabled": false, // set this to false
    "only_inline": false
};
}
</script>
```

```js
<script type="application/javascript">
    var ad_idzone = "XXX", // Replace XXX with zone id
    ad_popup_fallback = false,
    ad_popup_force = false,
    ad_chrome_enabled = true,
    ad_new_tab = false,
    ad_frequency_period = 720,
    ad_frequency_count = 1,
    ad_trigger_method = 3,
    ad_trigger_delay = 0,
    ad_capping_enabled = false; // set this to false
</script>
<script type="application/javascript" src="https://a.example.com/popunder1000.js"></script>
```

{% hint style="warning" %}
**Note:** You need to complete Step 2 and Step 3 to ensure the ad is not triggered on every click.
{% endhint %}
{% endstep %}

{% step %}

### Setting up Event Listener

The event listener needs to be set up for creativeDisplayed event to be able to store/increment capping counter on publisher side

```js
<script type="application/javascript">
    document.addEventListener(
        'creativeDisplayed-XXX', // Replace XXX with zone id
        function(e) {
            //Code to increment the display counter goes here. Below is just and example
                const name = 'popunder-capping';
                let match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
                let counter = match ? parseInt(match[2], 10) : 0;
                ++counter;
                document.cookie = name + "=" + counter + "; path=/";
        }
    );
</script>
```

{% endstep %}

{% step %}

### Managing the page DOM

Based on the value of the counter, which may be stored in any way, the snippet should be excluded from being added in the page DOM. Can be done through FrontEnd or BackEnd(examples for both are as below).

{% tabs %}
{% tab title="FE Example" %}

```html
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Example page</title>
<body>
<script type="application/javascript">
    let name = 'popunder-capping';
    let match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
    let counter = match ? parseInt(match[2], 10) : 0;
    let maxCount = 5;
    if (counter < maxCount) {
            (function() {
            //version 1.0.0
            var adConfig = {
            "ads_host": "a.pemsrv.com",
            "syndication_host": "s.pemsrv.com",
            "idzone": XXX, // Replace XXX with zone id
            "popup_fallback": false,
            "popup_force": false,
            "chrome_enabled": true,
            "new_tab": false,
            "frequency_period": 5,
            "frequency_count": 1,
            "trigger_method": 3,
            "trigger_class": "",
            "trigger_delay": 0,
            "capping_enabled": false,
            "only_inline": false
        };
            window.document.querySelectorAll||(document.querySelectorAll=document.body.querySelectorAll=Object.querySelectorAll=function e(o,i,t,n,r){var a=document,c=a.createStyleSheet();for(r=a.all,i=[],t=(o=o.replace(/\[for\b/gi,"[htmlFor").split(",")).length;t--;){for(c.addRule(o[t],"k:v"),n=r.length;n--;)r[n].currentStyle.k&&i.push(r[n]);c.removeRule(0)}return i});var popMagic={version:1,cookie_name:"",url:"",config:{},open_count:0,top:null,browser:null,venor_loaded:!1,venor:!1,configTpl:{ads_host:"",syndication_host:"",idzone:"",frequency_period:720,frequency_count:1,trigger_method:1,trigger_class:"",popup_force:!1,popup_fallback:!1,chrome_enabled:!0,new_tab:!1,cat:"",tags:"",el:"",sub:"",sub2:"",sub3:"",only_inline:!1,trigger_delay:0,capping_enabled:!1,cookieconsent:!0},init:function(e){if(void 0!==e.idzone&&e.idzone){void 0===e.customTargeting&&(e.customTargeting=[]),window.customTargeting=e.customTargeting||null;var o=Object.keys(e.customTargeting).filter(function(e){return e.search("ex_")>=0});for(var i in o.length&&o.forEach((function(e){return this.configTpl[e]=null}).bind(this)),this.configTpl)Object.prototype.hasOwnProperty.call(this.configTpl,i)&&(void 0!==e[i]?this.config[i]=e[i]:this.config[i]=this.configTpl[i]);void 0!==this.config.idzone&&""!==this.config.idzone&&(!0!==this.config.only_inline&&this.loadHosted(),this.addEventToElement(window,"load",this.preparePop))}},getCountFromCookie:function(){if(!this.config.cookieconsent)return 0;var e=popMagic.getCookie(popMagic.cookie_name),o=void 0===e?0:parseInt(e);return isNaN(o)&&(o=0),o},getLastOpenedTimeFromCookie:function(){var e=popMagic.getCookie(popMagic.cookie_name),o=null;if(void 0!==e){var i=e.split(";")[1];o=i>0?parseInt(i):0}return isNaN(o)&&(o=null),o},shouldShow:function(){if(!popMagic.config.capping_enabled)return 0===popMagic.open_count;if(popMagic.open_count>=popMagic.config.frequency_count)return!1;var e=popMagic.getCountFromCookie();let o=popMagic.getLastOpenedTimeFromCookie(),i=Math.floor(Date.now()/1e3),t=o+popMagic.config.trigger_delay;return(!o||!(t>i))&&(popMagic.open_count=e,!(e>=popMagic.config.frequency_count))},venorShouldShow:function(){return popMagic.venor_loaded&&"0"===popMagic.venor},setAsOpened:function(e){var o=e?e.target||e.srcElement:null,i={id:"",tagName:"",classes:"",text:"",href:"",elm:""};void 0!==o&&null!=o&&(i={id:void 0!==o.id&&null!=o.id?o.id:"",tagName:void 0!==o.tagName&&null!=o.tagName?o.tagName:"",classes:void 0!==o.classList&&null!=o.classList?o.classList:"",text:void 0!==o.outerText&&null!=o.outerText?o.outerText:"",href:void 0!==o.href&&null!=o.href?o.href:"",elm:o});var t=new CustomEvent("creativeDisplayed-"+popMagic.config.idzone,{detail:i});if(document.dispatchEvent(t),!popMagic.config.capping_enabled){++popMagic.open_count;return}var n=1;n=0!==popMagic.open_count?popMagic.open_count+1:popMagic.getCountFromCookie()+1;let r=Math.floor(Date.now()/1e3);popMagic.config.cookieconsent&&popMagic.setCookie(popMagic.cookie_name,`${n};${r}`,popMagic.config.frequency_period)},loadHosted:function(){var e=document.createElement("script");for(var o in e.type="application/javascript",e.async=!0,e.src="//"+this.config.ads_host+"/popunder1000.js",e.id="popmagicldr",this.config)Object.prototype.hasOwnProperty.call(this.config,o)&&"ads_host"!==o&&"syndication_host"!==o&&e.setAttribute("data-exo-"+o,this.config[o]);var i=document.getElementsByTagName("body").item(0);i.firstChild?i.insertBefore(e,i.firstChild):i.appendChild(e)},preparePop:function(){if(!("object"==typeof exoJsPop101&&Object.prototype.hasOwnProperty.call(exoJsPop101,"add"))){if(popMagic.top=self,popMagic.top!==self)try{top.document.location.toString()&&(popMagic.top=top)}catch(e){}if(popMagic.cookie_name="zone-cap-"+popMagic.config.idzone,popMagic.shouldShow()){var o=new XMLHttpRequest;o.onreadystatechange=function(){o.readyState==XMLHttpRequest.DONE&&(popMagic.venor_loaded=!0,200==o.status?popMagic.venor=o.responseText:popMagic.venor="0")};var i="https:"!==document.location.protocol&&"http:"!==document.location.protocol?"https:":document.location.protocol;o.open("GET",i+"//"+popMagic.config.syndication_host+"/venor.php",!0);try{o.send()}catch(t){popMagic.venor_loaded=!0}}if(popMagic.buildUrl(),popMagic.browser=popMagic.browserDetector.detectBrowser(navigator.userAgent),popMagic.config.chrome_enabled||"chrome"!==popMagic.browser.name&&"crios"!==popMagic.browser.name){var n=popMagic.getPopMethod(popMagic.browser);popMagic.addEvent("click",n)}}},getPopMethod:function(e){return popMagic.config.popup_force||popMagic.config.popup_fallback&&"chrome"===e.name&&e.version>=68&&!e.isMobile?popMagic.methods.popup:e.isMobile?popMagic.methods.default:"chrome"===e.name?popMagic.methods.chromeTab:popMagic.methods.default},buildUrl:function(){var e,o,i="https:"!==document.location.protocol&&"http:"!==document.location.protocol?"https:":document.location.protocol,t=top===self?document.URL:document.referrer,n={type:"inline",name:"popMagic",ver:this.version},r="";customTargeting&&Object.keys(customTargeting).length&&("object"==typeof customTargeting?Object.keys(customTargeting):customTargeting).forEach(function(o){"object"==typeof customTargeting?e=customTargeting[o]:Array.isArray(customTargeting)&&(e=scriptEl.getAttribute(o)),r+=`&${o.replace("data-exo-","")}=${e}`}),this.url=i+"//"+this.config.syndication_host+"/splash.php?cat="+this.config.cat+"&idzone="+this.config.idzone+"&type=8&p="+encodeURIComponent(t)+"&sub="+this.config.sub+(""!==this.config.sub2?"&sub2="+this.config.sub2:"")+(""!==this.config.sub3?"&sub3="+this.config.sub3:"")+"&block=1&el="+this.config.el+"&tags="+this.config.tags+"&cookieconsent="+this.config.cookieconsent+"&scr_info="+encodeURIComponent(btoa((o=n).type+"|"+o.name+"|"+o.ver))+r},addEventToElement:function(e,o,i){e.addEventListener?e.addEventListener(o,i,!1):e.attachEvent?(e["e"+o+i]=i,e[o+i]=function(){e["e"+o+i](window.event)},e.attachEvent("on"+o,e[o+i])):e["on"+o]=e["e"+o+i]},addEvent:function(e,o){var i;if("3"==popMagic.config.trigger_method){for(r=0,i=document.querySelectorAll("a");r<i.length;r++)popMagic.addEventToElement(i[r],e,o);return}if("2"==popMagic.config.trigger_method&&""!=popMagic.config.trigger_method){var t,n=[];t=-1===popMagic.config.trigger_class.indexOf(",")?popMagic.config.trigger_class.split(" "):popMagic.config.trigger_class.replace(/\s/g,"").split(",");for(var r=0;r<t.length;r++)""!==t[r]&&n.push("."+t[r]);for(r=0,i=document.querySelectorAll(n.join(", "));r<i.length;r++)popMagic.addEventToElement(i[r],e,o);return}popMagic.addEventToElement(document,e,o)},setCookie:function(e,o,i){if(!this.config.cookieconsent)return!1;i=parseInt(i,10);var t=new Date;t.setMinutes(t.getMinutes()+parseInt(i));var n=encodeURIComponent(o)+"; expires="+t.toUTCString()+"; path=/";document.cookie=e+"="+n},getCookie:function(e){if(!this.config.cookieconsent)return!1;var o,i,t,n=document.cookie.split(";");for(o=0;o<n.length;o++)if(i=n[o].substr(0,n[o].indexOf("=")),t=n[o].substr(n[o].indexOf("=")+1),(i=i.replace(/^\s+|\s+$/g,""))===e)return decodeURIComponent(t)},randStr:function(e,o){for(var i="",t=o||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=0;n<e;n++)i+=t.charAt(Math.floor(Math.random()*t.length));return i},isValidUserEvent:function(e){return"isTrusted"in e&&!!e.isTrusted&&"ie"!==popMagic.browser.name&&"safari"!==popMagic.browser.name||0!=e.screenX&&0!=e.screenY},isValidHref:function(e){return void 0!==e&&""!=e&&!/\s?javascript\s?:/i.test(e)},findLinkToOpen:function(e){var o=e,i=!1;try{for(var t=0;t<20&&!o.getAttribute("href")&&o!==document&&"html"!==o.nodeName.toLowerCase();)o=o.parentNode,t++;var n=o.getAttribute("target");n&&-1!==n.indexOf("_blank")||(i=o.getAttribute("href"))}catch(r){}return popMagic.isValidHref(i)||(i=!1),i||window.location.href},getPuId:function(){return"ok_"+Math.floor(89999999*Math.random()+1e7)},browserDetector:{browserDefinitions:[["firefox",/Firefox\/([0-9.]+)(?:\s|$)/],["opera",/Opera\/([0-9.]+)(?:\s|$)/],["opera",/OPR\/([0-9.]+)(:?\s|$)$/],["edge",/Edg(?:e|)\/([0-9._]+)/],["ie",/Trident\/7\.0.*rv:([0-9.]+)\).*Gecko$/],["ie",/MSIE\s([0-9.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["safari",/Version\/([0-9._]+).*Safari/],["chrome",/(?!Chrom.*Edg(?:e|))Chrom(?:e|ium)\/([0-9.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9.]+)(:?\s|$)/],["bb10",/BB10;\sTouch.*Version\/([0-9.]+)/],["android",/Android\s([0-9.]+)/],["ios",/Version\/([0-9._]+).*Mobile.*Safari.*/],["yandexbrowser",/YaBrowser\/([0-9._]+)/],["crios",/CriOS\/([0-9.]+)(:?\s|$)/]],detectBrowser:function(e){var o=e.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile|WebOS|Windows Phone/i);for(var i in this.browserDefinitions){var t=this.browserDefinitions[i];if(t[1].test(e)){var n=t[1].exec(e),r=n&&n[1].split(/[._]/).slice(0,3),a=Array.prototype.slice.call(r,1).join("")||"0";return r&&r.length<3&&Array.prototype.push.apply(r,1===r.length?[0,0]:[0]),{name:t[0],version:r.join("."),versionNumber:parseFloat(r[0]+"."+a),isMobile:o}}}return{name:"other",version:"1.0",versionNumber:1,isMobile:o}}},methods:{default:function(e){if(!popMagic.shouldShow()||!popMagic.venorShouldShow()||!popMagic.isValidUserEvent(e))return!0;var o=e.target||e.srcElement,i=popMagic.findLinkToOpen(o);return window.open(i,"_blank"),popMagic.setAsOpened(e),popMagic.top.document.location=popMagic.url,void 0!==e.preventDefault&&(e.preventDefault(),e.stopPropagation()),!0},chromeTab:function(e){if(!popMagic.shouldShow()||!popMagic.venorShouldShow()||!popMagic.isValidUserEvent(e)||void 0===e.preventDefault)return!0;e.preventDefault(),e.stopPropagation();var o=top.window.document.createElement("a"),i=e.target||e.srcElement;o.href=popMagic.findLinkToOpen(i),document.getElementsByTagName("body")[0].appendChild(o);var t=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!0,altKey:!1,shiftKey:!1,metaKey:!0,button:0});t.preventDefault=void 0,o.dispatchEvent(t),o.parentNode.removeChild(o),window.open(popMagic.url,"_self"),popMagic.setAsOpened(e)},popup:function(e){if(!popMagic.shouldShow()||!popMagic.venorShouldShow()||!popMagic.isValidUserEvent(e))return!0;var o="";if(popMagic.config.popup_fallback&&!popMagic.config.popup_force){var i,t=Math.max(Math.round(.8*window.innerHeight),300),n=Math.max(Math.round(.7*window.innerWidth),300);o="menubar=1,resizable=1,width="+n+",height="+t+",top="+(window.screenY+100)+",left="+(window.screenX+100)}var r=document.location.href,a=window.open(r,popMagic.getPuId(),o);setTimeout(function(){a.location.href=popMagic.url},200),popMagic.setAsOpened(e),void 0!==e.preventDefault&&(e.preventDefault(),e.stopPropagation())}}};    popMagic.init(adConfig);
        })();
   }
</script>
<a href="https://www.mytest.com">Test</a>
<script type="application/javascript">
    document.addEventListener('creativeDisplayed-XXX', function(e) { // Replace XXX with zone id
        ++counter;
        document.cookie = name + "=" + counter + "; path=/";
    });
</script>
</body>
</html>
```

{% endtab %}

{% tab title="BE Example" %}

```php
<?php
$counter = $_COOKIE['popunder-capping'] ?? 0;
?>
<html>
<head>Test</head>
<body>
<?php
if ($counter < 5) :
?>
    <script type="application/javascript">
            (function() {
            //version 1.0.0
            var adConfig = {
            "ads_host": "a.pemsrv.com",
            "syndication_host": "s.pemsrv.com",
            "idzone": XXX, // Replace XXX with zone id
            "popup_fallback": false,
            "popup_force": false,
            "chrome_enabled": true,
            "new_tab": false,
            "frequency_period": 5,
            "frequency_count": 1,
            "trigger_method": 3,
            "trigger_class": "",
            "trigger_delay": 0,
            "capping_enabled": false,
            "only_inline": true
        };
            window.document.querySelectorAll||(document.querySelectorAll=document.body.querySelectorAll=Object.querySelectorAll=function e(o,i,t,n,r){var a=document,c=a.createStyleSheet();for(r=a.all,i=[],t=(o=o.replace(/\[for\b/gi,"[htmlFor").split(",")).length;t--;){for(c.addRule(o[t],"k:v"),n=r.length;n--;)r[n].currentStyle.k&&i.push(r[n]);c.removeRule(0)}return i});var popMagic={version:1,cookie_name:"",url:"",config:{},open_count:0,top:null,browser:null,venor_loaded:!1,venor:!1,configTpl:{ads_host:"",syndication_host:"",idzone:"",frequency_period:720,frequency_count:1,trigger_method:1,trigger_class:"",popup_force:!1,popup_fallback:!1,chrome_enabled:!0,new_tab:!1,cat:"",tags:"",el:"",sub:"",sub2:"",sub3:"",only_inline:!1,trigger_delay:0,capping_enabled:!1,cookieconsent:!0},init:function(e){if(void 0!==e.idzone&&e.idzone){void 0===e.customTargeting&&(e.customTargeting=[]),window.customTargeting=e.customTargeting||null;var o=Object.keys(e.customTargeting).filter(function(e){return e.search("ex_")>=0});for(var i in o.length&&o.forEach((function(e){return this.configTpl[e]=null}).bind(this)),this.configTpl)Object.prototype.hasOwnProperty.call(this.configTpl,i)&&(void 0!==e[i]?this.config[i]=e[i]:this.config[i]=this.configTpl[i]);void 0!==this.config.idzone&&""!==this.config.idzone&&(!0!==this.config.only_inline&&this.loadHosted(),this.addEventToElement(window,"load",this.preparePop))}},getCountFromCookie:function(){if(!this.config.cookieconsent)return 0;var e=popMagic.getCookie(popMagic.cookie_name),o=void 0===e?0:parseInt(e);return isNaN(o)&&(o=0),o},getLastOpenedTimeFromCookie:function(){var e=popMagic.getCookie(popMagic.cookie_name),o=null;if(void 0!==e){var i=e.split(";")[1];o=i>0?parseInt(i):0}return isNaN(o)&&(o=null),o},shouldShow:function(){if(!popMagic.config.capping_enabled)return 0===popMagic.open_count;if(popMagic.open_count>=popMagic.config.frequency_count)return!1;var e=popMagic.getCountFromCookie();let o=popMagic.getLastOpenedTimeFromCookie(),i=Math.floor(Date.now()/1e3),t=o+popMagic.config.trigger_delay;return(!o||!(t>i))&&(popMagic.open_count=e,!(e>=popMagic.config.frequency_count))},venorShouldShow:function(){return popMagic.venor_loaded&&"0"===popMagic.venor},setAsOpened:function(e){var o=e?e.target||e.srcElement:null,i={id:"",tagName:"",classes:"",text:"",href:"",elm:""};void 0!==o&&null!=o&&(i={id:void 0!==o.id&&null!=o.id?o.id:"",tagName:void 0!==o.tagName&&null!=o.tagName?o.tagName:"",classes:void 0!==o.classList&&null!=o.classList?o.classList:"",text:void 0!==o.outerText&&null!=o.outerText?o.outerText:"",href:void 0!==o.href&&null!=o.href?o.href:"",elm:o});var t=new CustomEvent("creativeDisplayed-"+popMagic.config.idzone,{detail:i});if(document.dispatchEvent(t),!popMagic.config.capping_enabled){++popMagic.open_count;return}var n=1;n=0!==popMagic.open_count?popMagic.open_count+1:popMagic.getCountFromCookie()+1;let r=Math.floor(Date.now()/1e3);popMagic.config.cookieconsent&&popMagic.setCookie(popMagic.cookie_name,`${n};${r}`,popMagic.config.frequency_period)},loadHosted:function(){var e=document.createElement("script");for(var o in e.type="application/javascript",e.async=!0,e.src="//"+this.config.ads_host+"/popunder1000.js",e.id="popmagicldr",this.config)Object.prototype.hasOwnProperty.call(this.config,o)&&"ads_host"!==o&&"syndication_host"!==o&&e.setAttribute("data-exo-"+o,this.config[o]);var i=document.getElementsByTagName("body").item(0);i.firstChild?i.insertBefore(e,i.firstChild):i.appendChild(e)},preparePop:function(){if(!("object"==typeof exoJsPop101&&Object.prototype.hasOwnProperty.call(exoJsPop101,"add"))){if(popMagic.top=self,popMagic.top!==self)try{top.document.location.toString()&&(popMagic.top=top)}catch(e){}if(popMagic.cookie_name="zone-cap-"+popMagic.config.idzone,popMagic.shouldShow()){var o=new XMLHttpRequest;o.onreadystatechange=function(){o.readyState==XMLHttpRequest.DONE&&(popMagic.venor_loaded=!0,200==o.status?popMagic.venor=o.responseText:popMagic.venor="0")};var i="https:"!==document.location.protocol&&"http:"!==document.location.protocol?"https:":document.location.protocol;o.open("GET",i+"//"+popMagic.config.syndication_host+"/venor.php",!0);try{o.send()}catch(t){popMagic.venor_loaded=!0}}if(popMagic.buildUrl(),popMagic.browser=popMagic.browserDetector.detectBrowser(navigator.userAgent),popMagic.config.chrome_enabled||"chrome"!==popMagic.browser.name&&"crios"!==popMagic.browser.name){var n=popMagic.getPopMethod(popMagic.browser);popMagic.addEvent("click",n)}}},getPopMethod:function(e){return popMagic.config.popup_force||popMagic.config.popup_fallback&&"chrome"===e.name&&e.version>=68&&!e.isMobile?popMagic.methods.popup:e.isMobile?popMagic.methods.default:"chrome"===e.name?popMagic.methods.chromeTab:popMagic.methods.default},buildUrl:function(){var e,o,i="https:"!==document.location.protocol&&"http:"!==document.location.protocol?"https:":document.location.protocol,t=top===self?document.URL:document.referrer,n={type:"inline",name:"popMagic",ver:this.version},r="";customTargeting&&Object.keys(customTargeting).length&&("object"==typeof customTargeting?Object.keys(customTargeting):customTargeting).forEach(function(o){"object"==typeof customTargeting?e=customTargeting[o]:Array.isArray(customTargeting)&&(e=scriptEl.getAttribute(o)),r+=`&${o.replace("data-exo-","")}=${e}`}),this.url=i+"//"+this.config.syndication_host+"/splash.php?cat="+this.config.cat+"&idzone="+this.config.idzone+"&type=8&p="+encodeURIComponent(t)+"&sub="+this.config.sub+(""!==this.config.sub2?"&sub2="+this.config.sub2:"")+(""!==this.config.sub3?"&sub3="+this.config.sub3:"")+"&block=1&el="+this.config.el+"&tags="+this.config.tags+"&cookieconsent="+this.config.cookieconsent+"&scr_info="+encodeURIComponent(btoa((o=n).type+"|"+o.name+"|"+o.ver))+r},addEventToElement:function(e,o,i){e.addEventListener?e.addEventListener(o,i,!1):e.attachEvent?(e["e"+o+i]=i,e[o+i]=function(){e["e"+o+i](window.event)},e.attachEvent("on"+o,e[o+i])):e["on"+o]=e["e"+o+i]},addEvent:function(e,o){var i;if("3"==popMagic.config.trigger_method){for(r=0,i=document.querySelectorAll("a");r<i.length;r++)popMagic.addEventToElement(i[r],e,o);return}if("2"==popMagic.config.trigger_method&&""!=popMagic.config.trigger_method){var t,n=[];t=-1===popMagic.config.trigger_class.indexOf(",")?popMagic.config.trigger_class.split(" "):popMagic.config.trigger_class.replace(/\s/g,"").split(",");for(var r=0;r<t.length;r++)""!==t[r]&&n.push("."+t[r]);for(r=0,i=document.querySelectorAll(n.join(", "));r<i.length;r++)popMagic.addEventToElement(i[r],e,o);return}popMagic.addEventToElement(document,e,o)},setCookie:function(e,o,i){if(!this.config.cookieconsent)return!1;i=parseInt(i,10);var t=new Date;t.setMinutes(t.getMinutes()+parseInt(i));var n=encodeURIComponent(o)+"; expires="+t.toUTCString()+"; path=/";document.cookie=e+"="+n},getCookie:function(e){if(!this.config.cookieconsent)return!1;var o,i,t,n=document.cookie.split(";");for(o=0;o<n.length;o++)if(i=n[o].substr(0,n[o].indexOf("=")),t=n[o].substr(n[o].indexOf("=")+1),(i=i.replace(/^\s+|\s+$/g,""))===e)return decodeURIComponent(t)},randStr:function(e,o){for(var i="",t=o||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=0;n<e;n++)i+=t.charAt(Math.floor(Math.random()*t.length));return i},isValidUserEvent:function(e){return"isTrusted"in e&&!!e.isTrusted&&"ie"!==popMagic.browser.name&&"safari"!==popMagic.browser.name||0!=e.screenX&&0!=e.screenY},isValidHref:function(e){return void 0!==e&&""!=e&&!/\s?javascript\s?:/i.test(e)},findLinkToOpen:function(e){var o=e,i=!1;try{for(var t=0;t<20&&!o.getAttribute("href")&&o!==document&&"html"!==o.nodeName.toLowerCase();)o=o.parentNode,t++;var n=o.getAttribute("target");n&&-1!==n.indexOf("_blank")||(i=o.getAttribute("href"))}catch(r){}return popMagic.isValidHref(i)||(i=!1),i||window.location.href},getPuId:function(){return"ok_"+Math.floor(89999999*Math.random()+1e7)},browserDetector:{browserDefinitions:[["firefox",/Firefox\/([0-9.]+)(?:\s|$)/],["opera",/Opera\/([0-9.]+)(?:\s|$)/],["opera",/OPR\/([0-9.]+)(:?\s|$)$/],["edge",/Edg(?:e|)\/([0-9._]+)/],["ie",/Trident\/7\.0.*rv:([0-9.]+)\).*Gecko$/],["ie",/MSIE\s([0-9.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["safari",/Version\/([0-9._]+).*Safari/],["chrome",/(?!Chrom.*Edg(?:e|))Chrom(?:e|ium)\/([0-9.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9.]+)(:?\s|$)/],["bb10",/BB10;\sTouch.*Version\/([0-9.]+)/],["android",/Android\s([0-9.]+)/],["ios",/Version\/([0-9._]+).*Mobile.*Safari.*/],["yandexbrowser",/YaBrowser\/([0-9._]+)/],["crios",/CriOS\/([0-9.]+)(:?\s|$)/]],detectBrowser:function(e){var o=e.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile|WebOS|Windows Phone/i);for(var i in this.browserDefinitions){var t=this.browserDefinitions[i];if(t[1].test(e)){var n=t[1].exec(e),r=n&&n[1].split(/[._]/).slice(0,3),a=Array.prototype.slice.call(r,1).join("")||"0";return r&&r.length<3&&Array.prototype.push.apply(r,1===r.length?[0,0]:[0]),{name:t[0],version:r.join("."),versionNumber:parseFloat(r[0]+"."+a),isMobile:o}}}return{name:"other",version:"1.0",versionNumber:1,isMobile:o}}},methods:{default:function(e){if(!popMagic.shouldShow()||!popMagic.venorShouldShow()||!popMagic.isValidUserEvent(e))return!0;var o=e.target||e.srcElement,i=popMagic.findLinkToOpen(o);return window.open(i,"_blank"),popMagic.setAsOpened(e),popMagic.top.document.location=popMagic.url,void 0!==e.preventDefault&&(e.preventDefault(),e.stopPropagation()),!0},chromeTab:function(e){if(!popMagic.shouldShow()||!popMagic.venorShouldShow()||!popMagic.isValidUserEvent(e)||void 0===e.preventDefault)return!0;e.preventDefault(),e.stopPropagation();var o=top.window.document.createElement("a"),i=e.target||e.srcElement;o.href=popMagic.findLinkToOpen(i),document.getElementsByTagName("body")[0].appendChild(o);var t=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!0,altKey:!1,shiftKey:!1,metaKey:!0,button:0});t.preventDefault=void 0,o.dispatchEvent(t),o.parentNode.removeChild(o),window.open(popMagic.url,"_self"),popMagic.setAsOpened(e)},popup:function(e){if(!popMagic.shouldShow()||!popMagic.venorShouldShow()||!popMagic.isValidUserEvent(e))return!0;var o="";if(popMagic.config.popup_fallback&&!popMagic.config.popup_force){var i,t=Math.max(Math.round(.8*window.innerHeight),300),n=Math.max(Math.round(.7*window.innerWidth),300);o="menubar=1,resizable=1,width="+n+",height="+t+",top="+(window.screenY+100)+",left="+(window.screenX+100)}var r=document.location.href,a=window.open(r,popMagic.getPuId(),o);setTimeout(function(){a.location.href=popMagic.url},200),popMagic.setAsOpened(e),void 0!==e.preventDefault&&(e.preventDefault(),e.stopPropagation())}}};    popMagic.init(adConfig);
        })();
        document.addEventListener(
            'creativeDisplayed-XXX', // Replace XXX with zone id
            function(e) {
                const name = 'popunder-capping';
                let match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
                let counter = match ? parseInt(match[2], 10) : 0;
                ++counter;
                document.cookie = "popunder-capping=" + counter + "; path=/";
            }
        );
    </script>
    </body>
<?php
endif;
?>
<a href="https://www.mytest.com">Test</a>
</html>
```

{% endtab %}
{% endtabs %}
{% endstep %}
{% endstepper %}


# Native Ad Setup

Creating a [Native Ad](/publishers/sites-and-zones/create-zone#recommendation-widget) zone is simple and yet powerfully customizable. You are able to use slightly different processes for setting up a native ad zone depending on your needs:

* **Scenario A**: You simply want to set up an ad zone, choose the aspect ratio of the native ad zone’s images and then set the size of the ad zone on your site to match.
* **Scenario B**: You want to set up the ad zone to match a custom image size or ratio, so that the ad zone looks the same as your site and fits in perfectly.
* **Scenario C**: You have a zone on your site of a specific size and want to create an ad zone that fits in it and looks good.

Whichever scenario you choose, the first thing you need to do is to create a Native Ad zone.

## Creating a Native Ad Zone

When logged in as a Publisher, click on **Sites & Zones**, **New Zone**, and expand the **Native** section, select the Native Ad format **Recommendation Widget** and click **Next**.

![Create Zone Native](/files/6248a5fb9ae7f9d95aba65622feb34666f724dab)

Fill out the zone details and click **Next**.

{% tabs %}
{% tab title="Scenario A: Quick Layout: Set aspect ratio" %}
In this scenario, you set the aspect ratio for the images in the Admin Panel, and there is no need to set the total ad zone size. When using the **Quick Layout**, the ad zone you create will adapt itself automatically to the size of the container you place it in.

{% stepper %}
{% step %}

### Step 1

![Native Step 1](/files/e803c1699f441252e1e4214569c4a807cd92dac9)

Select the **Quick Layout** tab. In the **Desktop Layout** section, set the number of columns and rows of ads you want on desktop.
{% endstep %}

{% step %}

### Step 2

![Native Step 2](/files/ed44568121344d8ef62601707a4e11648608d621)

Next, choose the aspect ratio for your images from the **Image Settings** drop-down. You can choose between **1:1**, **4:3** or **16:9**, to match the thumbnails on your site.
{% endstep %}

{% step %}

### Step 3

![Native Step 3](/files/af0b8982d565ec5d0a5d3e666baad3f617f24a4d)

* Once you have chosen the aspect ratio, use the checkbox to choose whether you want to show text or not, and then decide where it shows.
* This text consists of a **Title** and a **Description**. You can turn those on and off individually in the **Title** and **Description** sections if you wish.
* Check the preview on the right to see how your ad zone looks, and tweak the settings again if necessary.
  {% endstep %}

{% step %}

### Step 4

![Native Step 4](/files/3869b2b343b5c59c7881da69ddc30fe56875e603)

* Repeat steps 1-3 above in the **Mobile Layout** section to set your ad zone up for mobile.
  {% endstep %}

{% step %}

### Step 5

![Native Step 5](/files/f6a31b5db3c9c4df180d38208d5cf23ba671175e)

* Check the preview for both **Desktop** and **Mobile** on the right side of the screen. You can set where the breakpoint between desktop and mobile view occurs in the **Mobile Breaking Point** drop-down of **Advanced Options**.
* The breakpoint can be set to **800px** for iPad, **450px** for mobile and **Unresponsive**. When we change the breakpoint this changes whether our settings in the Desktop Layout section affect desktop and iPad, or just desktop itself.
* When you’re happy with how the preview looks, click **Create**.
  {% endstep %}

{% step %}

### Step 6

![Native Step 6](/files/c19165c6d044241359411c8d7a4d1b95de02027d)

* Copy the **Zone HTML Tag** and add it to your site.
* The ad zone will automatically adjust to 100% of the container that you put the tag into. i.e. the larger the container, the larger both the zone and the ads will be.
  {% endstep %}
  {% endstepper %}
  {% endtab %}

{% tab title="Scenario B: Quick Layout: Set a custom image size" %}
In this scenario, you want to be able to change the image size and the spacing of the ad to match your site. You would do this if you really want the native ads to look like they are part of the editorial content of your site.

{% stepper %}
{% step %}

### Step 1

![Native Step 7](/files/f4ffc5defdaa9df8562e1175a04c5b324e1e0024)

* Select the **Quick Layout** tab. In the **Desktop Layout** section, set the number of columns and rows of ads you want on desktop.
  {% endstep %}

{% step %}

### Step 2

![Native Step 8](/files/7ddf49cd7eda0b2e8c6770f511cc03e22956be7d)

* In the **Image Settings** drop-down, select **Custom Size** and set the width and height of the images to match your site. If the site contains a meta tag and is responsive, when the site is viewed, the images will respond also as the screen size decreases. Information about the **Widget Size** and the **Image Size** will display in the top right corner above the preview.
  {% endstep %}

{% step %}

### Step 3

![Native Step 9](/files/bb4e10ebeba1833e5d84f1ac3e7855058ffde889)

* Once you have set the image size, choose whether you want to show text or not, using the **Text** checkbox, and choose where it shows.
* Check the preview on the right to see how your ad zone looks, and tweak the settings again if necessary.
  {% endstep %}

{% step %}

### Step 4

![Native Step 10](/files/028c4fb1c922fac96a2f2b6fa5444fc1e961dc7e)

* Repeat steps 1-3 in the **Mobile Layout** section to set your ad zone up for mobile.
  {% endstep %}

{% step %}

### Step 5

![Native Step 11](/files/98e426c3314ba489e48d19ef736ea27d498b60d8)

* In the **Advanced Options** section, you can set how many pixels of **Vertical Spacing** and **Horizontal Spacing** you want around each ad.

{% hint style="info" %}
**Note**: Changing these settings will change the overall size of the ad zone.
{% endhint %}
{% endstep %}

{% step %}

### Step 6

![Native Step 12](/files/f6a31b5db3c9c4df180d38208d5cf23ba671175e)

* Check the preview for both **Desktop** and **Mobile** on the right side of the screen. You can set where the breakpoint between desktop and mobile view occurs in the **Mobile Breaking Point** drop-down of **Advanced Options**.
* The breakpoint can be set to **800px** for iPad, **450px** for mobile and **Unresponsive**. When we change the breakpoint this changes whether our settings in the Desktop Layout section affect desktop and iPad, or just desktop itself.
* When you’re happy with how the preview looks, click **Create**.
  {% endstep %}

{% step %}

### Step 7

![Native Step 13](/files/c19165c6d044241359411c8d7a4d1b95de02027d)

* Copy the **Zone HTML Tag** and add it to your site.
* Ensure that the ad zone size on your site matches the size of the zone that you just created.
  {% endstep %}
  {% endstepper %}
  {% endtab %}

{% tab title="Scenario C: Custom Layout: Set a fixed zone size" %}
In this scenario, you want to be able to set the size of the ad zone to match what your site needs, and tweak the settings to ensure that the ads display well.

{% stepper %}
{% step %}

### Step 1

![Native Step 13](/files/c885bf9430ddab409fe279b662aab836e26fd269)

Select the **Custom Layout** tab. In the **Desktop Layout** section, set the **Width** and the **Height** of the total Ad Zone which you wish to create.
{% endstep %}

{% step %}

### Step 2

![Native Step 14](/files/f34609bc4dc32a7d4aa927e0bcd9e81a122ce19e)

Next, choose how many **Columns** and **Rows** of ads you wish to display in the ad zone. Check the preview on the right to see what settings work for the size you have chosen.
{% endstep %}

{% step %}

### Step 3

![Native Step 15](/files/dec5fda9da561366716d0f5fd970c9ac38721031)

Once you’ve chosen how many columns and rows you want, choose whether you want to show text or not, using the **Text** checkbox, and choose where it shows using the **Text Position** drop-down.
{% endstep %}

{% step %}

### Step 4

![Native Step 15](/files/3b94dea24a21cc6dbc38f635933d3f6c4f9c28cc)

Repeat steps 1-3 in the **Mobile Layout** section to set your ad zone up for mobile.
{% endstep %}

{% step %}

### Step 5

![Native Step 16](/files/f6a31b5db3c9c4df180d38208d5cf23ba671175e)

* Check the preview for both **Desktop** and **Mobile** on the right side of the screen. You can set where the breakpoint between desktop and mobile view occurs in the **Mobile Breaking Point** drop-down of **Advanced Options**.
* The breakpoint can be set to **800px** for iPad, **450px** for mobile and **Unresponsive**. When we change the breakpoint this changes whether our settings in the Desktop Layout section affect desktop and iPad, or just desktop itself.
* When you’re happy with how the preview looks, click **Create**.
  {% endstep %}

{% step %}

### Step 6

![Native Step 17](/files/c19165c6d044241359411c8d7a4d1b95de02027d)

Copy the **Zone HTML Tag** and add it to your site.
{% endstep %}
{% endstepper %}
{% endtab %}
{% endtabs %}

## Selecting the Unresponsive in Mobile Breaking Point

* When the Mobile Breaking Point is set to Unresponsive under Advanced Options, the below modal will appear on the screen.

![Unresponsive2](/files/0fef84fc7f5cc5c29f3eb9a9ee9b48d9a4d404fe)

![Unresponsive3](/files/5c439cd1e603bb906ffe934fc1f0b7d08828412c)

* Clicking **CONTINUE** on the modal will serve the desktop layout for ads on all devices including mobile and tablet.
* The Mobile layout will no longer be editable by the user when Unresponsive is selected.
* The image settings are updated to default custom size (Width - 200px and height - 200px) if not saved previously.

## Using Custom CSS with Native Ads

![banner](/files/d13fca015e9b4c9900bd3b39b4060fa23b8dc513)

In the **Custom CSS** section, you can add custom CSS to ensure that the ad zone displays correctly on your site. The most important CSS classes are provided as a starting point. Find out more about CSS [here](https://www.w3schools.com/css/default.asp).

{% hint style="info" %}
**Note**: Be aware that changes to the Custom CSS won't show in the preview: they will only show on your site itself.
{% endhint %}

### CSS classes for native ads

There are five CSS classes provided in the box to begin with, and you can paste in additional styling as you see fit. These five CSS classes style the most important elements of the native ad as follows:

![native ad CSS](/files/48d96ea540e9b51e9eb31d20302d8bec5a016a51)

| Class                              | Action                                         |
| ---------------------------------- | ---------------------------------------------- |
| .exo-native-widget-outer-container | Styles the entire widget container.            |
| .exo-native-widget-item            | Styles the containers of the individual items. |
| .exo-native-widget-item-image      | Styles the image.                              |
| .exo-native-widget-item-title      | Styles the title text.                         |
| .exo-native-widget-item-text       | Styles the description text                    |

### Additional CSS classes

You can also style the native ad using these additional CSS classes:

| Class                                 | Action                                                         |
| ------------------------------------- | -------------------------------------------------------------- |
| .exo-native-widget                    | Wraps the whole widget.                                        |
| .exo-native-widget-header             | Wraps the header elements.                                     |
| .exo-native-widget-outer-container    | Wraps all ads.                                                 |
| .exo-native-widget-item-container     | Wraps the adbox.                                               |
| .exo-native-widget-item-image-wrapper | Wraps the image in the adbox.                                  |
| .exo-native-widget-item-image-ratio   | Sets the ad image aspect ratio.                                |
| .exo-native-widget-item-content       | Wraps all the adbox text.                                      |
| .exo-native-widget-item-content-box   | This wraps the title, description and brand of the ad wrapper. |
| .exo-native-widget-item-brand         | Styles the ad brand.                                           |

**Examples**

* The following examples show how Publishers can adapt CSS styles on Native Ad Zone setup based on their needs.

{% stepper %}
{% step %}

#### 1. To place the text box over the image.

![native ad CSS example](/files/a1619a0dee4c9269e162825274408a7b69637529)

```css

 .exo-native-widget-item-content {
      position: absolute !important;
      bottom: 0px  !important;
      z-index: 3  !important;
      top: unset  !important;
      height: 50px  !important;
      left: 15px;
   }

```

{% endstep %}

{% step %}

#### 2. To modify the size of the text box.

![native ad CSS example](/files/4453ea901c3655de9c452c4e9d85f0b53f90ceb5)

```css

 .exo-native-widget-item-content {
      height: 50px  !important;
   }

```

{% endstep %}

{% step %}

#### 3. To place the text box over the image and add a background to the text box with opacity.

![native ad CSS example](/files/af400f58938c7fd083d2d5dfff97891cd271fbc6)

```css

 .exo-native-widget-item-content {
      position: absolute !important;
      bottom: 0px  !important;
      z-index: 3  !important;
      top: unset  !important;
      height: 50px  !important;
      background-color: black !important;
      opacity: 0.7 !important;
    }
.exo-native-widget-item-title {
    margin-left: 5px !important;
    padding-top: 3px !important;
    color: white !important;
    }
.exo-native-widget-item-text {
    margin-left: 5px !important;
    padding-top: 3px !important;
    color: white !important;
    }
.exo-native-widget-item-brand {
    margin-left: 5px !important;
    padding-top: 3px !important;
    color: white !important;
    }

```

{% endstep %}

{% step %}

#### 4. To curve the image borders.

![native ad CSS example](/files/7294038269d88437f6c95768516e66fc87ae836d)

```css

 .exo-native-widget-item-image {
    border-radius: 5% !important;
    }   

```

{% endstep %}

{% step %}

#### 5. To set a style for the font. This way the Publisher can use fonts available on their website and other than those available on Zone setup.

![native ad CSS example](/files/6b0b5991d6b33cd898dabff387fe1ad07e38dc65)

```css

 .exo-native-widget-item-title, .exo-native-widget-item-text, .exo-native-widget-item-brand {
   font-family: fantasy !important;
   }

```

{% endstep %}

{% step %}

#### 6. To add padding between the image and text, so the text can be either close or far from the image. You can also use padding-bottom to add padding below the text.

![native ad CSS example](/files/820fad6db5f9abe4a1043ca210d94c4d7d2379b0)

```css

 .exo-native-widget-item-content {
    padding: 30px !important;
    }

```

{% endstep %}

{% step %}

#### 7. To customize the background colour of the text box so it only affects the text box that is below each image, leaving the space between images and boxes transparent or with a different background colour.

![native ad CSS example](/files/c356c9bb6709176c4ea0ed208d7e2f8e89d420b6)

```css

 .exo-native-widget-item-content {
    background-color: #ABE1FA !important;
    padding: 10px !important;
}
.exo-native-widget-outer-container {
    background-color: white !important;
    padding: 10px !important;
}
.exo-native-widget-item-title {
    margin-left: 5px !important;
    padding-top: 3px !important;
    color: white !important;
    }
.exo-native-widget-item-text {
    margin-left: 5px !important;
    padding-top: 3px !important;
    color: white !important;
    }
.exo-native-widget-item-brand {
    margin-left: 5px !important;
    padding-top: 3px !important;
    color: white !important;
    }

```

{% endstep %}

{% step %}

#### 8. To add a border that covers an image and its text box. This will help separate each image within that Native Widget.

![native ad CSS example](/files/6bd2f4adf0c181b1c73e4a6f8511948bc7bf02b2)

```css

.exo-native-widget-item-container {
  border: 10px #0073B7 solid !important;
  padding: 10px !important;
}
.exo-native-widget-outer-container {
  margin: 10px !important;
}

```

{% endstep %}
{% endstepper %}


# Payments

Get paid for the traffic you deliver through ExoClick. This section covers the available payment options and timescales, as well as how to use the Payments tab in your publisher dashboard to track earnings and manage your payouts.


# Payment Options and Timescales

As a Publisher, you can add your payment method by clicking on **your username** in the top right hand corner from the Admin Panel.

![Payment settings](/files/c462f8e0769881c0f2b60a1f516b0ee7efe0472f)

Click on **Payment Settings**, then choose your preferred option by clicking on **Payment type**:

![Payment options](/files/7051d37b4c3806b076ff8390ee326897daa02772)

Available payment methods:

* **BitPay**
* **Cryptocurrency**
* **Paxum**
* **Wire transfer**

In the following sections we will explain each of them in detail.

## BitPay

Payouts are paid in cryptocurrency through the payment gateway BitPay and to your cryptocurrency wallet. Note that, in order to use this payment method, **you need to have a verified Bitpay wallet address.**

Once you have created your BitPay account, **add the email address from your Bitpay account to your ExoClick Payment settings**

![Exoclick payment](/files/f237f6b600532340b80d5dd4e957bb4ab66149cb)

Once you select the Bitpay payment model and add your **BitPay email account**, you will receive an email invite from BitPay in order to start receiving earnings from ExoClick.

![Payment settings](/files/d0df12388775a08ea2a00f80fb41968f049b7764)

***

![Payment settings](/files/c167546a716e70921d379d5647e2cf6ca69972c8)

You can receive your earnings in the following cryptocurrencies:

* BTC
* BCH
* ETH
* DOGE
* LTC
* USDC\*
* USDP
* DAI
* WEBTC
* APE
* EUROC
* MATIC\_e
* GUSD

BitPay allows both **Weekly** and **Monthly** payments. The minimum earnings in both cases are **25 EUR/USD.**

***

{% hint style="info" %}
**Notes:**

* Please make sure that **the email you added in the Payment Settings from the Admin Panel matches the email in your BitPay account.**
* Please make sure that your **Wallet provider** corresponds to the platform where you created your wallet.
* BitPay payment option has some **country restrictions** in order to comply with anti-money laundering and screening regulations across geographies. This payment method won't be available if the account is from the following forbidden countries:
  * Algeria
  * Bangladesh
  * Bolivia
  * Brazil
  * Cambodia
  * Cuba
  * Ecuador
  * Egypt
  * Indonesia
  * Iran
  * Iraq
  * Kyrgyzstan
  * Macedonia
  * Morocco
  * Nepal
  * North Korea
  * Pakistan
  * Palestinian Territory
  * Syria
  * Vietnam
    {% endhint %}

## Cryptocurrency

Payouts are paid in cryptocurrency to your cryptocurrency wallet. When adding your wallet, please make sure to add the correct **wallet**. This payment method allows both **Weekly** and **Monthly** payments. The minimum earnings are **50 EUR/USD.**

You can receive your earningsx in the following cryptocurrencies and networks. Be aware that, depending on the network you choose, you will also be charged a network fee using the currency you selected.

| Currency | Network | Network fee |
| -------- | ------- | ----------- |
| AAVE     | ERC20   | 0.25        |
| ADA      | ADA     | 0.5         |
| ALGO     | ALGO    | 5           |
| APE      | ERC20   | 2.5         |
| ATOM     | ATOM    | 1           |
| AVAX     | AVAX    | 0.005       |
| BNB      | BEP20   | 0.001       |
| BTC\*    | BTC     | 0.0005      |
| BCH      | BCH     | 0.004       |
| BIT      | ERC20   | 5           |
| DOGE     | BEP20   | 2.74        |
| DOGE     | DOGE    | 6           |
| DOT      | DOT     | 0.5         |
| EOS      | EOS     | 0.2         |
| ETC      | ERC20   | 0.01        |
| ETH      | BEP20   | 0.0005      |
| ETH      | ERC20   | 0.004       |
| FIL      | BEP20   | 0.013       |
| FET      | ERC20   | 25          |
| HBAR     | HBAR    | 3           |
| LINK     | BEP20   | 0.015       |
| LINK     | ERC20   | 1           |
| LTO      | ERC20   | 75          |
| MATIC    | ERC20   | 5           |
| MATIC    | POLYGON | 0.01        |
| QNT      | ERC20   | 0.07        |
| SHIB     | ERC20   | 447000      |
| SOL      | SOL     | 0.012       |
| TRX      | TRC20   | 16          |
| UNI      | ERC20   | 0.62        |
| USDC     | POLYGON | 1           |
| USDC     | ERC20   | 7           |
| USDT     | BEP20   | 0.6         |
| USDT     | POLYGON | 0.6         |
| USDT     | TRC20   | 2.5         |
| USDT     | ERC20   | 10          |
| XLM      | XLM     | 0.02        |
| XRP      | XRP     | 0.05        |
| XEC      | XEC     | 5000        |
| XTZ      | XTZ     | 0.4         |
| XTZ      | BEP20   | 0.4         |
| ZIL      | BEP20   | 2.84        |

***

{% hint style="info" %}
**Notes:**

* For BTC, the minimum earnings are **500 EUR/USD**.
* Crypto invoices will show the account currency. It is not possible to change the currency shown in invoices.
  {% endhint %}

## Paxum

Payouts are made through Paxum into your Paxum account. When adding your account, please make sure to add the correct **email address**.

Paxum allows both **Weekly** and **Monthly** payments. The minimum earnings in both cases are **20 EUR/USD.**

## Wire transfer

Payouts are made through wire transfer to your bank account. For this method you need to provide the following details:

* **Bank Country:** The country where the bank is situated.
* **Bank Name:** The name of the bank.
* **IBAN:** The IBAN of your account. If you don't have an IBAN you can use the Account Number instead.
* **Name on Account:** The name that appears in the bank account.
* **SWITFT or BIC:** The unique identifier SWIFT or BIC of your bank.

Wire transfer allows both **Weekly** and **Monthly** payments. The minimum earnings in both cases are **200 EUR/USD.**

## When should you expect your payments to arrive

Weekly payments are paid each Monday if the minimum payment amount is reached by the beginning of the previous week **(Net7).** For Wire transfers, please note that invoices are paid **1 week after they are generated.**

Monthly payments are paid on the 20th of the next month if the minimum payment amount is reached **(Net20).**

Payments are sent by the end of normal office hours (**6pm CET**) on the due date. Should your payment date fall on a **public holiday**, it will be sent the next available working day.

***

{% hint style="info" %}
**Note:** changes on your payment frequency will be applied in the next payment period, not the current one.
{% endhint %}


# Payments Tab

In the **Payments** tab, you can see how your payments are configured and the history of payments you have already received.

![addashboard](https://docs.exoclick.com/assets/images/publisher-payments-bd44f49d66d2c45da29c315d29de58ae.png)

## The Payment Information section <a href="#the-payment-information-section" id="the-payment-information-section"></a>

In the **Payment Information** section at the top of the screen you can see:

* **The Account Status**: Whether your account is approved or not.
* **Minimum Payout**: This is the threshold amount above which the Publisher will get a payout.
* **Payment Frequency**: Whether automatic payments\* generate invoices **Weekly** or **Monthly**
* **Next Payment Date**: The next date that you are due to receive payment.
* **Next Payment Period**: The period that your next payment will cover.
* **Due on Next Period**: The amount that is due on your next payment.
* **Total Due**: The total that you are due to receive.

\*Automatic payments will generate invoices automatically on a **Weekly** or **Monthly** basis and as chosen by the Publisher.

## Payment History <a href="#payment-history" id="payment-history"></a>

In the **Payment History** section at the bottom of the screen, you can see the history of the payments you have received:

* **Period**: The period covered by the payment.
* **Amount**: The amount of the payment.
* **Referrals**: The amount of revenue you have received from **Referrals**.
* **VAT**: Any VAT you paid on the payment.
* **Total**: The Total amount of the payment including VAT.
* **Date**: The date the invoice was generated.
* **Due Date**: The date the invoice is expected to be paid by.
* **Payment Date**: The date of the invoice’s payment.
* **Status**: Whether the payment is **Paid** or **Pending**.


# Publisher Referral Program

It's great that you want to promote us, thank you!

In return, we offer you the opportunity to earn extra revenue for each referral you bring.

**Note**: The referral program is for publishers wanting to bring other publishers to us. We currently do not have a referral program for referring advertisers.

## How does it work?

As a publisher, click the **Referral Program** tab:

You have several options to refer new users to ExoClick:

* Use the **Direct Signup link** as a link in an element from your website.
* Use the code of your choice from the **Referral Banner Images** provided in Referral Program page. There are multiple banner options and sizes to fit with the style of your site.

**Note:** The Referral Program has the following conditions:

* You may not refer your own accounts.
* Ad Networks are not eligible for the referral program.
* Google Ads campaigns containing or targeting ExoClick brand and products are not allowed.
* ExoClick reserves the right to suspend any account from the referral program at any time.
* ExoClick reserves the right to stop the referral program at any time.

## How are referral earnings calculated?

For every new publisher that signs up and is receiving payments, you will receive **5%** of the revenue generated by each new approved publisher, as long as they remain active. The number of referrals for which you will receive revenue is listed under "Active" in the "**Your clients**" section as shown below.

"Inactive or Pending Approval" referrals means they have signed up, but they are not generating enough revenue or have not met the criteria, to be paid.

## I need more help

Not a problem!

For general questions about the referral program or technical help, please speak with our Customer Success team [**here**](https://www.exoclick.com/contact/)

For referral payment related questions please contact our Compliance team selecting "Publisher Payments" [**here**](https://www.exoclick.com/contact/)


# Adblock

This section covers ExoClick's Neverblock solution.




---

[Next Page](/llms-full.txt/1)

