# Welcome!

![](/files/4rGSMAVeeDroQ3Xqdno3)

### Get Started by Navigating

{% content-ref url="/pages/zizDW29rmtx92w03Wt7T" %}
[Network](/network/offers)
{% endcontent-ref %}

Learn how to manage your network, optimize the performance, and onboard partners on the Offer18 Platform.

***

{% content-ref url="/pages/0UEqTaJCoCrmgWcDtypI" %}
[Affiliate](/affiliate/affiliate-apis)
{% endcontent-ref %}

Get to know more about affiliate dashboard to launch campaigns, manage postback, and many more.


# Offers

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td>📄 <strong>Create New Offer</strong></td><td></td><td><a href="/pages/4FOHjmXWvFQnIQ0DMEzj">/pages/4FOHjmXWvFQnIQ0DMEzj</a></td></tr><tr><td></td><td>📄 <strong>Advertiser URL Builder</strong></td><td></td><td><a href="/pages/0XvnZoqm1jlWQsKFFOjx">/pages/0XvnZoqm1jlWQsKFFOjx</a></td></tr><tr><td></td><td>📄 <strong>Tracking URL Macros</strong></td><td></td><td><a href="/pages/3ab6lN7e7R4E1hGVFCnW">/pages/3ab6lN7e7R4E1hGVFCnW</a></td></tr><tr><td></td><td>📄 <strong>Offer - General</strong></td><td></td><td><a href="/pages/tLhfQoIlBBBbNhkubCnp">/pages/tLhfQoIlBBBbNhkubCnp</a></td></tr><tr><td></td><td>📄 <strong>Offer - Targeting</strong></td><td></td><td><a href="/pages/X9WOprNSTHkxhpZMtWzR">/pages/X9WOprNSTHkxhpZMtWzR</a></td></tr><tr><td></td><td>📄 <strong>Offer - Creative</strong></td><td></td><td><a href="/pages/xdq6inn6stfIpptHLSkJ">/pages/xdq6inn6stfIpptHLSkJ</a></td></tr><tr><td></td><td>📄 <strong>Offer - Assign Affiliate</strong></td><td></td><td><a href="/pages/Ys1mTV4VTYC4y280iWUl">/pages/Ys1mTV4VTYC4y280iWUl</a></td></tr><tr><td></td><td>📄 <strong>Offer - Capping Rules</strong></td><td></td><td><a href="/pages/fGQfmA5UlqJzj7S0HKLK">/pages/fGQfmA5UlqJzj7S0HKLK</a></td></tr><tr><td></td><td>📄 <strong>Offer - Events</strong></td><td></td><td><a href="/pages/71wHqtd3kbPNBSkJW8vi">/pages/71wHqtd3kbPNBSkJW8vi</a></td></tr><tr><td></td><td>📄 <strong>Offer</strong> <strong>- Payout Rules</strong></td><td></td><td><a href="/pages/8wmAlOeaPg5SLBbyDBZv">/pages/8wmAlOeaPg5SLBbyDBZv</a></td></tr><tr><td></td><td>📄 <strong>Offer - Security</strong></td><td></td><td><a href="/pages/cy0wk8a5IkY2INDDx6Aw">/pages/cy0wk8a5IkY2INDDx6Aw</a></td></tr><tr><td></td><td>📄 <strong>Offer - Fallback / JS Integration</strong></td><td></td><td><a href="/pages/8BZqImdvLY6TgVGXndWN">/pages/8BZqImdvLY6TgVGXndWN</a></td></tr><tr><td></td><td>📄 <strong>Create CPS offer</strong></td><td></td><td><a href="/pages/Ind5ynMNCYVZcjwFGnbg">/pages/Ind5ynMNCYVZcjwFGnbg</a></td></tr><tr><td></td><td>📄 <strong>Revenue Share Offer</strong></td><td></td><td><a href="/pages/2zYvEyMpsk2yXM94UuKH">/pages/2zYvEyMpsk2yXM94UuKH</a></td></tr><tr><td></td><td>📄 <strong>Smart Offer</strong></td><td></td><td><a href="/pages/ehYLywmuC6jz7m30hTEm">/pages/ehYLywmuC6jz7m30hTEm</a></td></tr><tr><td></td><td>📄 <strong>Deep Link</strong></td><td></td><td><a href="/pages/6aqY6CcoCejveC6MpCV1">/pages/6aqY6CcoCejveC6MpCV1</a></td></tr><tr><td></td><td>📄 <strong>Pre-landing Page</strong></td><td></td><td><a href="/pages/2P5W8ViQAAJ9wSzNyBC8">/pages/2P5W8ViQAAJ9wSzNyBC8</a></td></tr><tr><td></td><td>📄 <strong>Offer Categories</strong></td><td></td><td><a href="/pages/TZ2mzNjYuovJxUCrijlR">/pages/TZ2mzNjYuovJxUCrijlR</a></td></tr><tr><td></td><td>📄 <strong>Coupons</strong></td><td></td><td><a href="/pages/4w5jWrxBgX6PBWRNLDgo">/pages/4w5jWrxBgX6PBWRNLDgo</a></td></tr><tr><td></td><td>📄 <strong>Suppression List</strong></td><td></td><td><a href="/pages/t6yJ6PYS7NYSjrZktIMj">/pages/t6yJ6PYS7NYSjrZktIMj</a></td></tr></tbody></table>


# Create New Offer

The Affiliate marketing industry is based on one core concept "Offers".

1. **Go to Offers » Create Offer**

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

{% hint style="info" %}
User will be redirected to the General Information page of the Offer \
[<mark style="color:blue;">**Click here to view Offer - General**</mark>](/network/offers/offer-general)
{% endhint %}

***

Video Tutorial - Offer Creation

{% embed url="<https://www.youtube.com/watch?v=Js5gYQnhaLA&t=3s>" %}


# Advertiser URL Builder

A tool that allow users to add Offer parameters and macros to the Offer URLs in order to test, track, and examine the effectiveness of Offer18 Campaigns.

By adding the parameters to the Offer URL one can send information about the source, performance, and uniqueness of incoming traffic.

{% hint style="info" %}
**For example:** With a single traffic source, Campaign might be generating lots of revenue, but if user is running with multiple sources, user and his Advertiser would want to know which of them is sending quality traffic that generates the most revenue.
{% endhint %}

When a user clicks an Affiliate Tracking Link, the parameters added by user are recorded at both the Affiliate and Advertiser end.

#### 1. Click on Shortcuts **»** Advertiser URL Builder

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

#### 2. Select the Partner Platform

One need to select a Platform that his Advertiser is using below is the list of pre-listed Platforms

&#x20;

![](/files/9uifg5sHXsHE81T9Gjx2)

#### 3. Paste your Offer URL under "Advertiser / Offer URL".

#### Benefits&#x20;

* While creating the Campaign it gets easier for users to place and get Tracking URLs immediately.
* Campaign links are a combination of various information such as URL address followed by a question mark (?), and then campaign variables will be separated by ampersands(&),&#x20;

```
For example 
http://www.example.com/?traffic_source=adsite&taffic_click=adcampaign&traffic_sub1=sub_adsite&operatingsystem=windows&browser=chrome&useragent=ua.
```

* The URL Builder has more than ready to go configuration consisting of 18 Partners with their most common fields.


# Tracking URL Macros

Correct use of tokens leads to uninterrupted Tracking flow if the Macros are not correctly configured in the Offer18 URL in that case, data didn't get exchanged between the user and his client.

#### Tokens are to be used in the Offer URL for the purpose of exchanging click information with the Advertiser. <a href="#tokens-to-be-used-in-offer-url-for-the-purpose-of-exchange-click-information-with-advertisers." id="tokens-to-be-used-in-offer-url-for-the-purpose-of-exchange-click-information-with-advertisers."></a>

<table data-header-hidden data-full-width="false" data-search="false"><thead><tr><th width="231.11113706259766"></th><th width="150"></th><th width="289.2776203966006"></th></tr></thead><tbody><tr><td><strong>Macro Name</strong></td><td><strong>Token</strong></td><td><strong>Description (when to use)</strong></td></tr><tr><td>TID</td><td>{tid}</td><td>This is the Platform's unique Click ID Macro</td></tr><tr><td>Affiliate ID</td><td>{aff_id}</td><td>To pass Affiliate id in the Offer URL</td></tr><tr><td>Sub Affiliate ID</td><td>{sub_aff_id}</td><td>To pass Sub-Affiliate id in the Offer URL</td></tr><tr><td>Click IP Address</td><td>{ip}</td><td>To pass the IP address in the Offer URL</td></tr><tr><td>Offer ID of Offer</td><td>{offerid}</td><td>To pass Offer ID in the Offer URL</td></tr><tr><td>Offer Name of the Offer</td><td>{offername}</td><td>To pass Offer name in the Offer URL</td></tr><tr><td>Device User Agent <br>(url encoded)</td><td>{useragent}</td><td>To pass Device user agent in the Offer URL</td></tr><tr><td>Device User Agent <br>(raw format)</td><td>{raw_useragent}</td><td>To pass Raw Device user agent </td></tr><tr><td>Advertiser's ID</td><td>{adv_id}</td><td>To pass Advertiser account ID (Advertiser data)</td></tr><tr><td>Country Code (2-digit)</td><td>{country}</td><td>To pass Country name in the Offer URL</td></tr><tr><td>Exact Click Time</td><td>{timestamp}</td><td>To pass click time in unix Timestamp format</td></tr><tr><td>Device ID (Affiliate Data)</td><td>{deviceid}</td><td>To pass device id in the Offer URL <br>(If received from Affiliates in Affiliate Tracking link)</td></tr><tr><td>Source (Affiliate Data)</td><td>{source}</td><td>To pass source data in the Offer URL <br>(If received from Affiliates in Affiliate Tracking link)</td></tr><tr><td>Google Advertising ID (Affiliate Data)</td><td>{googleaid}</td><td>To pass google id in the Offer URL <br>(If received from Affiliates in Affiliate Tracking link)</td></tr><tr><td>Android Device ID (Affiliate Data)</td><td>{androidid}</td><td>To pass android id in the Offer URL <br>(If received from Affiliates in Affiliate Tracking link)</td></tr><tr><td>IOS Device ID</td><td>{iosidfa}</td><td>To pass IDFA in the Offer URL<br>(If received from Affiliates in Affiliate Tracking link)</td></tr><tr><td>Operating System</td><td>{os}</td><td>To pass Operating system details in the Offer URL</td></tr><tr><td>Operating System Versions</td><td>{os_ver}</td><td>To pass Operating system version details in the Offer URL</td></tr><tr><td>random</td><td>{random}</td><td>To pass the random value in the Offer URL</td></tr></tbody></table>

#### Addition Macros to pass more information in Advertiser URL  <a href="#in-addition-to-all-above-if-offer18-users-wants-to-pass-more-information-in-advertiser-url-then-belo" id="in-addition-to-all-above-if-offer18-users-wants-to-pass-more-information-in-advertiser-url-then-belo"></a>

<table data-header-hidden data-full-width="false" data-search="false"><thead><tr><th width="241.21645009417534"></th><th width="150"></th><th width="300.24582898931294"></th></tr></thead><tbody><tr><td><strong>Macro Name</strong></td><td><strong>Token</strong></td><td><strong>Description</strong> </td></tr><tr><td>Affiliate Sub1</td><td>{aff_sub1}</td><td>Additional Data to receive from Affiliate and pass in the Offer URL</td></tr><tr><td>Affiliate Sub2</td><td>{aff_sub2}</td><td>Additional Data to receive from Affiliate and pass in the Offer URL</td></tr><tr><td>Affiliate Sub3</td><td>{aff_sub3}</td><td>Additional Data to receive from Affiliate and pass in the Offer URL</td></tr><tr><td>Affiliate Sub4</td><td>{aff_sub4}</td><td>Additional Data to receive from Affiliate and pass in the Offer URL</td></tr><tr><td>Affiliate Sub5</td><td>{aff_sub5}</td><td>Additional Data to receive from Affiliate and pass in the Offer URL</td></tr><tr><td>Affiliate Sub6</td><td>{aff_sub6}</td><td>Additional Data to receive from Affiliate and pass in the Offer URL</td></tr><tr><td>Affiliate Sub</td><td>{aff_sub7}</td><td>Use in the Offer URL for Probabilistic tracking</td></tr><tr><td>Affiliate Sub8</td><td>{aff_sub8}</td><td>Additional Data to receive from Affiliate and pass in the Offer URL</td></tr><tr><td>Affiliate Sub9</td><td>{aff_sub9}</td><td>Additional Data to receive from Affiliate and pass in the Offer URL</td></tr><tr><td>Affiliate Sub10</td><td>{aff_sub10}</td><td>Additional Data to receive from Affiliate and pass in the Offer URL</td></tr></tbody></table>

***

#### **Dynamic Tokens for Offer URL**

Below is the list of dynamic tokens used to pass values into the offer URL. These values will not be stored in reports.

<table data-search="false"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><strong>Macro Name</strong></td><td><strong>Token</strong></td><td><strong>Description</strong> </td></tr><tr><td>First Name</td><td>{t_first_name}</td><td>Dynamic token to pass first name in the Offer URL</td></tr><tr><td>Last Name</td><td>{t_last_name}</td><td>Dynamic token to pass last name in the Offer URL</td></tr><tr><td>Email</td><td>{t_email}</td><td>Dynamic token to pass email in the Offer URL</td></tr><tr><td>Contact Number</td><td>{t_phone}</td><td>Dynamic token to pass contact number in the Offer URL</td></tr><tr><td>Address</td><td>{t_address}</td><td>Dynamic token to pass address in the Offer URL</td></tr><tr><td>Dynamic sub values</td><td>{t_sub1} to {t_sub10}</td><td>Dynamic tokens to pass additional values in the Offer URL</td></tr></tbody></table>


# Offer - General

#### 1. Go to Offers **»** Offer - Approved

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

#### 2. Click on Offer name / ID to enter into its configurations panel.&#x20;

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

### Offer Fields&#x20;

<table data-header-hidden><thead><tr><th width="225.74223257114562"></th><th width="497.42857142857133"></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Description</strong></td></tr><tr><td>Offer Name</td><td>Name of the Campaign</td></tr><tr><td>Advertiser</td><td>Advertiser of the Offer </td></tr><tr><td>Offer Category</td><td>Type of the Offer created </td></tr><tr><td>App ID</td><td>ID of the Application</td></tr><tr><td>External Offer ID</td><td>If Offer is added Externally it automatically adds the Advertiser's Offer ID in the External Offer ID field. It can also be added manually</td></tr><tr><td>Offer Preview URL</td><td>Preview URL of the Offer </td></tr><tr><td>Offer URL</td><td>URL shared by Advertiser to promote</td></tr><tr><td>Advertiser Pricing (Revenue)</td><td>Model and Price of the Revenue</td></tr><tr><td><p>Affiliate Pricing </p><p>(Payout)</p></td><td>Model and Amount of Payout</td></tr><tr><td>Currency</td><td>Currency of the Offer</td></tr><tr><td>Hide Payout</td><td>Enabling this will hide Affiliate's Payout  </td></tr><tr><td>Schedule</td><td>Start date and end date of Campaign </td></tr><tr><td>Offer Expiry Alert</td><td>If enabled : An expiry alert will be sent 1 day prior to the offer end date.</td></tr><tr><td>Daily Start/Stop</td><td>Feature helps users to promote the Campaigns in defined hours only</td></tr><tr><td>Offer Visibility</td><td><ul><li><strong>Public -</strong> Offer will be visible to all Affiliates. Affiliates can apply &#x26; Offer will be automatically Approved</li><li><strong>Public + Require Approval -</strong> Offer will be visible to all the Affiliates. Affiliates have to wait for the admin's approval after applying for a Offer</li><li><strong>Private -</strong> Only those Affiliates who are granted access to Offer by Admin will be able to view and promote Offers</li></ul></td></tr><tr><td>Status</td><td><ul><li><strong>Approve -</strong> Affiliate Partners can access and send traffic on it.</li><li><strong>Pending -</strong> The Offers cannot be viewed by the Affiliate Partners</li><li><strong>Ended -</strong> Offers that pass the expiry date</li></ul></td></tr><tr><td>Alert to Affiliates</td><td>Enable to send alerts about changes in Affiliate Payout and Offer status </td></tr><tr><td>Deep Link</td><td>Enable to use Deeplinks in the Offer </td></tr><tr><td>Terms</td><td><ul><li><strong>Offer Description -</strong> Description of the Offer</li><li><strong>Private Note -</strong> Internal private notes</li><li><strong>Offer Terms / KPI -</strong> Key performance indicators for Affiliate</li></ul></td></tr></tbody></table>

***

## URL Suggestion by Advertiser URL Builder

After placing a link inside the **'Offer URL'** or **'Landing Page'** field, the Advertiser URL Builder will automatically detect the partner platform and create a suggestion URL containing important parameters of the platform. This URL suggestion can be used as an offer URL or Landing Page URL.

<figure><img src="/files/71HbXq7LvhRrCVrmGYF5" alt=""><figcaption></figcaption></figure>

**Know more about Advertiser URL Builder**

{% content-ref url="/pages/0XvnZoqm1jlWQsKFFOjx" %}
[Advertiser URL Builder](/network/offers/advertiser-url-builder)
{% endcontent-ref %}


# Offer - Landing

The Landing Page V2 feature enables you to create, manage, and optimize landing page URLs associated with an offer, with enhanced capabilities such as landing page targeting, affiliate controls, traffic distribution across multiple landing pages, and fallback handling through sub landing pages.

To add landing pages, follow the steps below.

1. Go to Offers » Offer-Approved
2. Select Offer » Landing

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

|                      |                                                                                                                                               |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| **Field**            | **Description**                                                                                                                               |
| Name                 | The name of the landing page.                                                                                                                 |
| Type                 | <p>Select the type of landing page.</p><p>• Landing</p><p>• Pre-landing</p>                                                                   |
| Select Targeting     | Select targeting rules to control how traffic is routed to this landing page.                                                                 |
| URL                  | The destination URL of the landing page.                                                                                                      |
| Affiliate ID         | Allow or block specific affiliates for the landing page                                                                                       |
| Weight               | Define the weight for traffic distribution when multiple landing pages are active.                                                            |
| Affiliate Visibility | Choose whether to Show or Hide this landing page to affiliates.                                                                               |
| Description          | Add description for the landing page.                                                                                                         |
| Fallback             | <p>Enable or disable fallback for the landing page.<br>Once enabled, traffic is redirected to sub landing URLs based on assigned weights.</p> |

### Sub-Landing Pages

If incoming traffic does not match the applied landing page targeting, it will automatically be redirected to the configured sub-landing pages randomly or as per the assigned weights, when fallback is enabled.

{% hint style="info" %}
The targeting rule selected for a landing page is categorized as Landing Page Specific targeting.\
\
Once removed from the landing page, it will be disabled, but will remain available in the Targeting section or future use.
{% endhint %}

***

## Import Landing Pages

Users can manually add landing pages or import them via CSV. To add landing pages, users need to follow the steps outlined below.

1. Go to Offers » Offer-Approved
2. Select Offer » Landing » **"Import Landing Page(csv)"**
3. Choose a CSV file from your device.

#### **Important fields in the CSV to import Landing Pages**

1. Name&#x20;
2. Page\_Type (landing, pre landing)&#x20;
3. Landing\_Page
4. AffiliateSelectType (allow, block)

Download the Landing Page Import template file from here.

{% file src="/files/MPK2ftrKffYrqFBO10W3" %}


# Offer - Targeting

#### 1. Go to **Offers » Offer-Approved**

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

#### 2. Select Offer **»** Targeting Tab

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

***

#### Targeting Fields

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><strong>Country</strong></td><td>Allow / Block specific Countries in Offer</td><td></td></tr><tr><td><strong>State</strong></td><td>Allow / Block specific State in Offer</td><td>(Accuracy is up to 70%)</td></tr><tr><td><strong>City</strong></td><td>Allow / Block Specific City in Offer</td><td>(Accuracy is up to 70%)</td></tr><tr><td><strong>Browser</strong></td><td>Allow / Block specific Browser in Offer</td><td></td></tr><tr><td><strong>Device</strong></td><td>Allow / Block specific Device in Offer</td><td></td></tr><tr><td><strong>OS</strong></td><td>Allow / Block specific Operating System in Offer</td><td></td></tr><tr><td><strong>OS Version</strong></td><td>Allow / Block specific Operating system version in Offer</td><td></td></tr><tr><td><strong>Device Brand</strong></td><td>Allow / Block specific Device brand in Offer</td><td></td></tr><tr><td><strong>ISP</strong></td><td>Allow / Block specific ISP in Offer</td><td></td></tr><tr><td><strong>User Language</strong></td><td>Allow / Block specific user language in Offer</td><td></td></tr></tbody></table>


# Offer - Targeting Rules

1. **Go to** **Offers » Offer-Approved**
2. **Click on the Offer name to enter in its configuration** **» Targeting Tab**&#x20;
3. **Go to Targeting Version 2.0**&#x20;

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

This feature lets users add targeting rules to their offers, helping them reach specific types of traffic. You can set different actions for clicks, impressions, and conversions. This means you can control how your offers are shown to different audiences and improve your campaign performance.

***

### Steps to follow

* Go to **"+Create Target Rule"** to create a new Target rule for the offer.
* Define Rule name
* Select an [<mark style="color:blue;">action</mark>](#actions) (on clicks, conversions, or impressions).
* Configure the [<mark style="color:blue;">targeting field</mark>](#targeting-fields) by choosing a [condition](#targeting-conditions) and value.
* Use the dropdown menu to show or hide the affiliate visibility of the target rule.
* Enable the rule (enabled by default).
* Go to **Submit**

***

### Actions

#### Action On Clicks

1. **Allow Click:** The click will be accepted and redirected to the offer URL.
2. **Reject Click:** The click will be blocked, and the user will be prevented from reaching the offer.
3. **Fallback:** The click will be redirected to either:
   * **Fallback Offer:** The click will be sent to a different, specified offer.
   * **Fallback URL:** The click will be redirected to a specified URL.

#### Action On Conversions

1. **Approve Conversion:** The conversion will be accepted and marked as an approved conversion.
2. **Reject Conversion:** The conversion will be blocked and marked as a rejected conversion.
3. **Pending Conversion:** The conversion will be held for further review before approval or rejection.

#### Action On Impressions

1. **Allow Impression:** The impression will be allowed and marked as an approved impression.
2. **Reject Impression:** The impression will be blocked and marked as a rejected impression.

***

### **Targeting Conditions**

These are the conditions within a Target Rule that determine which action to take on targeted traffic. The available conditions include:

* **is equal**: Triggers when the targeting value matches the value specified in the rule.
* **not equal**: Triggers when the targeting value does not match the value specified in the rule.
* **not contains**: Triggers when the specified value does not exist within the targeting value.
* **contains**: Triggers when the specified value exists within the targeting value.
* **is empty**: Triggers when the targeting value is empty.
* **not empty**: Triggers when the targeting value is not empty.
* **greater than**: Triggers when the targeting value is greater than the value specified in the rule.
* **less than**: Triggers when the targeting value is less than the value specified in the rule.
* **between**: Triggers when the targeting value falls between the high and low values defined in the rule.

***

### Targeting Fields

There are various fields available for targeting, such as

* Country
* OS
* Browser
* Device Type
* ISP

#### Other Fields

{% code overflow="wrap" %}

```
City, Device Brand, Bot, Source, User Language, Referral, IP, Landing Page, Conversion CTIT, Sub Affiliate ID, Aff Sub1, Aff Sub2, Aff Sub3, Aff Sub4, Aff Sub5, Aff Sub6, Aff Sub7, Aff Sub8, Aff Sub9, Aff Sub10, Adv Sub1, Adv Sub2, Adv Sub3, Adv Sub4, Adv Sub5, Google ID, Android ID, iOS ID, User Agent, Week Days
```

{% endcode %}


# Offer - Creatives

### Upload Creatives

#### 1. Go to **Offers » Select Offer**

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

#### 2. Select Offer » Creatives Tab

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

#### 3. Select Upload type

* Offer Creative
* Offer Logo

**4. Select file » It will be uploaded automatically.**

{% hint style="warning" %}
Only **GIF, ICO, JPG, JPEG, and PNG,** formats are allowed to be uploaded here.
{% endhint %}

***

### Supported Tracking Tokens for HTML Creatives

While creating **HTML creatives**, you can use **tracking tokens** within your HTML code to dynamically generate affiliate-specific tracking URLs.

When an affiliate downloads an HTML creative, these tracking tokens are automatically replaced with that affiliate's unique tracking URL. This ensures that:

* A tracking session is initiated when a user clicks the creative.
* Clicks are accurately attributed to the correct affiliate.
* Users are redirected to the appropriate landing page or destination URL.

**List of Tokens for Html Creatives:**

| Token                                 | Description                                                                                                                                                                                                                                                                                                                                                      |
| ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **{tracking\_link}**                  | Generates the affiliate-specific tracking URL for the offer's default url.                                                                                                                                                                                                                                                                                       |
| **{tracking\_link\_landing\_random}** | Randomly selects one of the landing pages configured for the offer.                                                                                                                                                                                                                                                                                              |
| **{tracking\_link\_landing\_\*}**     | <p>Redirects users to a specific landing page configured for the offer. Replace <code>\*</code> with the landing page's serial number. The serial number corresponds to the order in which the landing pages are added to the offer.<br><br><strong>Example:</strong> <code>{tracking\_link\_landing\_1}</code><br><code>{tracking\_link\_landing\_2}</code></p> |
| **{impression\_link}**                | Generates the affiliate-specific impression URL.                                                                                                                                                                                                                                                                                                                 |

### Example

Use the `{tracking_link}` token in the `href` attribute of your anchor tag:

```
<a href="{tracking_link}">Click here</a>
```

When an affiliate downloads the HTML creative, the `{tracking_link}` token is automatically replaced with that affiliate's unique tracking URL.

**Example output:**

```
<a href="https://example.com/c?o=00011&m=000&a=00000">Click here</a>
```

***

### Delete Creatives

Click on the trash icon to delete Creatives

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


# Offer - Assign Affiliates

#### 1. Go to **Offers » Offer-Approved**

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

#### 2. Select Offer **»** Affiliates Tab.

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

#### 3. Click on the "+Assign" Offer button respective to the Affiliate

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

{% hint style="info" %}
All Affiliates can be assigned by using the "+Assign All " Button and can be notified by enabling the "Send Alert" checkbox.
{% endhint %}


# Offer - Capping Rules

#### 1. Go to **Offers » Offer-Approved**

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

#### **2. Click on the Offer name to enter in its configuration » Capping Tab.**

#### **3. Go to Create Capping Rule**&#x20;

***

### Fields in Capping rule

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong> </td><td><strong>Description</strong></td></tr><tr><td>Rule Name</td><td>Capping rule name</td></tr><tr><td>Rule Type</td><td><ul><li>Advertiser Capping</li><li>Affiliate Capping</li></ul></td></tr><tr><td>Capping type</td><td><ul><li>Gross Conversions (Advertiser)</li><li>Approved Conversions</li><li>Gross Revenue</li><li>Approved Revenue</li><li>Gross Payout</li><li>Approved Payout</li><li>Gross Clicks (Advertiser)</li><li>Approved Clicks</li></ul></td></tr><tr><td>Period</td><td><ul><li>Hourly </li><li>Daily </li><li>Weekly </li><li>Monthly</li></ul></td></tr><tr><td>Capping Value</td><td>Value of Capping rule <br>In the case of Clicks &#x26; Conversions, one needs to add the count of Clicks &#x26; Conversions.<br>In the case of Gross Revenue, Approved Revenue, Gross Payout, and Approved Payout one needs to add the amount</td></tr><tr><td>Over Capping Action</td><td><ul><li>Pending Conversions</li><li>Accept Conversions</li><li>Reject Conversions</li><li>Stop Offer</li><li>Enable Fallback</li><li>Enable Fallback + Approved Conversions</li></ul><p><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="#over-capping-action"><mark style="color:blue;">View More</mark></a></p></td></tr><tr><td>Capping Timezone</td><td>Timezone in which the Capping rule will work</td></tr><tr><td>Event</td><td>By adding Events in this field Event Capping can be used</td></tr><tr><td>Affiliate Visibility</td><td>Capping rule will be hidden or shown in Affiliate Dashboard with this </td></tr><tr><td>Enable rule</td><td>Capping rule can be enable / disable from here</td></tr><tr><td>Notification Email</td><td>This email will be used to send an Alert to the Partner on triggering the Capping rule</td></tr><tr><td>Earlier Notification Threshold</td><td>A notification will be sent by email once the percentage of the capping value reaches the specified threshold percentage.</td></tr></tbody></table>

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

***

### **Over Capping Action**

* **Pending Conversions&#x20;*****-*** Once Capping reaches its limit. Excess conversions will be recorded as Pending status. <br>
* **Accept Conversions&#x20;*****-*** Conversions will be recorded with Approved status even after Capping hits its limit.<br>
* **Reject Conversions -** Conversions after the Capping limit is over will be recorded as rejected status.<br>
* **Stop Offer&#x20;*****-*** Stop Offer Action, will pause the Offer once its Capping hits the defined limit. <br>
* **Enable Fallback&#x20;*****-*** This Action enables the Fallback feature to work after the offer Capping limit is ove&#x72;**,** and the traffic will be diverted to the Fallback offer or Fallback URL. [<mark style="color:blue;">**(Fallback)**</mark>](/network/offers/offer-fallback-js-integration#fallback-in-offer)<br>
* **Enable Fallback + Approve Conversions -** This action will redirect traffic to Fallback and If the Advertiser is sending Postback after limit reached then those Conversions will be recorded as approved status.


# Offer - Events

1. **Go to** **Offers » Offer-Approved**
2. **Click on the Offer name to enter in its configuration » Events / Payout tier Tab.**

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

### Create **an Event in Offer**

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Description</strong></td></tr><tr><td>Event Name</td><td><p>Select Event from available options </p><p><a href="#create-new-event"><mark style="color:blue;">(Create new Event)</mark></a></p></td></tr></tbody></table>

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

{% hint style="info" %}
In order to define Advertiser price and Affiliate price for the event user must have to [<mark style="color:blue;">**Create Event Specific Payout Rule**</mark>](#create-event-specific-payout-rule)
{% endhint %}

#### **Events / Goals**&#x20;

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Description</strong></td></tr><tr><td>Event</td><td>Name of the Event defined while creating </td></tr><tr><td>Token </td><td>Token of Event defined while creating and assigning Event</td></tr><tr><td>Multi Conv.</td><td>To receive multiple Conversions on the same Event based on ClickID</td></tr><tr><td>Multi Conv. (IP)</td><td>To receive multiple Conversions on the same Event based on IP address</td></tr><tr><td>Approval</td><td>Auto-approved or status pending of the Conversion can be decided here</td></tr></tbody></table>

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

***

### Conversion Settings

![](/files/9TNGq1uDQwPeb0vw86WX)

#### **Conversion Waiting Time**

Once a click gets redirected to the Offer URL of an Advertiser after then for how long the system should wait for its Postback, Click ID from this redirection will expire after the defined conversion waiting time.

#### Multi Conversion&#x20;

Conversion is being recorded multiple times for the same TID value. Multiple Conversions could be enabled or disabled.

{% hint style="info" %}

1. Allowing / Blocking Multiple Conversions doesn't allow or block multiple conversions on the Advertiser end.
2. Allowing / Blocking Multiple Conversion works separately for each event.
   {% endhint %}

#### Conversion Approval

Conversion approval could be set as automatic or manually. If manually selected Conversions will be recorded as pending Conversion.

#### Multi Conversion (IP Based)

Multi Conversion (IP BASED) detects the multiple Conversion values having the same TID as well as the same Click IP adds.

#### Whitelist Postback Server IP&#x20;

Server IPs can be whitelisted here, Conversion from IP which is not whitelisted will not be recorded.

#### Display Default Postback Event (Affiliate) &#x20;

While having multiple Events in the Offer, users can decide which Event's Payout should be shown in their Affiliate dashboard.

#### Event Mismatch Action

If the user is receiving Event's Postback but the Event value in Postback is not matched the Event token assigned to the Offer. In such cases, Conversions can be recorded as an initial or discarded from the Platform.&#x20;

***

### **Create Event Specific Payout Rule**

Go to "Payout Rules" Section

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

### Add Payout Rule

1. Opt for the Revenue model and input the corresponding revenue amount.
2. Opt for the Payout model and input the corresponding Payout amount.
3. Select the Currency.
4. Pick "is\_equal" condition from the dropdown next to "Event."
5. In the second dropdown under "Event," choose the event that was assigned within the Offer.
6. Proceed to Submit.

***

### Create New Event&#x20;

To create a new Event

**Go to Shortcuts » Offer Events**

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Description</strong></td></tr><tr><td>Event Token</td><td><p>The token to be used in the Event Postback URL and will be shown in Affiliate Dashboard</p><p>(non-editable)</p></td></tr><tr><td>Event Name</td><td>Name of the Event </td></tr></tbody></table>


# Offer - Payout Rules

**Go to** **Offers » Offer-Approved**

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

**Click on the Offer name to enter in its configuration** **»** **Events / Payout tier**

### Payout Rules

Using this feature user have even more control over their revenue and payouts. With this customized feature, one can now create tailor payouts based on up to 24 different data points and specific criteria.&#x20;

This means that user can establish unique payouts for conversions from different countries, device types, sources, etc. one can even create multiple rules and set priorities for them, ensuring that their payouts are optimized for maximum revenue.

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

#### Steps to follow

1. Scroll Down to **Payout Rules**
2. Go to "+Create Payout Rule" to create new payout rule for the offer
3. Configure Payout Rule
4. Go to Submit

***

#### Fields in Payout Rule&#x20;

<table data-card-size="large" data-column-title-hidden data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-type="content-ref"></th><th data-hidden><select></select></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Rule name</strong></td><td>Name of the Payout rule</td><td></td><td></td><td></td><td></td></tr><tr><td><mark style="color:blue;"><strong>Data points</strong></mark></td><td>24 Data Points on the bases Rules can be created</td><td></td><td><a href="/pages/8wmAlOeaPg5SLBbyDBZv#data-points">/pages/8wmAlOeaPg5SLBbyDBZv#data-points</a></td><td></td><td><a href="/pages/8wmAlOeaPg5SLBbyDBZv#data-points">/pages/8wmAlOeaPg5SLBbyDBZv#data-points</a></td></tr><tr><td><strong>Revenue &#x26; Payout</strong></td><td>Payout &#x26; Revenue for the rule with specific model and currency  </td><td></td><td></td><td></td><td></td></tr><tr><td><strong>Affiliate Visibility</strong></td><td>With this, one can hide or reveal the visibility of the rule from an affiliate.</td><td></td><td></td><td></td><td></td></tr><tr><td><strong>Rule Priority</strong></td><td>If a user adds Priority 1 to one rule and Priority 2 to another. The rule with the lowest Priority number will be executed first. If any rule is executed and decides the Payout and Revenue, the other rules will not be examined. </td><td></td><td></td><td></td><td></td></tr></tbody></table>

***

### **Data points**

These are the fields and parameters on the basis dynamic payout rules can be created, such as :&#x20;

{% code overflow="wrap" %}

```
Affiliate ID, Event, Country, Sale Amount, Payout (postback), Conversion CTIT, Device Type, Browser, OS, Landing Page, Source, Sub Affiliate, Aff Click ID, Aff Sub1, Aff Sub2, Aff Sub3, Aff Sub4, Aff Sub5, Aff Sub6, Aff Sub7, Aff Sub8, Aff Sub9, Aff Sub10, Adv Sub1, Adv Sub2, Adv Sub3, Adv Sub4, Adv Sub5, Week Days
```

{% endcode %}

#### **Data Point values**

User can add values of data points according to different conditions in Payout rule.

#### Data Point Conditions

These are the condition in payout rule under which the rule determine the dynamic value of Payout and Revenue. There are several conditions, such as :

* **is equal -** Triggers when the data point value is equal to the value defined in rule
* **not equal -** Triggers when the data point value is not equal to the value defined in rule&#x20;
* **not contains -** Triggers when the added value does not exists in data point value &#x20;
* **contains -** Triggers when the added value exists in the data point value
* **is empty -** Triggers when the data point value is empty
* **not empty -** Triggers when the data point value is not empty
* **greater than -** Triggers when the data point value is greater than the value defined in rule
* **less than -**  Triggers when the data point value is less than the value defined in rule
* **between -**  Triggers when the data point value is between values( high / low ) defined in rule

***

### Import Payout Rules

One can import bulk payout rules using CSV template file.

#### Mandatory fields

* Rule Name
* Revenue Model
* Revenue
* Payout Model
* Payout
* Currency

{% file src="/files/V0GPkCnJiDKJa4rHd1sj" %}

{% hint style="info" %}
The status and affiliate visibility of the payout rule can be added to the CSV file as follows:

* **1** - Enable/Show
* **3** - Disable/Hide
  {% endhint %}


# Offer - Anti-Fraud

1. **Go to** **Offers » Offer-Approved**
2. **Click on the Offer name to enter its configuration » Anti-Fraud Tab**

<figure><img src="/files/2iYa7d5kcvGlg13nza1c" alt=""><figcaption></figcaption></figure>

### Click Spamming Defender

Click Spamming Defender is based on an internal algorithm that automatically stops click flooding.

There are 3 modes of the spamming defender

1. **Light -** Triggers after 100 spam Clicks are received from the source.&#x20;
2. **Moderate -** Triggers after 50 spam Clicks are received from the source.
3. **Strict Mode -** Triggers after 10 spam Clicks are received from the source.&#x20;

***

### **Click block filters**&#x20;

All the traffic coming from specified values will be rejected and will not be redirected to the Offer URL.

{% hint style="info" %}
All filters of Click block work with **AND** condition only, which means that if the user has applied multiple filters then, all of the conditions must be satisfied. Each field has a limit of 500 comma-separated values.&#x20;
{% endhint %}

<table data-header-hidden><thead><tr><th width="184.31578947368422"></th><th width="529.4285714285713"></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Description</strong></td></tr><tr><td>IP</td><td>To prevent Offers from traffic having specific IP addresses. </td></tr><tr><td>aff_id</td><td>To prevent Offers from specific Affiliate ID. </td></tr><tr><td>sub_aff_id</td><td>To prevent Offers from specific Sub-Affiliate ID. </td></tr><tr><td>aff_sub1</td><td>To prevent Offers from specific Affiliate sub1 value. </td></tr><tr><td>aff_sub2</td><td>To prevent Offers from specific Affiliate sub2 value.</td></tr><tr><td>aff_sub3</td><td>To prevent Offers from specific Affiliate sub3 value.</td></tr><tr><td>aff_sub4</td><td>To prevent Offers from specific Affiliate sub4 value. </td></tr><tr><td>aff_sub5</td><td>To prevent Offers from specific Affiliate sub5 value. </td></tr><tr><td>source</td><td>To prevent Offers from specific source value. </td></tr><tr><td>referral_domain</td><td>To prevent Offers from specific Referral domains value. </td></tr></tbody></table>

***

### Conversion Validation Filters&#x20;

With these filters, all Conversions will be validated. When one of these filters triggers, the Conversion will be marked as pending.

{% hint style="info" %}
Filters can also be applied to blank values. The Conversion will be marked as pending if the value for the added filter is blank. Each field has a limit of 500 comma-separated values in Conversion Validation Filters.
{% endhint %}

<table data-header-hidden><thead><tr><th width="150"></th><th width="439.42857142857133"></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Description</strong></td></tr><tr><td>adv_sub1</td><td>To validate Adv Sub1 data received in Postback.</td></tr><tr><td>adv_sub2</td><td>To validate Adv Sub2 data received in Postback. </td></tr><tr><td>adv_sub3</td><td>To validate Adv Sub3 data received in Postback. </td></tr><tr><td>adv_sub4</td><td>To validate Adv Sub4 data received in Postback. </td></tr><tr><td>adv_sub5</td><td>To validate Adv Sub5 data received in Postback.</td></tr><tr><td>click_aff_sub1</td><td>To validate Affiliate sub1 data received via an Affiliate Tracking link.</td></tr><tr><td>click_aff_sub2</td><td>To validate Affiliate sub2 data received via an Affiliate Tracking link.</td></tr><tr><td>click_aff_sub3</td><td>To validate Affiliate sub3 data received via an Affiliate Tracking link.</td></tr><tr><td>click_aff_sub4</td><td>To validate Affiliate sub4 data received via an Affiliate Tracking link.</td></tr><tr><td>click_source</td><td>To validate source data received via an Affiliate Tracking link. </td></tr><tr><td>click_google_aid</td><td>To validate googleaid data received in the Affiliate Tracking link</td></tr><tr><td>click_device_id</td><td>To validate deviceid data received in the Affiliate Tracking link. </td></tr><tr><td>click_android_id</td><td>To validate androidid data received in the Affiliate Tracking link. </td></tr><tr><td>click_ios_idfa</td><td>To validate iosidfa data received in the Affiliate Tracking link.</td></tr></tbody></table>

***

### Click IPv4 range filter

With the help of this feature, the Admin user can Allow / Block a wide range of IP addresses

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

***

### Unique Click Limit &#x20;

Enabling this will limit the number of Clicks from each session to one (rest of the Clicks will be rejected)

<figure><img src="/files/9KMpPPVD7gAoazWHWDhB" alt=""><figcaption></figcaption></figure>

***

### Conversion CTIT&#x20;

Set rule as per the minimum and maximum time difference between the Click and the Conversion\
\
**Minimum seconds:** Set minimum value (for the time difference between the Click and the Conversion)\
**Maximum seconds:** Set maximum value (for the time difference between the Click and the Conversion)\
**Action:** Accept Conversion / Pending Conversion / Reject Conversion

{% hint style="info" %}
**For example,**

* **Minimum & Maximum** \
  If the Conversion is received in less than the minimum time or more than the maximum time, then, it will be recorded as pending.
* **Only Minimum**\
  If the only minimum time is set to 10, then, On receiving conversion after 10 seconds, it will remain as per the decided action.
* **Only Maximum**\
  If the only maximum time is set to 100, then, On receiving conversion within 100 seconds, it will remain to be as per the decided action.
  {% endhint %}

***

### **Proxy Block** &#x20;

Enabling this will block traffic from the proxy servers.

***

### Browser Blank Referral

Block traffic if the traffic doesn't have any Referrer source.&#x20;

***

### **HTML Redirect / Hide Referral** &#x20;

1. **Allow Referral - 302 Redirect -** Choosing this option will Pass Referral details with HTTP Status code 302.
2. **Allow Referral - 302 Redirect - (Override Global Settings) -** If in the Global setting the Referral is defined as hidden and one wants to pass the referral details from a selected offer this option must be selected.
3. **Hide Referral - 302 Redirect -** Choosing this option will hide referral details and 302 HTTP Status code will be passed.
4. **Hide Referral - 200 Redirect -** Choosing this option will hide referral details and 200 HTTP Status code will be passed.
5. **Hide Affiliate Referral - 200 Redirect -** Choosing this option will Hide Affiliate details and Pass Offer18 user referral details with the status code 200.


# Offer - Fallback / JS Integration

#### 1. Go to **Offers » Offer-Approved**

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

#### 2. Click on the Offer name to enter in its configuration **»** Fallback / Integration Tab.

#### **3. Select the postback integration type that aligns with how you are integrating with your advertiser for the offer. With this, you can ensure that your tracking is accurate by preventing false postback triggers.**

{% hint style="info" %}
"Whitelist Postback Referral Domain" in case of Image Pixel or iframe to avoid non attributed and unauthorized postback logs
{% endhint %}

***

### Fallback in Offer

Fallback helps to redirect the unutilized traffic of the particular campaign which could not be utilized due to various reasons. Fallback is the best way to optimize a campaign's performance and utilize the wasted traffic.

* Out of target clicks
* Blocked clicks
* Restricted traffic&#x20;

<table data-header-hidden><thead><tr><th width="335.1050364866276"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong> </td><td><strong>Description</strong></td></tr><tr><td>Enable Fallback</td><td>Enable / Disable the state of Fallback</td></tr><tr><td>Fallback URL</td><td>Custom URL on which user wants to divert the traffic</td></tr><tr><td>Fallback Offer</td><td>Select already created an Offer on which the user wants to divert traffic</td></tr><tr><td><p>Fallback Offer Reports - </p><p>Affiliate </p></td><td>Enabling this will show Fallback Offer Reports to Affiliate</td></tr></tbody></table>

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

***

### HTML / Javascript Tag Integration

In the Fallback / Integration tab, the user has to place the complete code given by the Advertiser in the field - **HTML / Javascript Code.**&#x20;

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

***

### Impression

Place Impression URL in the "URL to Replace / Impressions Redirect" field later Impression Tracking URL can be collected.

***

### Force Affiliate Landing Redirect

One can control how traffic from an affiliate's default tracking link is redirected, based on the landing pages assigned to them.

<table><thead><tr><th width="335"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Description</strong></td></tr><tr><td>Dedicated Landing Page</td><td>Traffic will be redirected only to the landing pages specifically assigned to the affiliate.</td></tr><tr><td>Dedicated + Open Landing Page</td><td>Traffic will be redirected to both the assigned landing page and any available open landing pages.</td></tr></tbody></table>


# Create CPS offer

#### 1. Go to Offers **»** Create Offer

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

#### 2. Collecting Basic Details

Fill in all the basic details in Offer General Tab.&#x20;

{% hint style="info" %}
[<mark style="color:blue;">**Click here to view Offer - General**</mark>](/network/offers/offer-general)
{% endhint %}

#### FOR CPS Campaign models <a href="#for-cps-campaign-models" id="for-cps-campaign-models"></a>

<table data-header-hidden><thead><tr><th width="215.90599866609125"></th><th width="150"></th><th width="340"></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Modal</strong></td><td><strong>Value</strong></td></tr><tr><td>Advertiser Pricing (Revenue)</td><td>CPS</td><td>Add Commission percentage of total sale amount</td></tr><tr><td>Affiliate Pricing (Payout)</td><td>CPS</td><td>Payout percentage for affiliates</td></tr></tbody></table>

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

{% hint style="info" %}
[<mark style="color:blue;">**Calculation of CPS%**</mark>](#calculation-of-cps) is based on total sale amount sent by the Advertiser in Postback under Postback parameter **\&sale=**
{% endhint %}

#### 3. Submit to save configurations

***

### Get Postback for CPS Offer

**Click on Shortcuts** **»** **Postback**<br>

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

{% hint style="warning" %}
If the \&sale= parameter is not configured in Postback then calculations of revenue and cost will not be accurate.
{% endhint %}

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

***

### Calculation of CPS %

Let's understand the Calculation in CPS Offer with an example&#x20;

**Case** : Suppose the sale received of `100` USD. Your commission is `70`% and Affiliate payout is `30`%.

**Calculation** : In this case, the calculation will be based on the `100` USD sale amount, provided by the advertiser in the postback.

1. **Revenue :** 70% of the 100 USD (sale amount) **= 70 USD**
2. **Payout :** 30% of the 100 USD (sale amount) **= 30 USD**

&#x20;


# Revenue Share Offer

Advertiser will pass your commission as a payout in your postback.

**1. Go to Offers » Create Offer**

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

**2. Collecting Basic Details**

{% hint style="info" %}
Fill in all the basic details in Offer General Tab

[**Click here to view Offer - General**](/network/offers/offer-general)
{% endhint %}

**For Revenue Share campaign models**

<table data-header-hidden><thead><tr><th width="285.3333333333333"></th><th width="161"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Modal</strong></td><td><strong>Value</strong></td></tr><tr><td>Advertiser Pricing (Revenue)</td><td>CPA</td><td>Must be 0 in case of Revenue share</td></tr><tr><td>Affiliate Pricing (Payout)</td><td>CPA+CPS</td><td>Payout percentage for affiliates</td></tr></tbody></table>

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

{% hint style="info" %}
Calculation of Revenue is based on payout amount sent by the Advertiser in Postback under Postback parameter **\&payout=**
{% endhint %}

**3. Submit to save configurations**

***

### Get Postback for Revenue share Offer

**Click on Shortcuts** **»** **Postback**

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

{% hint style="warning" %}
If the **\&payout=** parameter is not configured in Postback then calculations of revenue and cost will not be accurate.
{% endhint %}

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


# Smart Offer

### Create Smart Offer

The "Smart Offer" is a way of promoting multiple Offers with multiple configurations by using one single URL. Multiple configuration settings can include multiple Targeting options, Security rules implemented, Capping-wise distribution, etc.

1. #### **Offer » Smart Offer**

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

2. **Click on Create Smart Offer**

{% hint style="info" %}
Minimum limit - 2 Offers \
Maximum limit - 50 Offers
{% endhint %}

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Fields</strong></td><td><strong>Description</strong></td></tr><tr><td>Target Geo</td><td>Geo Targeting of Smart Offer Campaign</td></tr><tr><td>Child Offers</td><td>Child Offers to be added in Smart Offer</td></tr><tr><td>Sorting</td><td><ul><li>Random</li><li>OfferID (Asc)</li><li>OfferID (Desc)</li><li>Payout (Aff)</li><li>Revenue (Adv)</li><li>Profit</li><li>High CR</li><li>Weighted</li></ul><p><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="#sorting"><mark style="color:blue;">View more</mark></a></p></td></tr><tr><td>Options</td><td><ul><li><strong>Assign Affiliates -</strong> To assign Affiliates to the Smart Offer</li><li><strong>Get Tracking URL -</strong> To get the Tracking URL for assigned Affiliates</li><li><strong>Report -</strong> To get access to the Report on the Smart Offer</li></ul></td></tr></tbody></table>

***

### Sorting

* **Random:** System will randomly will prioritize the Offers.<br>
* **OfferID (Asc):** Offers will be prioritized in ascending order of child Offer ID's.<br>
* **OfferID  (Desc):** Offers will run in descending order of child Offer ID's.<br>
* **Payout(Aff):** Offer to have a higher Payout will be prioritized.<br>
* **Revenue (Adv):** Offers to have higher revenue from an Advertiser will be prioritized.<br>
* **Profit:** Offer to have a higher profit value will be prioritized.<br>
* **High CR:** Offer which has CR higher will be prioritized. <br>
* **Weighted:** Offer to have a higher weighted value will be prioritized.

***

### Manage Smart Offer

Click on the Offer name to manage Smart Offer

![](/files/TEHrZz3lp62CTEdkAHYo)

***

### Delete Smart Offer

To delete Smart Offer go to **Options » Remove**

![](/files/qhqaXjWUSwsnH5Et1lpI)

***

Video Tutorial - Smart Offer Creation

{% embed url="<https://www.youtube.com/watch?v=i5FMSlHq2-s>" %}


# Deep Link

Deep linking is the use of hyperlinks to guide users to a searchable index or content on a website, or deep links directing to a specific product or websites that include all relevant information. Deep linking result in an easy user path, which lowers churn and boosts success.

### Enable Deep Link

#### 1. Go to Offers **»** Offer - Approved

#### 2. Select Offer **» General**

#### 3. Enable Deep Link

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

***

### Affiliate Tracking URL (Deep Link)

#### 1. Go to Affiliates

#### 2. Assign Affiliate **»** Share

#### 3. Enable Deep Link checkbox and Add the URL in Field

<figure><img src="/files/0l35Bjd7BiiVqStfQde2" alt=""><figcaption></figcaption></figure>

#### 4. Get the automatically generated Affiliate Tracking URL&#x20;


# Pre-landing Page

The Pre-landing page is like a transit page which help users to land on particular landing pages as per their requirements. It acts as a link between the traffic sources and the offer's landing page. Pre-landing pages for push and native ads are very useful in increasing conversions.

### Setup (Pre-landing Page)

#### 1. **Offers » Offer-Approved**

#### 2. Select **Offer » General**&#x20;

#### 3. Select "**Pre-landing**" from "**Type**" dropdown and add the "**Pre-landing URL**" under "**Landing Page**" Field.

<pre class="language-markup" data-title="Token to append in URL" data-overflow="wrap"><code class="lang-markup"><strong>landing_page={pre_landing} (Mandatory)
</strong>
Append tokens and parameters for data values as per your requirements, You can choose and add the key-value pairs from the options given below.

 1. aff_click_id={aff_click_id} 
 2. sub_aff_id={sub_aff_id}
 3. aff_sub1={aff_sub1}
 4. aff_sub2={aff_sub2}
 5. aff_sub3={aff_sub3}
 6. aff_sub4={aff_sub4}
 7. aff_sub5={aff_sub5}
 8. googleaid={googleaid}
 9. deviceid={deviceid}
 10. iosidfa={iosidfa}
 11. source={source}
</code></pre>

{% code title="Example Landing Page" overflow="wrap" %}

```
https://example-pre-landing.com?landing_page={pre_landing}&aff_click_id={aff_click_id}&sub_aff_id={sub_aff_id}&aff_sub1={aff_sub1}&source={source}
```

{% endcode %}

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

#### 4. Append Offer18 tokens to the Offer URL to pass the required values to the advertiser.

{% code title="Affiliate value tokens" overflow="wrap" %}

```
{aff_click_id}, {sub_aff_id}, {aff_sub1}, {aff_sub2}, {aff_sub3}, {aff_sub4}, {aff_sub5}, {googleaid}, {deviceid}, {iosidfa}, {source}
```

{% endcode %}

#### 5. **Submit to save changes**

***

### Affiliate Tracking URL (Pre landing Page)

1. Login to Affiliate Dashboard
2. **Offers » My Offers (approved) » Select Offer**
3. Select the **Pre-landing Page** from the drop-down

<figure><img src="/files/4bqxLA2P7S4pvlW4GAvJ" alt=""><figcaption></figcaption></figure>

4\. **Get Affiliate** **Tracking URL**&#x20;

***

### Create webpage (Pre landing page)

Create a webpage using below script having same URL used in Setup

```javascript
  <script>
    function base64_decode(r) { if ("function" == typeof this.window.atob) return atob(r); var n, t, e, i, o, f, a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", d = 0, h = 0, c = []; if (!r) return r; r += ""; do { n = (f = a.indexOf(r.charAt(d++)) << 18 | a.indexOf(r.charAt(d++)) << 12 | (i = a.indexOf(r.charAt(d++))) << 6 | (o = a.indexOf(r.charAt(d++)))) >> 16 & 255, t = f >> 8 & 255, e = 255 & f, c[h++] = 64 == i ? String.fromCharCode(n) : 64 == o ? String.fromCharCode(n, t) : String.fromCharCode(n, t, e) } while (d < r.length); return c.join("") }
    function getUrlVars() { var vars = {}; var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) { vars[key] = value; }); return vars; }
    function getUrlParam(parameter) { var urlparameter = ''; if (window.location.href.indexOf(parameter) > -1) { urlparameter = getUrlVars()[parameter]; } return base64_decode(urlparameter); }
    function getQueryParam(param) { const urlParams = new URLSearchParams(window.location.search); return urlParams.get(param) ? urlParams.get(param) : ''; }
    function createQueryString(mapping) { let queryString = Object.keys(mapping).map(key => { let value = getQueryParam(key); return value ? `${mapping[key]}=${value}` : ''; }).filter(param => param !== '').join('&'); return queryString; }
    var landing_page = getUrlParam('landing_page');
    var aurl = document.getElementsByTagName('a'), ahf = aurl.length;
    var parameterMapping = { 'aff_click_id': 'aff_click_id', 'sub_aff_id': 'sub_aff_id', 'aff_sub1': 'aff_sub1', 'aff_sub2': 'aff_sub2', 'aff_sub3': 'aff_sub3', 'aff_sub4': 'aff_sub4', 'aff_sub5': 'aff_sub5', 'googleaid': 'googleaid', 'deviceid': 'deviceid', 'iosidfa': 'iosidfa', 'source': 'source' };
    var parameterString = '';
    if (Object.keys(parameterMapping).length > 0) { parameterString = createQueryString(parameterMapping); }
    while (ahf--) { if (parameterString) { aurl[ahf].setAttribute('href', `${landing_page}&${parameterString}`); } else { aurl[ahf].setAttribute('href', landing_page); } aurl[ahf].setAttribute('target', '_blank'); }
  </script>
```

***

### **Testing Pre landing Page**

Use the below code snippet to test the Pre landing script

```html
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
  <a href=""> Test Link 1</a>
  <a href=""> Test Link 2</a>
  <a href=""> Test Link 3</a>
</p>
  <script>
    function base64_decode(r) { if ("function" == typeof this.window.atob) return atob(r); var n, t, e, i, o, f, a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", d = 0, h = 0, c = []; if (!r) return r; r += ""; do { n = (f = a.indexOf(r.charAt(d++)) << 18 | a.indexOf(r.charAt(d++)) << 12 | (i = a.indexOf(r.charAt(d++))) << 6 | (o = a.indexOf(r.charAt(d++)))) >> 16 & 255, t = f >> 8 & 255, e = 255 & f, c[h++] = 64 == i ? String.fromCharCode(n) : 64 == o ? String.fromCharCode(n, t) : String.fromCharCode(n, t, e) } while (d < r.length); return c.join("") }
    function getUrlVars() { var vars = {}; var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) { vars[key] = value; }); return vars; }
    function getUrlParam(parameter) { var urlparameter = ''; if (window.location.href.indexOf(parameter) > -1) { urlparameter = getUrlVars()[parameter]; } return base64_decode(urlparameter); }
    function getQueryParam(param) { const urlParams = new URLSearchParams(window.location.search); return urlParams.get(param) ? urlParams.get(param) : ''; }
    function createQueryString(mapping) { let queryString = Object.keys(mapping).map(key => { let value = getQueryParam(key); return value ? `${mapping[key]}=${value}` : ''; }).filter(param => param !== '').join('&'); return queryString; }
    var landing_page = getUrlParam('landing_page');
    var aurl = document.getElementsByTagName('a'), ahf = aurl.length;
    var parameterMapping = { 'aff_click_id': 'aff_click_id', 'sub_aff_id': 'sub_aff_id', 'aff_sub1': 'aff_sub1', 'aff_sub2': 'aff_sub2', 'aff_sub3': 'aff_sub3', 'aff_sub4': 'aff_sub4', 'aff_sub5': 'aff_sub5', 'googleaid': 'googleaid', 'deviceid': 'deviceid', 'iosidfa': 'iosidfa', 'source': 'source' };
    var parameterString = '';
    if (Object.keys(parameterMapping).length > 0) { parameterString = createQueryString(parameterMapping); }
    while (ahf--) { if (parameterString) { aurl[ahf].setAttribute('href', `${landing_page}&${parameterString}`); } else { aurl[ahf].setAttribute('href', landing_page); } aurl[ahf].setAttribute('target', '_blank'); }
  </script>
  </body>
</html> 
```


# Offer Categories

#### 1. Go to Offers **»** Offer - Approved

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

#### 2. Categories **» D**efine Category **»** Submit

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


# Coupons

Coupon tracking in Offer18 enables you to monitor how effective your coupon codes are across different marketing efforts. You can allocate various types of codes to different offers, allowing you to track code usage and identify which offers generate the most conversions.

### Create Coupon

In order to configure coupon for Affiliate and Offer one must follow these steps

1. **Go to Offers » Coupons**<br>

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

2. **Go to "+ Create Coupon"**

<table data-header-hidden><thead><tr><th width="252"></th><th></th></tr></thead><tbody><tr><td><strong>Field name</strong></td><td><strong>Description</strong></td></tr><tr><td>Coupon code</td><td>Place the coupon value/promo code here received from the advertiser.</td></tr><tr><td>Offer ID</td><td>Select offer ID</td></tr><tr><td>Start date</td><td>Set the start date for coupon’s working</td></tr><tr><td>End date</td><td>Set the end date for coupon’s validity</td></tr><tr><td>Affiliate</td><td>Allow / Block affiliates for the coupon</td></tr><tr><td>Quota</td><td>Assign coupon quota</td></tr><tr><td>Status</td><td>Status of Coupon (Approved, Pending, Rejected, Hold)</td></tr><tr><td>Description</td><td>Add description related to coupon</td></tr></tbody></table>

One needs to add **`&coupon={coupon_value}`** parameter in postback. It is required to receive coupon value in respective postback.

{% code overflow="wrap" %}

```
https://example.o18.click/p?m=00000&tid={REPLACE}&coupon={coupon_value}
```

{% endcode %}

### **Coupon Reports**

1. **Go to Offers » Coupons**
2. **Go to "Coupon Reports"**

You can view logs related to a specific coupon code, Offer ID, and Coupon Status here.

### Coupon Import

1. **Go to Offers » Coupons**
2. **Go to "Import Coupons"**

The coupon information will be shown in a table format as soon as the file is uploaded

Required field information to be mapped with CSV:

* Offer ID
* Coupon Code
* Quota
* Start Date (YYYY-MM-DD)
* End Date (YYYY-MM-DD)
* Status (coupon rule status)
* Affiliate (IDs only to Allow)
* Description

3. **Exclude the first row of the table » submit**

**Example File**

{% file src="/files/ecDfxqqlNoBZYsaBqlzA" %}


# Offer Affiliate Links

The Offer Affiliate Links feature is an automation tool that simplifies the assignment of offers to affiliates using customizable, predefined rule configurations. You can create multiple rules based on specific filters to fully automate the offer assignment process.

To create an Offer Affiliate Links rule, follow these steps:

1. Go to Offers > Offer Affiliate links
2. To create a new Automation rule, Go to Add Rules
3. Select fields > Submit

|                                                |                                                                                                             |
| ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| **Fields**                                     | **Description**                                                                                             |
| Rule Name                                      | Define name of the rule                                                                                     |
| Advertiser                                     | Select Advertiser ID                                                                                        |
| Offer                                          | <p>Include : Include offers to assign affiliate                                                             |
| <br>Exclude : Exclude offers from the rule</p> |                                                                                                             |
| Affiliate                                      | <p>Include : Include affiliates in the rule                                                                 |
| <br>Exclude : Exclude affiliates from rule</p> |                                                                                                             |
| Payout Currency                                | Select offer payout currency                                                                                |
| Payout Model                                   | Select offer payout model                                                                                   |
| Min Payout                                     | Define minimum threshold payout                                                                             |
| Max Payout                                     | Define maximum payout                                                                                       |
| Country                                        | Select Country targeting as per Offers                                                                      |
| Status                                         | <p>Active : Rule status is active</p><p>Pending : Rule status is pending<br>Rejected : Rule is rejected</p> |

{% hint style="info" %}
**Public offers** will be automatically assigned to eligible affiliates based on the configured rules.
{% endhint %}


# Suppression List

The suppression list will be shared by the advertiser to an Ad network Or affiliate partner for email marketing. Offer18 now allows you to upload suppression lists for your affiliate partners for email campaigns. The practices below outline how to set up a suppression list for an offer.

#### 1. Go to Offers **»** Offer - Approved

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

#### 2. Click on Offer name / ID to enter into its configurations panel.&#x20;

#### 3. Go to More **»** Suppression List

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

#### 4. Enter the details **» Submit**

***

## Suppression List in Affiliate Dashboard

#### 1. Login Affiliate Dashboard

#### 2. Offers » My Offers (approved) » Select Offer&#x20;

#### **3. Go to "**&#x53;uppression List" Tab

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


# Retargeting Tag

Retargeting tag is a piece of JavaScript code that an advertiser adds to a website or landing page. It helps to track user behavior on a website. When a user/visitor visits the website, it collects some data such as the page visited, IP address, and cookie details, etc. It is helpful to retarget the user after post visits.

To save an affiliate's retargeting code in the offer, follow these steps:

#### 1. Go to Offers **»** Offer - Approved

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

#### 2. Click on Offer name / ID to enter into its configurations panel.&#x20;

#### 3. Go to More **»** Retargeting Tags

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

#### 4. Click on "+ Add Retargeting Tag"

#### 5. Define tag name, Select Affiliate ID

#### 6. Place URL (optional)

#### 7. Place affiliate retag code/script in "Code" **»** Submit&#x20;

After submitting, Offer18's retargeting script will be generated and needs to be placed on the website. You can easily make changes in the affiliate's retargeting code. The Offer18 retargeting script will take some time to update.

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

***

### Global Retargeting tag

In order to use Global retargeting code, follow the instructions given below

#### **Offer Setup**

For Global retargeting code, it is mandatory to include affiliate Id and offer Id parameter and token in the Offer URL and also for all the landing pages while creating offer in Offer18 dashboard.

```
https://example.com/?aff_id={aff_id}&offer_id={offerid} 
```

This code is intended for placement in the `<head>` section of the advertiser's website. It will automatically detect relevant browser data and execute the retargeting script accordingly.

{% code overflow="wrap" %}

```javascript
<script>function p(n){return new URLSearchParams(window.location.search).get(n);}var a=p("aff_id"),o=p("offer_id");if(a&&o){var s=document.createElement("script");s.src="https://web-resources-dyn.offer18a.net/sdk/web/WebRTG.js?t=ao&a="+a+"&o="+o;s.async=true;document.head.appendChild(s);}</script>
```

{% endcode %}


# Affiliates

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td>📄 <strong>Create Affiliate</strong></td><td></td><td><a href="/pages/mzSB3PPg6HK2xMLc2rZD">/pages/mzSB3PPg6HK2xMLc2rZD</a></td></tr><tr><td></td><td>📄 <strong>Affiliate Profile</strong></td><td></td><td><a href="/pages/2zVsuSY2CVCwfiiD1HtX">/pages/2zVsuSY2CVCwfiiD1HtX</a></td></tr><tr><td></td><td>📄 <strong>Manage Affiliate</strong></td><td></td><td><a href="/pages/sbwcMjPTAM8mveFtjw6i">/pages/sbwcMjPTAM8mveFtjw6i</a></td></tr><tr><td></td><td>📄 <strong>Manage Offers</strong></td><td></td><td><a href="/pages/WMq8TAUl7HScrYA4ngi7">/pages/WMq8TAUl7HScrYA4ngi7</a></td></tr><tr><td></td><td>📄 <strong>Generate Tracking URL</strong></td><td></td><td><a href="/pages/3zSbH9x0oNHXBGEdDAsP">/pages/3zSbH9x0oNHXBGEdDAsP</a></td></tr><tr><td></td><td><strong>📄 Affiliate Global Postback</strong></td><td></td><td><a href="/pages/HKhIw4AuCE0RgfTkanHK">/pages/HKhIw4AuCE0RgfTkanHK</a></td></tr><tr><td></td><td>📄 <strong>Affiliate Postback Test</strong></td><td></td><td><a href="/pages/C2aBNcUPxrYlsX8yBi5U">/pages/C2aBNcUPxrYlsX8yBi5U</a></td></tr><tr><td></td><td>📄 <strong>API Access Manage</strong></td><td></td><td><a href="/pages/jiA01M7GEAhE2qGpcl4x">/pages/jiA01M7GEAhE2qGpcl4x</a></td></tr><tr><td></td><td>📄 <strong>Log in Affiliate Account</strong></td><td></td><td><a href="/pages/lxfpSUPhz42e8Xli7xmI">/pages/lxfpSUPhz42e8Xli7xmI</a></td></tr><tr><td></td><td>📄 <strong>Reset Password</strong></td><td></td><td><a href="/pages/HBCnB7fbTFGaNw4kDNNF">/pages/HBCnB7fbTFGaNw4kDNNF</a></td></tr><tr><td></td><td>📄 <strong>Affiliate Referrals</strong></td><td></td><td><a href="/pages/XtEAuRLxjr5RZvcLwPh9">/pages/XtEAuRLxjr5RZvcLwPh9</a></td></tr></tbody></table>


# Create Affiliate

1. **Go to Affiliate » Affiliate » Add Affiliate**
2. **Fill in the basic details of Affiliate** **and Submit.**

![](/files/eVTFN5piKD3uomJsML2O)

#### Affiliate Profile Fields <a href="#step-3-fill-all-details-of-affiliate-for-whom-account-is-being-created" id="step-3-fill-all-details-of-affiliate-for-whom-account-is-being-created"></a>

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Description</strong></td></tr><tr><td>Name</td><td>First Name and Last Name of the Affiliate</td></tr><tr><td>Company</td><td>This can either be the name of the Affiliate's Company or an individual’s name</td></tr><tr><td>Email </td><td>Notifications and alerts will be sent to this email address</td></tr><tr><td>Password</td><td>Create password for the Affiliate or use the system-generated password</td></tr><tr><td>Account Manager</td><td>Assign an Account Manager to this Affiliate</td></tr><tr><td>Status</td><td>Status of the Partner account<br>Active / Pending / Rejected</td></tr><tr><td>Send Credentials to User</td><td>Enabling this will send log-in details to added email address.</td></tr></tbody></table>

***

Video Tutorial - Affiliate Profile Creation and Manage

{% embed url="<https://www.youtube.com/watch?v=oFUITsL2hfQ>" %}

{% hint style="warning" %}
If a person is unable to register an Affiliate account, it is because their email address is already linked with another Affiliate member on the network.
{% endhint %}


# Affiliate Profile

#### 1. Go to Affiliates **»** Affiliates&#x20;

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsGBAy_q-_aNiN0GOa%2F-MMsGeXUUY0tpWdXQ8b9%2F5757ac6b6c8bdfc0b437c5e0ad8e794f.gif?alt=media\&token=ab0f1984-981c-4d94-a3e6-0bbdd0ffde9f)

#### 2. Click on Affiliate's name/row to enter Affiliate's profile

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsGBAy_q-_aNiN0GOa%2F-MMsGtWXqYaDLeWZml3J%2F1e55d08ec34252e2dd403229ed3941d4.gif?alt=media\&token=f1062c3e-551b-40c1-ac01-479366caf79e)

***

### Profile <a href="#profile" id="profile"></a>

| **Field**      | **Description**                                                                                         |
| -------------- | ------------------------------------------------------------------------------------------------------- |
| Name           | First and Last name of the Affiliate                                                                    |
| Company        | Company name of the Affiliate                                                                           |
| Address        | Address of the Affiliate                                                                                |
| Mobile         | Mobile number of the Affiliate                                                                          |
| Social Contact | <p>Social contact and relevant address <br><strong>For example</strong> - Skype, Telegram, Linkedin</p> |

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsGBAy_q-_aNiN0GOa%2F-MMsHBTbn8j3hRr2BPvp%2F4e4989776601e83f7b223b9d4716a0e6.gif?alt=media\&token=3044915b-c174-4479-8db4-c6ef3ff964e1)

***

### Account <a href="#account" id="account"></a>

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Description</strong></td></tr><tr><td>Email</td><td>Email address of the Affiliate</td></tr><tr><td>Manager</td><td>Assign Account Manager to Affiliate</td></tr><tr><td>Postback Delay</td><td>Delay in Affiliate Postback to be fired <br>(in seconds)</td></tr><tr><td>Timezone</td><td>Timezone of Affiliate’s Dashboard for Reporting</td></tr><tr><td>API Access</td><td>Enable / Disable API Access</td></tr><tr><td>Allow Profile Update</td><td>Enable / Disable changes in profile from Affiliate Dashboard</td></tr><tr><td>Advertisers Block</td><td>Block Offers from specific Advertiser</td></tr><tr><td>Advertisers Allow</td><td>Allow Offers from specific Advertiser</td></tr><tr><td>Affiliate Fallback</td><td>Set Fallback URL to send rejected clicks back to the Affiliate </td></tr><tr><td>Private Note</td><td>Internal Private notes</td></tr><tr><td>Status</td><td>Account status</td></tr></tbody></table>

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsGBAy_q-_aNiN0GOa%2F-MMsHY5pSGJT-7oGclJX%2Fafa567ff685fc10c46c12c076da03765.gif?alt=media\&token=3144668f-c7dd-435d-8249-f7f679e77dcc)

***

### Billing <a href="#billing" id="billing"></a>

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Description</strong></td></tr><tr><td>Affiliate Invoice Terms</td><td>Invoice Terms for Affiliate</td></tr><tr><td>Tax Details</td><td>Tax Details of Affiliate</td></tr></tbody></table>

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsGBAy_q-_aNiN0GOa%2F-MMsHpyLxTqh1MjpglFH%2F742506d00b915539a4a1233923abdbb0.gif?alt=media\&token=efd0015d-9b8b-4d95-a8d8-603e42be0d66)


# Affiliate Employee

The admin can add multiple sub-accounts under a single affiliate account to enable efficient management of the affiliate's diverse team.

To create an affiliate employee:

**1. Go to Affiliates » Affiliates**&#x20;

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsGBAy_q-_aNiN0GOa%2F-MMsGeXUUY0tpWdXQ8b9%2F5757ac6b6c8bdfc0b437c5e0ad8e794f.gif?alt=media\&token=ab0f1984-981c-4d94-a3e6-0bbdd0ffde9f)

**2. Click on Affiliate's name/row to enter Affiliate's profile**

**3. Scroll down to 'Account Employees' » click 'Add Employee'**

**4. Fill in the basic details of the affiliate employee, then click 'Submit'**

***

### Affiliate Employee Profile Fields

<table data-header-hidden><thead><tr><th width="237.9998779296875"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Description</strong></td></tr><tr><td>First Name</td><td>First Name of the Affiliate Employee</td></tr><tr><td>Last Name</td><td>Last Name of the Affiliate Employee</td></tr><tr><td>Email Address</td><td>Alerts will be sent to this email address</td></tr><tr><td>Contact</td><td>Contact details of the affiliate employee</td></tr><tr><td>Status</td><td>Status of the Partner account -<strong>Approved/Rejected</strong></td></tr><tr><td>Password</td><td>Create password for the Affiliate or use the system-generated password</td></tr></tbody></table>

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

***

### Permissions

**Full Access** – Affiliate employees can access the fields that are enabled under permissions.

**Read-Only** – Only view access is assigned for the fields that are enabled under permissions.

{% hint style="info" %}
To log in, select the "**Affiliate Employee**" option on the login page.
{% endhint %}


# Manage Affiliates

#### Go to Affiliate **»** Pending Affiliates

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsIB6TT6JAeumU8GNy%2F-MMsJ0rkINIQZo40zzBM%2Fd21611a476eabefd63aca26faf4e741b.gif?alt=media\&token=ba1ba636-ead7-4639-8b50-0c38aa5bfaae)

***

### Approve Affiliates

#### Options **»** Approve

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsIB6TT6JAeumU8GNy%2F-MMsIZGNsEkq-B8Nxdfh%2Faed0618d1362043d2b41e70da5e456cf.gif?alt=media\&token=81307abc-f41d-4d5f-82ea-e4dea9f65be4)

***

### Reject Affiliate

#### Options **»** Reject

![](/files/JrpKCVWTmuf5jYiVZztj)

{% hint style="success" %}
Affiliates will get notified over the email of their account Approve/Reject status.
{% endhint %}


# Manage Offers

#### 1. Go to Affiliates **»** Affiliates&#x20;

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsGBAy_q-_aNiN0GOa%2F-MMsGeXUUY0tpWdXQ8b9%2F5757ac6b6c8bdfc0b437c5e0ad8e794f.gif?alt=media\&token=ab0f1984-981c-4d94-a3e6-0bbdd0ffde9f)

#### 2. Click on Affiliate's name/row to enter Affiliate's profile

***

### Approve Offers

1. Options **»** Manage Offers &#x20;
2. Click on "+Approve"

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsPUqbgOeTcUvMcyyi%2F-MMsVm7LLah-WbLGF-Hj%2F76287ee2c1dae531a24160acab5fb8e6.gif?alt=media\&token=b2c3a3e6-0515-451a-b40d-cd74d312022c)

***

### Reject Offers&#x20;

1. &#x20;Options **»** Manage Offers &#x20;
2. Click on "Reject"

![](/files/cxCWqTQv5wAlsLUl5sEW)


# Generate Tracking URL

#### 1. Go to Affiliates **»** Affiliates

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsPUqbgOeTcUvMcyyi%2F-MMsSxslSTP5Dvqli4L_%2Fe845b956a6d7754c70c76f54eff9b273.gif?alt=media\&token=a6b2b791-994b-42c9-8531-9280ec5d2133)

#### 2. Options **»** Affiliate Tracking URL&#x20;

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsPUqbgOeTcUvMcyyi%2F-MMsUcTfcaw09Kh7P6D_%2F78b09cb8b70d9dafa430b8d7ec4df4db.gif?alt=media\&token=6fa28815-7d12-45ff-8bf8-7fb73a8a768e)


# Affiliate Global Postback

1. **Go to** **Affiliates » Affiliate Postback** &#x20;
2. **Click on "Add Global Postback"**

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MN7LB-xrEhiOGZx53cD%2F-MN7NZ1lHqTZ19X-G_-G%2FVeYR24DoeR.gif?alt=media\&token=b21f5bfc-d6f3-487c-a23f-cb1dc27e6f99)

3\. **Go to Add Global postback button**&#x20;

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsIB6TT6JAeumU8GNy%2F-MMsLA2GKQjjsy2ZSl-T%2F166a2354e6bbd72d0b7f5350782941e5.gif?alt=media\&token=117ff762-b60e-41fe-8013-aefd1209cc36)

***

### Add Global S2S (Server to Server Postback)  <a href="#step-4-a-add-global-s2s-server-to-server-postback" id="step-4-a-add-global-s2s-server-to-server-postback"></a>

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Postback Parameter</strong></td><td><strong>Description</strong></td></tr><tr><td>{aff_click_id}</td><td>To send Click ID to Affiliates</td></tr><tr><td>{sub_aff_id}</td><td>To send Sub Affiliate ID to Affiliates</td></tr><tr><td>{aff_sub1}</td><td>Additional information sent by Affiliate in Offer URL</td></tr><tr><td>{aff_sub2}</td><td>Additional information sent by Affiliate in Offer URL</td></tr><tr><td>{aff_sub3}</td><td>Additional information sent by Affiliate in Offer URL</td></tr><tr><td>{aff_sub4}</td><td>Additional information sent by Affiliate in Offer URL</td></tr><tr><td>{aff_sub5}</td><td>Additional information sent by Affiliate in Offer URL</td></tr><tr><td>{payout}</td><td>Pass Payout amount to Affiliates via Postback</td></tr><tr><td>{event_token}</td><td>Pass Event token to Affiliates in Postback</td></tr><tr><td>{currency}</td><td>Pass Currency format in Postback</td></tr><tr><td>{random}</td><td>Pass random value to Affiliates in Postback</td></tr><tr><td>{adv_sub4}</td><td>Additional information passed by client's Advertisers</td></tr><tr><td>{adv_sub5}</td><td>Additional information passed by client's Advertisers</td></tr></tbody></table>

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsIB6TT6JAeumU8GNy%2F-MMsNfQ4OmhoAXM6RfCd%2Fc6f66a478515e71ef131a9a04b95ab64.gif?alt=media\&token=c1a71a24-c58b-4aa2-927d-e20206eaf65b)

{% hint style="info" %}
Use the **Advanced Setup** when the affiliate postback requires specific HTTP header values in **GET/POST** method and data in the **POST** body. This allows you to configure custom headers and include the required parameters in the request body (e.g., form-data or JSON) as specified by the affiliate network.
{% endhint %}

***

### Add Global image pixel&#x20;

While placing image pixel / pixel code for the Affiliate as a Global pixel - the Admin user has to make sure he only places the pixel URL and nothing else. \
For example, image pixel&#x20;

```
<img src="https://image-pixel.code.example.com/pixel?id=1" width="0" height="0"/>
```

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsIB6TT6JAeumU8GNy%2F-MMsO1V7i7NenR2e8rgM%2F8b0a9f7a86a1543b0b437a2b46bfefda.gif?alt=media\&token=c375e9c5-6c85-45ca-aa7f-b5193c9f1234)

***

### Add Global iframe pixel &#x20;

Whenever the user gets iframe pixel code from Affiliates the Global pixel they just need to copy and paste the code as it is in the Postback URL field.

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsO_xLy-1Y8NLAe69i%2F-MMsPQjNvGA9cvKoNHqR%2Fc42ea666fbb7db7280d31d38aa43d625.gif?alt=media\&token=9adef849-aa10-4d4d-997a-8e5cb8ec934f)


# Affiliate Postback Test

The quickest way to test integration with an Affiliate is the Affiliate Postback Test.

**Requirements for Integration**

1. Affiliate must set up Campaign link with proper placement of Macros and Parameters for Integration.&#x20;
2. Postback must be saved in that Affiliate's profile. (Global / Offer Based)
3. Test URL must be shared by the Affiliate.

Navigate to&#x20;

1. **Affiliate » Postback Test**&#x20;
2. **Place the test link in "Affiliate URL"**
3. **Select Useragent » Initiate Test**

<figure><img src="/files/18xcFtjsSkqrdXFldq9M" alt=""><figcaption></figcaption></figure>

***

## Deep Postback Test - Affiliate

The Deep Postback Test is for testing with an Affiliate at an advanced level. In this test, Conversion activity between Admin user of Offer18 Platform and his Affiliates works like actual Conversion activity by the system.<br>

1. Go to Affiliate **»** Postback Test **»** Deep Postback Test
2. Select the Offer for which the user wants to perform the test.
3. Admin user has to place the test link given by the Affiliate.
4. Click on Test 1  (a new tab will open with Campaign redirection in it)&#x20;
5. Close Window After all Redirects are Completed.
6. Click on Test 2  (System will trigger the Postback to process Conversion tested)

That's it, wait for results to appear on the right side of the window

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

#### **Results**&#x20;

The top part of the results will show the TID value generated for test Conversion and the rest of the data passed by the Affiliate in the Affiliate Tracking URL.

#### **Affiliate postback URL (Preview)**&#x20;

This part shows the preview of the final Postback URL which is going to be triggered for Affiliates in this test performed.

#### **Affiliate Postback Response (Fired)**&#x20;

This part displays the actual Postback triggered for the Affiliate and the **HTTP** response given by the Affiliate's system. Admin user is recommended to check with the Affiliate regarding this part of the result page.


# API Access Manage

Sometimes Affiliates works on API basis. In that case Admin has the access to enable / disable API for his sources.

1. **Go to Affiliates » Affiliates**&#x20;

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsGBAy_q-_aNiN0GOa%2F-MMsGeXUUY0tpWdXQ8b9%2F5757ac6b6c8bdfc0b437c5e0ad8e794f.gif?alt=media\&token=ab0f1984-981c-4d94-a3e6-0bbdd0ffde9f)

2\. **Click on the Affiliate's name/row to enter his profile**

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsGBAy_q-_aNiN0GOa%2F-MMsGtWXqYaDLeWZml3J%2F1e55d08ec34252e2dd403229ed3941d4.gif?alt=media\&token=f1062c3e-551b-40c1-ac01-479366caf79e)

3\. **Enable API Access Here » Submit**

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsIB6TT6JAeumU8GNy%2F-MMsJN-bnRRCZN8_XJZ4%2Ffca2ea5f28ef31a08145f92395bf8eed.gif?alt=media\&token=d3d21ec6-c18b-4e4b-a55d-7c8af12f92cb)

{% hint style="success" %}
API Credentials will be visible on the right side of the window.
{% endhint %}

[<mark style="color:blue;">**How Affiliates can get API credentials from their Affiliate dashboard**</mark>](/affiliate/affiliate-apis)


# Log in Affiliate Account

#### Go to Affiliates **»** Affiliates

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsGBAy_q-_aNiN0GOa%2F-MMsGeXUUY0tpWdXQ8b9%2F5757ac6b6c8bdfc0b437c5e0ad8e794f.gif?alt=media\&token=ab0f1984-981c-4d94-a3e6-0bbdd0ffde9f)

#### Options **» Login**

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsIB6TT6JAeumU8GNy%2F-MMsKSJTzyC-O77H-vYk%2Fb6bdaef741618dcfb45483da93c2db48.gif?alt=media\&token=9bd90527-685e-4fe7-912a-6b4c3b6187a2)

{% hint style="success" %}
User will be redirected to Affiliate dashboard.
{% endhint %}


# Reset Password

#### 1. Go to Affiliates **»** Affiliates

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsGBAy_q-_aNiN0GOa%2F-MMsGeXUUY0tpWdXQ8b9%2F5757ac6b6c8bdfc0b437c5e0ad8e794f.gif?alt=media\&token=ab0f1984-981c-4d94-a3e6-0bbdd0ffde9f)

#### 2.  Click on Affiliate's name/row to enter Affiliate's profile

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsGBAy_q-_aNiN0GOa%2F-MMsGtWXqYaDLeWZml3J%2F1e55d08ec34252e2dd403229ed3941d4.gif?alt=media\&token=f1062c3e-551b-40c1-ac01-479366caf79e)

#### 3. Options **»** Password Reset

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsPUqbgOeTcUvMcyyi%2F-MMsWUaEATk4IjUd6Mim%2F02b8d3088343daffce5ae67398e5f076.gif?alt=media\&token=232b590b-9ae5-4c18-b7f5-8d36daf4d42a)

{% hint style="success" %}
New Password will be sent to the Affiliate's registered email
{% endhint %}


# Affiliate Referrals

Affiliate referral program in Offer18 helps users to provide incentives/referral commission to their affiliate, on referring other affiliates on their network.

An affiliate can refer to his friend, relative, colleague, or a loved one and get the benefits of referring from his admin. The admin has the authority to define all the terms and conditions related to the referral commission.&#x20;

> Admin can set the referral commission in the form of percentage or fixed amount (flat).

#### Enable Affiliate referral program&#x20;

1. Go to Account **»** Settings **»** Affiliate
2. Enable "Referral Commission"&#x20;
3. Select "Flat (USD) / month" for fixed amount or "Percentage" for the percentage based referral commission.
4. Enter "Days" and "Value"&#x20;
5. Add "Referral Terms"&#x20;
6. Submit

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

***

### Manage Referrals

Go to Affiliates **»** Affiliate Referral

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsPUqbgOeTcUvMcyyi%2F-MMsV0UPEr8hAOuMOrAZ%2F1c9366ab5ad6ec08c0a564b7e0e21670.gif?alt=media\&token=0f206350-71c6-40c8-bbe7-80e5f9f9d3ac)

One can check all reports and details regarding referred Affiliates

{% hint style="info" %}
Commission(Bonus) details can be updated here (Affiliate wise)
{% endhint %}

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


# Advertisers

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td>📄 <strong>Create Advertiser</strong></td><td></td><td><a href="/pages/5A4JfwvcqJkkU8fCDYqs">/pages/5A4JfwvcqJkkU8fCDYqs</a></td></tr><tr><td></td><td>📄 <strong>Advertiser Profile</strong></td><td></td><td><a href="/pages/weR223bQS32HRFd838q5">/pages/weR223bQS32HRFd838q5</a></td></tr><tr><td></td><td>📄 <strong>Advertiser's Offers</strong></td><td></td><td><a href="/pages/rK3tdletv61W4WHmgvjr">/pages/rK3tdletv61W4WHmgvjr</a></td></tr><tr><td></td><td>📄 <strong>Advertiser Test Link</strong></td><td></td><td><a href="/pages/gzOjINRMKPGSP0E0NOvF">/pages/gzOjINRMKPGSP0E0NOvF</a></td></tr><tr><td></td><td>📄 <strong>Login as Advertiser</strong></td><td></td><td><a href="/pages/kByfBLTJP5fiUgM2M6ME">/pages/kByfBLTJP5fiUgM2M6ME</a></td></tr><tr><td></td><td>📄 <strong>Password Reset</strong></td><td></td><td><a href="/pages/03QKyNNL2UtkkddNxAAF">/pages/03QKyNNL2UtkkddNxAAF</a></td></tr></tbody></table>


# Create Advertiser

1. **Go to Advertisers » Advertisers » Add Advertiser**
2. **Fill in the basic details of Advertiser and Submit**

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMdm9u9tWxpsH7G2ZOY%2F-MMe3Ln73v6BNifdLiPN%2F55077ee156db8e3570e99fae2875d2e4.gif?alt=media\&token=94812623-2284-457d-acc6-40ce27f90c19)

#### Advertiser Profile Fields <a href="#step-3-fill-all-details-of-affiliate-for-whom-account-is-being-created" id="step-3-fill-all-details-of-affiliate-for-whom-account-is-being-created"></a>

<table data-header-hidden><thead><tr><th width="256.05721811146907">Field</th><th width="457.4285714285714">Description</th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Description</strong></td></tr><tr><td>Name</td><td>First Name and Last Name of the Advertiser</td></tr><tr><td>Company(Brand)</td><td>Company of the Advertiser</td></tr><tr><td>Email</td><td>Email of the Advertiser</td></tr><tr><td>Password</td><td>Create password for the Advertiser or use the system-generated password</td></tr><tr><td>Account Manager</td><td>Assign Affiliate Manager to the Advertiser</td></tr><tr><td>Status</td><td>Status of Advertiser account</td></tr><tr><td>Send Credentials to User</td><td>Enabling checkbox will send credentials to the Advertiser</td></tr></tbody></table>

***

Video Tutorial - Advertiser Profile Creation and Manage

{% embed url="<https://www.youtube.com/watch?v=tCvD96kowf0>" %}

{% hint style="warning" %}
If a person is unable to register an Advertiser account, it is because their email address is already linked with another Advertiser member on the network.
{% endhint %}


# Advertiser Profile

#### 1. Go to Advertisers **»** Advertisers

![](/files/2ig5joTfQAckp2vDaTIY)

#### 2. Click on Advertiser's name/row to enter Advertiser's profile

![](/files/cg5jcP0PEM1GaxetQ5JA)

***

### Profile

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Description</strong></td></tr><tr><td>Name</td><td>First and Last name of the Advertiser</td></tr><tr><td>Company</td><td>Company name of the Advertiser</td></tr><tr><td>Address</td><td>Address of the Advertiser</td></tr><tr><td>Mobile </td><td>Mobile number of the Advertiser</td></tr><tr><td>Social Contact</td><td>Social contact and relevant address<br><strong>For example</strong> - Skype, Telegram, Linkedin, etc</td></tr></tbody></table>

![](/files/41gD1UBs6q1UnsXjnNpp)

***

### Account <a href="#account" id="account"></a>

<table data-header-hidden><thead><tr><th width="173.69907033045178"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Description</strong></td></tr><tr><td>Email</td><td>Email address of the Advertiser</td></tr><tr><td>Manager</td><td>Assigned Manager to the Advertiser</td></tr><tr><td>Timezone</td><td>Timezone of Advertiser's Dashboard for reporting</td></tr><tr><td>Postback IP WhiteList</td><td>Comma-separated list of the advertiser's server IP addresses that need to be whitelisted for s2s integration</td></tr><tr><td>Affiliate Block</td><td>Affiliates blocked for the Advertiser</td></tr><tr><td>Affiliate Whitelist</td><td>Affiliates allowed for the Advertiser</td></tr><tr><td>Status</td><td>Account status of the Advertiser</td></tr></tbody></table>

> **Postback IP WhiteList**&#x20;
>
> To enable server-to-server integration, advertisers provide a list of their server IP addresses that need to be whitelisted. This list ensures secure and authorized communication by allowing only specified IPs to access the server.

![](/files/2wg9fDJLAohgKmIU4unw)

***

### In Notes <a href="#in-notes" id="in-notes"></a>

| **Field**       | **Description**                             |
| --------------- | ------------------------------------------- |
| Private Notes   | Internal private notes regarding Advertiser |
| Additional Info | Internal information regarding Advertiser   |
| Tax Details     | Tax details of the Advertiser               |

![](/files/HaoNkk9WSmtiYnpQTcQj)

**3. Submit button to save changes.**


# Advertiser's Offers

#### 1. Go to Advertisers **»** Advertisers.&#x20;

![](/files/gLEM3CEBp00tMUcFRkmV)

#### 2. Click on Advertiser's name/row to enter Advertiser's profile

![](/files/oGtS0tmMSdGzqZJyJsWq)

#### 3. Go to Manage Offers.

![](/files/1jVAt7vH83YdUL24NSK8)


# Advertiser Test Link

Test URL is usable for testing integration with the Advertiser end only. Once the user is done setting up Offer and Postback with the Advertiser.\
Test of integration is always recommended.

{% hint style="warning" %}
Test link cannot be used for Affiliate's Postback integration
{% endhint %}

**Offers » Options »  Advertiser Test Link**&#x20;

![](/files/MkoCrcYQWGVrLowWNNAO)


# Login as Advertiser

#### 1. Go to Advertisers **»** Advertisers&#x20;

![](/files/b46ChxfvObFarmL0KUDd)

#### **2. Options** **»** **Login**

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

{% hint style="success" %}
User will be redirected to Advertiser Dashboard.
{% endhint %}


# Password Reset

#### 1. Go to Advertisers **»** Advertisers.&#x20;

<div align="left"><img src="/files/FZGgM5Qvp6FamGyoaVDC" alt=""></div>

#### 2.  Click on Advertiser's name/row to enter Advertiser's profile

![](/files/6S29WbSDDXEeCp7jkV59)

#### 3. Options **»** Password Reset

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

{% hint style="success" %}
New Login Credentials will be sent to the Advertiser's registered email
{% endhint %}


# Postback Integration

Postback / Callback URL to be used as a mode of receiving / pulling Conversions recording from Advertiser Platform to Offer18.

**Go to Shortcuts » Postback**

<div data-full-width="false"><figure><img src="/files/Xc2M8MDZfgeCSbXotrtJ" alt=""><figcaption></figcaption></figure></div>

* Offer18 automatically generates a standard Global Postback URL.
* Offer / Advertiser specific Postbacks can be generated in this section.

***

### Global Postback **(S2S)**&#x20;

{% hint style="info" %}
It is always recommended to users of Offer18 to Coordinate with Advertiser Partner to ensure all the parameters and macros are properly implemented.
{% endhint %}

Example Offer URL &#x20;

```
https://example.o18.click/c?o=000&a=0000&aff_click_id={tid}
```

\
**Example Global Postback (S2S)**&#x20;

```
https://example.o18.click/p?m=000&tid={aff_click_id}
```

***

### Image Pixel

Image pixel integration is completely dependent on the browser's cookies.

{% hint style="info" %}
When the image pixel is configured there is no requirement for \&tid= parameter.
{% endhint %}

**Example Image pixel**

```
<img src="https://example.o18.click/p?m=0000&t=i&gb=1" width="0px" height="0px">
```

***

### iframe Pixel

iframe pixel integration is completely dependent on the browser's cookies.&#x20;

{% hint style="info" %}
When the iframe pixel is configured there is no requirement for \&tid= parameter.
{% endhint %}

**Example iframe pixel**

{% code overflow="wrap" %}

```
<iframe src="https://example.o18.click/p?m=0000&t=f&gb=1" width="0px" height="0px"></iframe>
```

{% endcode %}

***

#### **Postback Macro List**

<table data-header-hidden><thead><tr><th width="213.78571428571428">Macro Name</th><th width="206.18978837756129">Parameter in postback</th><th width="315.2">Description</th></tr></thead><tbody><tr><td><strong>Macro Name</strong></td><td><strong>Parameters</strong> </td><td><strong>Description</strong></td></tr><tr><td>TID</td><td>tid</td><td>To receive a unique Click ID value being passed in Offer URL</td></tr><tr><td>Events</td><td>event</td><td>It will be used to receive Event values (install, signup, etc)  </td></tr><tr><td>Adv Sub1 <strong>-</strong> Adv Sub5</td><td>adv_sub1 <strong>-</strong> adv_sub5</td><td>Receive additional value from Advertiser </td></tr><tr><td>Sale</td><td>sale</td><td>Recommended to use in CPS Campaign (&#x26;sale=000)</td></tr><tr><td>Payout</td><td>payout</td><td>Recommended to use in CPA Campaign (&#x26;payout=000)</td></tr><tr><td>Currency</td><td>currency</td><td><p>3-digit currency code</p><p><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span><a href="/pages/ytQjT8cViRfxea7uvzlN#currency"> View Currencies</a></p></td></tr></tbody></table>

***

### **Google Tag Manager**

When the Client wants to place a pixel through Google Tag Manager. Using the Google Tag Manager template available in the user's account is recommended

**Example GTM Postback**

```
https://example.o18.click/p?m=0000&t=i&gb=1
```

{% file src="/files/uhJunlxgg481DtuCO4qz" %}

***

Video Tutorial - How to configure Google Tag Manager Template.

{% embed url="<https://www.youtube.com/watch?v=HoxeaniVsgM>" %}


# E-commerce Integration

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td>📄 <strong>Shopify</strong></td><td></td><td><a href="/pages/XeQta0Hky3uKTAyJQB1C">/pages/XeQta0Hky3uKTAyJQB1C</a></td></tr><tr><td></td><td>📄 <strong>WooCommerce</strong></td><td></td><td><a href="/pages/74J6vXvGMuZmt96mzQQ6">/pages/74J6vXvGMuZmt96mzQQ6</a></td></tr></tbody></table>


# Shopify

To Integrate with shopify one needs place Offer18 Image pixel in shopify dashboard

### [<mark style="color:blue;">Get Image Pixel</mark>](/network/postback-integration)

**Example :- Image Pixel for Shopify to collect various data values**&#x20;

{% code overflow="wrap" %}

```
<img src="https://example.o18.click/p?m=0000&t=i&gb=1&sale={{ total_price | money_without_currency }}&adv_sub4={{ total_price | money_without_currency }}&adv_sub5={{ order_number }}&currency={{ currency }}" width="0px" height="0px">
```

{% endcode %}

***

### Shopify Integration

1. Go to Shopify Store
2. Settings **»** Checkout Tab
3. Go to Order Processing Section
4. Add Image pixel in "Additional script" Field

<figure><img src="/files/9l2t4hv6eE2ph6IpahD1" alt=""><figcaption></figcaption></figure>

5\. Go to **Save**

***

**Complete tutorial - Shopify Integration**

{% embed url="<https://youtu.be/0v2ukk7KtWc>" %}


# Shopify

## Step 1 : Create Offer

For Cookie less tracking, it is mandatory to include click ID parameter and token in the Offer URL and also for all the landing pages while creating an offer in Offer18 dashboard.

{% code title="Example" overflow="wrap" %}

```
https://shopurl.com/?<YOUR-CLICK-ID-PARAMETER>={tid}
```

{% endcode %}

***

## Step 2 : Code Placement

1. From your Shopify admin, go to "**Settings**"

2. Navigate to "**Customer events**" **»** "**Add Custom Pixel**"

3. Enter the "**Pixel name**" and then click "**Add pixel**"<br>

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

4. Remove the existing content from the "**Code**" section

5. Now, place the script given below in the "**pixel editor**" section

```javascript
analytics.subscribe("page_viewed", (event) => {
  const sdkScript = document.createElement('script');
  sdkScript.setAttribute('src', 'https://web-resources.offer18.net/sdk/web/WebSDK.js');
  sdkScript.setAttribute('async', '');
  document.head.appendChild(sdkScript);
  sdkScript.onload = function () {
    // window.Offer18WebSDK.activateDebugMode(); 
    window.Offer18WebSDK.initializeConversion('<YOUR-CLICK-ID-PARAMETER>');
  };
  sdkScript.onerror = function () {
    console.error('Failed to load the Offer18 Web SDK.');
  };
});

analytics.subscribe('checkout_completed', (event) => {
  var discountString;
  var totalAmount = event.data.checkout.totalPrice.amount;
  var orderID = event.data.checkout.order.id;
  var currency = event.data.checkout.currencyCode;
  var allDiscountCodes = event.data.checkout.discountApplications.map((discount) => { if (discount.type === 'DISCOUNT_CODE') { return discount; } });
  if (allDiscountCodes.length > 10) { discountString = ''; } else { discountString = allDiscountCodes.map((item) => item.title).join(','); }
  const sdkScript = document.createElement('script');
  sdkScript.setAttribute('src', 'https://web-resources.offer18.net/sdk/web/WebSDK.js');
  sdkScript.setAttribute('async', '');
  document.head.appendChild(sdkScript);
  sdkScript.onload = function () {
    // window.Offer18WebSDK.activateDebugMode();
    window.Offer18WebSDK.trackConversion({
      domain: '<YOUR-POSTBACK-DOMAIN>',
      accountId: '<YOUR-ACCOUNT-ID>',
      offerId: '<CAMPAIGN-ID>',
      postbackType: 'ajax',
      coupon: `${discountString}`,
      conversionData: {
        sale: `${totalAmount}`,
        currency: `${currency}`,
        adv_sub5: `${orderID}`,
      }
    });
  };
  sdkScript.onerror = function () {
    console.error('Failed to load the Offer18 Web SDK.');
  };
});
```

**Ensure that the placeholders in the script are replaced with the actual information for the campaign. The placeholders are explained in the table provided below.**

<table data-header-hidden><thead><tr><th width="362"></th><th></th></tr></thead><tbody><tr><td><strong>Placeholder</strong></td><td><strong>Explanation</strong></td></tr><tr><td><code>&#x3C;YOUR-CLICK-ID-PARAMETER></code></td><td>This is the <code>clickid</code> parameter used while creating the offer.</td></tr><tr><td><code>&#x3C;YOUR-POSTBACK-DOMAIN></code></td><td>Postback domain of the user. (<strong>domain</strong>)</td></tr><tr><td><code>&#x3C;YOUR-ACCOUNT-ID></code></td><td>Offer18 account id of the user. (<strong>accountId</strong>)</td></tr><tr><td><code>&#x3C;CAMPAIGN-ID></code></td><td>Id of the offer. (<strong>offerId</strong>)</td></tr></tbody></table>

{% hint style="warning" %}
In case of shopify '**postbackType'** must be **'ajax'**
{% endhint %}

6. Go to Save

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

***

## Custom Checkout Options

If you are using any of the custom checkouts listed below, you must use the corresponding conversion script specific to that third-party checkout.

### Shiprocket

```javascript
analytics.subscribe("page_viewed", (event) => {
  const sdkScript = document.createElement('script');
  sdkScript.setAttribute('src', 'https://web-resources.offer18.net/sdk/web/WebSDK.js');
  sdkScript.setAttribute('async', '');
  document.head.appendChild(sdkScript);
  sdkScript.onload = function () {
    // window.Offer18WebSDK.activateDebugMode(); 
    window.Offer18WebSDK.initializeConversion('<YOUR-CLICK-ID-PARAMETER>');
  };
  sdkScript.onerror = function () {
    console.error('Failed to load the Offer18 Web SDK.');
  };
});

analytics.subscribe('PurchaseSR', (event) => {
  var totalAmount = event.customData.value;
  var orderID = event.customData.transaction_id;
  const sdkScript = document.createElement('script');
  sdkScript.setAttribute('src', 'https://web-resources.offer18.net/sdk/web/WebSDK.js');
  sdkScript.setAttribute('async', '');
  document.head.appendChild(sdkScript);
  sdkScript.onload = function () {
    // window.Offer18WebSDK.activateDebugMode();
    window.Offer18WebSDK.trackConversion({
      domain: '<YOUR-POSTBACK-DOMAIN>',
      accountId: '<YOUR-ACCOUNT-ID>',
      offerId: '<CAMPAIGN-ID>',
      postbackType: 'ajax',
      conversionData: {
        sale: `${totalAmount}`,
        adv_sub5: `${orderID}`,
      }
    });
  };
  sdkScript.onerror = function () {
    console.error('Failed to load the Offer18 Web SDK.');
  };
});
```

### GoKwik

```javascript
analytics.subscribe("page_viewed", (event) => {
  const sdkScript = document.createElement('script');
  sdkScript.setAttribute('src', 'https://web-resources.offer18.net/sdk/web/WebSDK.js');
  sdkScript.setAttribute('async', '');
  document.head.appendChild(sdkScript);
  sdkScript.onload = function () {
    // window.Offer18WebSDK.activateDebugMode(); 
    window.Offer18WebSDK.initializeConversion('<YOUR-CLICK-ID-PARAMETER>');
  };
  sdkScript.onerror = function () {
    console.error('Failed to load the Offer18 Web SDK.');
  };
});

analytics.subscribe('gokwik_purchase_event', (eventData) => {
  var totalAmount = eventData.customData.total_price;
  var orderID = eventData.customData.order_name;
  const sdkScript = document.createElement('script');
  sdkScript.setAttribute('src', 'https://web-resources.offer18.net/sdk/web/WebSDK.js');
  sdkScript.setAttribute('async', '');
  document.head.appendChild(sdkScript);
  sdkScript.onload = function () {
    // window.Offer18WebSDK.activateDebugMode();
    window.Offer18WebSDK.trackConversion({
      domain: '<YOUR-POSTBACK-DOMAIN>',
      accountId: '<YOUR-ACCOUNT-ID>',
      offerId: '<CAMPAIGN-ID>',
      postbackType: 'ajax',
      conversionData: {
        sale: `${totalAmount}`,
        adv_sub5: `${orderID}`,
      }
    });
  };
  sdkScript.onerror = function () {
    console.error('Failed to load the Offer18 Web SDK.');
  };
});
```

### Razorpay Magic Checkout

Implement the below script in "theme.liquid" in your shopify account.

1. In your Shopify admin, go to **Online Store » Themes**.
2. Click “…” (three dots) **»** Edit code on your active theme.
3. Open the file: **Layout » `theme.liquid`**
4. Now, place the script given below in the just before the closing `</body>` tag **»** Save

```javascript
<script src="https://web-resources.offer18.net/sdk/web/WebSDK.js"></script>
<script>
    window.Offer18WebSDK.shopifyRazorpayMagicListenEvents({});
    window.Offer18WebSDK.initializeConversion("<YOUR-CLICK-ID-PARAMETER>");
</script>
```

Place the below code in [**Customer Events**](#step-2-code-placement) in shopify account.

```javascript
const sdkScript = document.createElement("script");
sdkScript.src = "https://web-resources.offer18.net/sdk/web/WebSDK.js";
sdkScript.async = true;
document.head.appendChild(sdkScript);
sdkScript.onload = function () {
  //console.log("SDK loaded.");
  //window.Offer18WebSDK.activateDebugMode();
  var order_id = "";
  var coupon_code = "";
  var coupon_discount = "";
  var currency = "";
  var total_amount = "";
  
  analytics.subscribe("razorpay_magic_event", (event) => {
    const eventName = event.customData?.topic;
    const data = event.customData?.data;
    if (data.order_id) {
      order_id = data.order_id;
    }
    if (data.appliedCouponCode) {
      coupon_code = data.appliedCouponCode;
    }
    if (data.couponDiscountValue) {
      coupon_discount = data.couponDiscountValue / 100;
    }
    if (data.currency) {
      currency = data.currency;
    }
    if (data.totalAmount) {
      total_amount = data.totalAmount / 100;
    }
    if (data.appliedCouponCode && data.couponDiscountValue == 0) {
      coupon_code = "";
      coupon_discount = "";
    }

    //console.log("Magic Pixel -> event:", eventName, data);
    if (eventName === "payment.success") {
      //console.log("SDK page initiate");
      window.Offer18WebSDK.trackConversion({
        domain: "<YOUR-POSTBACK-DOMAIN>",
        accountId: "<YOUR-ACCOUNT-ID>",
        offerId: "<CAMPAIGN-ID>",
        postbackType: "ajax",
        clickIdData: data?.offer18_click_ids || null,
        conversionData: {
          sale: `${total_amount}`,
          adv_sub1: `${order_id}`,
          adv_sub2: `${coupon_code}`,
          adv_sub3: `${coupon_discount}`,
          currency: `${currency}`,
        },
      });
    }
  });
};
sdkScript.onerror = function () {
  console.error("Failed to load the Offer18 Web SDK.");
};
```

### Flexype

{% code overflow="wrap" %}

```javascript
analytics.subscribe("page_viewed", (event) => {
  const sdkScript = document.createElement('script');
  sdkScript.setAttribute('src', 'https://web-resources.offer18.net/sdk/web/WebSDK.js');
  sdkScript.setAttribute('async', '');
  document.head.appendChild(sdkScript);
  sdkScript.onload = function () {
    // window.Offer18WebSDK.activateDebugMode();
    window.Offer18WebSDK.initializeConversion('<YOUR-CLICK-ID-PARAMETER>');
  };
  sdkScript.onerror = function () {
    console.error('Failed to load the Offer18 Web SDK.');
  };
});

analytics.subscribe('flexype:purchase', (event) => {

var totalAmount = event.customData.pricing.total;
var orderID = event.customData.shopify_order_name;
var currency = event.customData.currency;
var coupons = event.customData.coupons || [];
var couponCode = coupons.map(c => c.code).join(',');
var couponDiscount = coupons.map(c => c.discount).reduce((acc, discount) => acc + discount, 0);

  const sdkScript = document.createElement('script');
  sdkScript.setAttribute('src', 'https://web-resources.offer18.net/sdk/web/WebSDK.js');
  sdkScript.setAttribute('async', '');
  document.head.appendChild(sdkScript);
  sdkScript.onload = function () {
    // window.Offer18WebSDK.activateDebugMode();
    window.Offer18WebSDK.trackConversion({
      domain: '<YOUR-POSTBACK-DOMAIN>',
      accountId: '<YOUR-ACCOUNT-ID>',
      offerId: '<CAMPAIGN-ID>',
      postbackType: 'ajax',
      coupon: `${couponCode}`,
      conversionData: {
        sale: `${totalAmount}`,
        adv_sub1: `${orderID}`,
        adv_sub2: `${couponCode}`,
        adv_sub3: `${couponDiscount}`,
        currency: `${currency}`,
      }
    });
  };
  sdkScript.onerror = function () {
    console.error('Failed to load the Offer18 Web SDK.');
  };
});
```

{% endcode %}

***

## Collect Data

You can collect conversion data using various Offer18 Postback Parameters

<table data-header-hidden><thead><tr><th width="259"></th><th width="252"></th><th></th></tr></thead><tbody><tr><td><strong>Conversion Data</strong> </td><td><strong>Offer18 Postback Parameter</strong></td><td><strong>Variable to use</strong></td></tr><tr><td>Currency</td><td>currency</td><td><pre><code>`${currency}`
</code></pre></td></tr><tr><td>Total Amount of the Order</td><td>sale</td><td><pre><code>`${totalAmount}`
</code></pre></td></tr><tr><td>Order ID of the Order</td><td>adv_sub5</td><td><pre><code>`${orderID}`
</code></pre></td></tr><tr><td>Discount Coupons</td><td>coupon</td><td><pre><code>`${discountString}`
</code></pre></td></tr></tbody></table>

***

## Debug Mode

The user can enable debug mode by uncommenting '**window\.Offer18WebSDK.activateDebugMode()**;'

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


# WooCommerce

In order to integrate with WooCommerce one needs to place Offer18 Image Pixel in WooCommerce (WordPress). <br>

### [<mark style="color:blue;">Get Image Pixel</mark>](/network/postback-integration)

***

## WooCommerce Integration

There are two ways to add Offer18 Image Pixel to WooCommerce:-<br>

### Option 1 : WordPress Plugin

One can use WordPress plugin "WooCommerce Conversion Tracking" by weDevs.

Steps to follow:

1. Login to the WordPress Admin dashboard.
2. Go to "Plugins" and search "WooCommerce Conversion Tracking".\ <br>

   <div align="left"><figure><img src="/files/LSfifvKURa4nu2v4oORi" alt=""><figcaption><p><br></p></figcaption></figure></div>
3. Install and activate "WooCommerce Conversion Tracking" by weDevs.
4. Go to Conversion Tracking (sub-menu to the WooCommerce tab).
5. Enable "Custom" and Place Offer18 Pixel in "Successful Order."&#x20;

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

6. Go to Save Changes

One can receive dynamic values using tokens provided by the Plugin.\
For Example:  **\&sale** (Offer18) can be added to an Image pixel containing **{order\_subtotal}**

**Example Image pixel with sale parameter**

```
<img src="https://example.o18.click/p?mid=000&t=i&gb=1&sale={order_subtotal}" width="0" height="0"> 
```

***

Video Tutorial - WooCommerce Integration

{% embed url="<https://youtu.be/cayaPMkNzBk>" %}

***

### Option 2 : Custom Configuration

One can configure the **Conversion Tracking Syntax** in a custom configuration of the WordPress. Offer18's Conversion Tracking Syntax is given below.

#### **Conversion Tracking Syntax**

```php
add_action('woocommerce_thankyou', 'custom_track_o18');

function custom_track_o18($order_id)
{
  $order_data = wc_get_order($order_id);
  $total_amount = $order_data->get_subtotal();
  $currency = $order_data->get_currency();
  $order_number = str_replace('#', '', $order_data->get_order_number());
  echo '<img src="https://[domain]/p?m=[account_id]&t=i&gb=1&sale=' . $total_amount . '&adv_sub1=' . $order_number . '&currency='. $currency.'" width="0px" height="0px">';
}
```

{% hint style="info" %}
**Required Changes**\
\
Replace \[domain] with the tracking domain and \[account\_id] with the user account id in the script

For Example

\[domain] = **example.o18.click**\
\[account\_id]  = **0000**
{% endhint %}

Steps to follow

1. Login to the WordPress Admin dashboard.
2. Go to Appearance **»** Theme File Editor.
3. Open the **functions.php** file.
4. Place Offer18's Conversion Tracking Syntax in this file.

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

5. Go to "Update File."


# WooCommerce

### Step 1 : Create Offer

For Cookieless tracking, it is mandatory to include click ID parameter and token in the Offer URL and also for all the landing pages while creating an offer in Offer18 dashboard.

{% code title="Example" overflow="wrap" %}

```
https://shopurl.com/?<YOUR-CLICK-ID-PARAMETER>={tid}
```

{% endcode %}

***

### Step 2 : Install plugins

1. "WPCode – Insert Headers and Footers + Custom Code Snippets – WordPress Code Manager" by WPCode
2. "WooCommerce Conversion Tracking" by weDevs

#### Steps to follow

1. Login to the WordPress Admin dashboard.
2. Go to "Plugins" and search "WooCommerce Conversion Tracking" & "WPCode – Insert Headers and Footers + Custom Code Snippets – WordPress Code Manager".

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

3. Install and activate "WooCommerce Conversion Tracking" & "WPCode – Insert Headers and Footers + Custom Code Snippets – WordPress Code Manager".

***

### Step 3 : Code Placement

1. Go to Code Script **»** Header & Footer
2. Place the below code in "Scripts in header" field
3. Save settings

```html
<script src="https://web-resources.offer18.net/sdk/web/WebSDK.js"></script>
<script>
    window.Offer18WebSDK.initializeConversion('<YOUR-CLICK-ID-PARAMETER>');
</script>
```

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

{% hint style="info" %}
Users must replace '\<YOUR-CLICK-ID-PARAMETER>' with the clickid parameter used when creating the offer.
{% endhint %}

***

### Step 4 : Place below script in Conversion Tracking

1. Go to Conversion Tracking (sub-menu to the WooCommerce tab).
2. Enable "Custom" and Place below code in "Successful Order."
3. Save Changes

```html
<script>
    window.Offer18WebSDK.trackConversion({
        domain: '',
        accountId: '',
        offerId: '',
        coupon: '', 
        postbackType: '', // 'iframe' or 'pixel'
        isGlobalPixel: false, // true or false
        allowMultiConversion: false, // true or false
        conversionData: {
            event: '', // Event Name (Please specify the event)
            payout: '', // Payout Amount (Please specify the payout amount)
            sale: '', // Sale Amount (Please specify the sale amount)
            currency: '',
            adv_sub1: '',
            adv_sub2: '',
            adv_sub3: '',
            adv_sub4: '',
            adv_sub5: '',
        }
    })
</script>
```

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

***

You can collect conversion data using various Offer18 Postback Parameters and WooCommerce data attributes.

| **Offer18 Postback Parameter** | **WooCommerce Parameter** |
| ------------------------------ | ------------------------- |
| sale                           | {order\_subtotal}         |
| adv\_sub4                      | {order\_number}           |


# BigCommerce

Follow the below steps to integrate BigCommerce store with Offer18 to track conversions.

#### Step 1 : Create Offer

For Cookie less tracking, it is mandatory to include click ID parameter and token in the Offer URL and also for all the landing pages while creating an offer in Offer18 dashboard.

{% code title="Example" overflow="wrap" fullWidth="false" %}

```
https://shopurl.com/?<YOUR-CLICK-ID-PARAMETER>={tid}
```

{% endcode %}

***

####

#### Step 2 : Code Placement

Follow the steps to add the code snippet into BigCommerce account for all pages.

1. From your BigCommerce account, go to "**Storefront**"
2. Script manager **»** "**Create Script**" **»** add Script name
3. Select "**Header**" in placement and "**All Pages**" in location
4. Select "**Essential**" in Script category and "**Script**" in script type
5. Now, place the script given below in the "**Script contents**" section

{% code fullWidth="false" %}

```html
<script src="https://web-resources.offer18.net/sdk/web/WebSDK.js"></script>
<script>
    window.Offer18WebSDK.initializeUrlParam('<YOUR-CLICK-ID-PARAMETER>');
</script>
```

{% endcode %}

{% hint style="info" %}
Users must replace '**\<YOUR-CLICK-ID-PARAMETER>**' with the clickid parameter used when creating the offer.
{% endhint %}

<figure><img src="/files/89bKtehv8moaXYXNjH9r" alt=""><figcaption></figcaption></figure>

After adding the script for all pages, follow the below steps to add the script for Order Confirmation.

1. From **Storefront »** Script manager **»** "**Create Script**" **»** add Script name
2. Script manager **»** "**Create Script**" **»** add Script name
3. Select "**Footer**" in placement and "**Order Confirmation**" in location
4. Select "**Essential**" in Script category and "**Script**" in script type
5. Now, place the script given below in the "**Script contents**" section

```html
<script src="https://web-resources.offer18.net/sdk/web/WebSDK.js"></script>
<script>
  var my_order_id = {{{ checkout.order.id }}};
  let my_store_api = '/api/storefront/orders/' + my_order_id;
  fetch(my_store_api)
    .then((res) => res.json())
    .then((order) => {
      var couponString = '';
      if (order.coupons) {
        couponString = order.coupons
          .map(c => c.code)
          .join(', ');
      }
      window.Offer18WebSDK.trackConversion({
        domain: '<YOUR-POSTBACK-DOMAIN>',
        accountId: '<YOUR-ACCOUNT-ID>',
        offerId: '<CAMPAIGN-ID>',
        coupon: `${couponString}`,
        postbackType: '', // 'iframe' or 'pixel'
        isGlobalPixel: false, // true or false
        allowMultiConversion: false, // true or false
        conversionData: {
          sale: `${order.orderAmount}`,        // Sale Amount
          currency: `${order.currency.code}`,
          adv_sub5: `${my_order_id}`,
        }
      });
    });
</script>
```

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

Ensure that all placeholders in the script are replaced with the correct campaign information, as explained in the table below.

|                             |                                                                |
| --------------------------- | -------------------------------------------------------------- |
| **Placeholder**             | **Explanation**                                                |
| `<YOUR-CLICK-ID-PARAMETER>` | This is the `clickid` parameter used while creating the offer. |
| `<YOUR-POSTBACK-DOMAIN>`    | Postback domain of the user. (**domain**)                      |
| `<YOUR-ACCOUNT-ID>`         | Offer18 account id of the user. (**accountId**)                |
| `<CAMPAIGN-ID>`             | Id of the offer. (**offerId**)                                 |

***

####

#### Debug Mode

To enable debug mode in an SDK, add the following code inside your script:

```html
<script>
    window.Offer18WebSDK.activateDebugMode();
</script>
```


# Mobile Attribution Integration

A Mobile Measurement Partner is a Platform that attributes, collects, and organizes app data in order to give a consistent evaluation of Campaign performance indicators.

**Shortcuts » Postback » MMP Mobile Tracking Integration**

![](/files/c89jHe0Dy1OurYRb0SCF)

### &#x20;**Setup Automatically**&#x20;

1. Shortcuts » Postback » MMP Mobile Tracking Integration&#x20;
2. Scroll Down to the Mail Section

#### Mail Section

Using this mail functionality one can send automatically generated Information to Partner MMP Platform or multiple people. &#x20;

![](/files/cbXneCpX0AkqBsesM9Qf)

### &#x20;**Setup** Manually &#x20;

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td>📄 <strong>AppsFlyer</strong></td><td></td><td><a href="/pages/CMTiF1UpKL4O81RbHZR5">/pages/CMTiF1UpKL4O81RbHZR5</a></td></tr><tr><td></td><td>📄 <strong>Adjust</strong></td><td></td><td><a href="/pages/5l82mwfOUb5mEysobNMA">/pages/5l82mwfOUb5mEysobNMA</a></td></tr><tr><td></td><td>📄 <strong>Branch</strong></td><td></td><td><a href="/pages/sZMiZNhN2S2e5FFIEgr4">/pages/sZMiZNhN2S2e5FFIEgr4</a></td></tr><tr><td></td><td>📄 <strong>Singular</strong></td><td></td><td><a href="/pages/BBlomDPgdIJHpFUXsbOt">/pages/BBlomDPgdIJHpFUXsbOt</a></td></tr><tr><td></td><td>📄 <strong>Kochava</strong></td><td></td><td><a href="/pages/4LdLO0cK80Ajho84tmmu">/pages/4LdLO0cK80Ajho84tmmu</a></td></tr></tbody></table>


# AppsFlyer

AppsFlyer Partner Sign-up Link -

{% embed url="<https://www.appsflyer.com/get-started/partners>" %}

Partners who are already registered can reach out to the AppsFlyer team at&#x20;

{% embed url="<https://partners@appsflyer.com>" %}

1. Share your relevant Email ID with Advertiser and Advertiser will invite you for new partner integration with AppsFlyer.&#x20;
2. You will receive an email with the registration link and the Start Signup process.&#x20;

{% content-ref url="/pages/zsnJZY2nhk0Rk7wz8WU4" %}
[Global Attribution URL](/network/mobile-attribution-integration/appsflyer/global-attribution-url)
{% endcontent-ref %}

{% content-ref url="/pages/ytDmlJZYDtlrfZ6MD7yB" %}
[AppsFlyer Normal Postback](/network/mobile-attribution-integration/appsflyer/appsflyer-normal-postback)
{% endcontent-ref %}

{% content-ref url="/pages/gZpWHfQZbnp0zLC64YPA" %}
[Advanced Privacy Postback](/network/mobile-attribution-integration/appsflyer/advanced-privacy-postback)
{% endcontent-ref %}

{% content-ref url="/pages/XKguGVYEdGS4okYiCQKq" %}
[AppsFlyer - Click Signing](/network/mobile-attribution-integration/appsflyer/appsflyer-click-signing)
{% endcontent-ref %}

Setup instructions on AppsFlyer&#x20;

{% embed url="<https://support.appsflyer.com/hc/en-us/articles/360011316197-Advanced-Privacy-guide-postback-macros-for-ad-networks#setting-up-your-advanced-privacy-postback>" %}

***

**Complete tutorial - Appsflyer Integration**

{% embed url="<https://www.youtube.com/watch?v=qDt8annoPp0>" %}


# Global Attribution URL

#### **Offer URL**

```
https://app.appsflyer.com/com.appsflyer.app?af_sub_siteid={sub_aff_id}&pid=partner_int&af_siteid={aff_id}&af_click_lookback=30d&clickid={tid}&c={offername}&af_c_id={offerid}&advertising_id={googleaid}&android_id={androidid}&idfa={iosidfa}&oaid={deviceid}
```

<table data-header-hidden><thead><tr><th width="249.1682814836629"></th><th width="150"></th><th width="319.49514567824684"></th></tr></thead><tbody><tr><td><strong>Offer18 Macro Name</strong></td><td><strong>Macro Identifier</strong></td><td><strong>Description</strong></td></tr><tr><td>Click ID</td><td>{tid}</td><td>Platform unique Click ID macro</td></tr><tr><td>Affiliate ID / Publisher ID</td><td>{aff_id}</td><td>Pass Affiliate ID in Attribution URL</td></tr><tr><td>Sub Affiliate ID</td><td>{sub_aff_id}</td><td>Pass Sub-Affiliate ID in Attribution URL</td></tr><tr><td>Campaign ID</td><td>{offerid}</td><td>Pass OfferID in Attribution URL <br>(required for iOS)</td></tr><tr><td>Campaign Name </td><td>{offername}</td><td>Pass Campaign Name in Attribution URL</td></tr><tr><td>Google Advertising ID</td><td>{googleaid}</td><td>Pass Google Advertising ID in Attribution URL</td></tr><tr><td>iOS Advertising ID</td><td>{iosidfa}</td><td>Pass iOS advertising ID in case of IOS Campaigns in Attribution URL</td></tr><tr><td>Device ID</td><td>{deviceid}</td><td>Pass Unique Device id in Attribution URL</td></tr><tr><td>Android ID</td><td>{androidid}</td><td>Pass Android ID in Attribution URL</td></tr></tbody></table>

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


# AppsFlyer Normal Postback

#### **Install Postback**

```
https://example.o18.click/p?m=0000&tid={clickid}
```

#### In-App Events Postback

```
https://example.o18.click/p?m=0000&event={partner_event_identifier}&tid={clickid}&payout={revenue_amount}
```

{% hint style="warning" %}
The &**m=** value will vary for each Partner account.

This Parameter will be added as a custom parameter.
{% endhint %}

**Normal Postback Related Parameters**&#x20;

<table data-header-hidden><thead><tr><th></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>AppsFlyer Macro</strong></td><td><strong>Parameters Identifier</strong></td><td><strong>Description</strong></td></tr><tr><td>Click ID</td><td>tid</td><td>Platform unique Click ID macro. Which is sent in the Attribution URL</td></tr><tr><td>Event Revenue</td><td>payout</td><td>Attributed to Events that are being tracked in AppsFlyer</td></tr><tr><td>Partner event ID</td><td>event</td><td>Revenue of all Conversions including installs and attributed Events</td></tr></tbody></table>

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


# Advanced Privacy Postback

#### **Install Postback**

{% code overflow="wrap" %}

```
https://example.o18.click/p?privacy_postback=1&mid=0000&a={Site ID}&p_sub_aff_id={Sub site ID}&oid={Campaign ID}&p_country={Country code}&adv_sub7={Adset ID}&p_timestamp={Click Unix timestamp}&p_postbackid={Postback ID}&p_package={Bundle ID}
```

{% endcode %}

#### In-App Events Postback

{% code overflow="wrap" %}

```
https://example.o18.click/p?privacy_postback=1&mid=0000&a={Site ID}&p_sub_aff_id={Sub site ID}&oid={Campaign ID}&p_country={Country code}&adv_sub7={Adset ID}&p_timestamp={Click Unix timestamp}&p_postbackid={Postback ID}&event={Partner event ID}&adv_sub1={Event name}&p_package={Bundle ID}
```

{% endcode %}

{% hint style="warning" %}
The &**mid=** value will vary for each Partner account.

The Parameter **\&privacy\_postback=1** is required.

These two parameters will be added as custom parameters.
{% endhint %}

<table data-header-hidden><thead><tr><th></th><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>AppsFlyer Macro</strong> </td><td><strong>Offer18 Parameter</strong></td><td><strong>Description</strong></td></tr><tr><td>Site ID</td><td>a</td><td>To receive Affiliate ID in Offer18<br>(Mandatory Field)</td></tr><tr><td>Sub site ID</td><td>p_sub_aff_id</td><td>To receive Sub Affiliate in Offer18</td></tr><tr><td>Campaign ID</td><td>oid</td><td>To receive Offer ID in Offer18<br>(Mandatory Field)</td></tr><tr><td>Country code</td><td>p_country</td><td>To receive Conversion Country in Offer18</td></tr><tr><td>Adset ID</td><td>adv_sub7</td><td>To receive Offer ID, Affiliate ID and sub source data in Offer18</td></tr><tr><td>Click Unix timestamp</td><td>p_timestamp</td><td>To receive time of Click occured (UNIX Timestamp)</td></tr><tr><td>Postback ID</td><td>p_postbackid</td><td>To receive unique action id of Postback</td></tr><tr><td>Partner event ID</td><td>event</td><td>To receive partner Event identifier in Offer18</td></tr><tr><td>Event name</td><td>adv_sub1</td><td>To receive Advertiser Event name</td></tr><tr><td>Bundle ID</td><td>p_package</td><td>To receive Bundle ID in Offer18</td></tr></tbody></table>

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

​​**Example - AppsFlyer tracking link for iOS Campaign**

{% code overflow="wrap" %}

```
https://app.appsflyer.com/{app_id}?pid=partner_int&af_siteid={aff_id}&c={offername}&af_sub_siteid={sub_aff_id}&af_c_id={offerid}&af_click_lookback=7d&clickid={tid}&advertising_id={googleaid}&idfa={iosidfa}&af_adset_id={offerid},{aff_id}|{aff_sub7}
```

{% endcode %}

In above example **\&af\_adset\_id** is the parameter which is being used to pass offer ID, affiliate ID and affiliate data to advertiser in Probabilistic Attribution.​​​


# AppsFlyer - Click Signing

The feature provides ability to sign every single Click sent to AppsFlyer from Offer18.

{% hint style="info" %}
**How it works ?**\
A unique code (Signature) with a expiry period is attached to a Click and sent via the AppsFlyer's Attribution URL. If the Signature is expired or Invalid, the Click will be rejected in AppsFlyer. You can learn more about this feature here :link:[ AppsFlyer](https://support.appsflyer.com/hc/en-us/articles/360017831497-Click-signing-for-ad-networks)
{% endhint %}

***

### Enable Click Signing <a href="#how-to-enable-click-signing" id="how-to-enable-click-signing"></a>

{% hint style="info" %}
**Get AppsFlyer Access Key**

* Login into your AppsFlyer account
* Go to Security Center » API Tokens
* Copy your API token &#x20;
  {% endhint %}

1. Go to Offer18 Account » Settings
2. Go to Tracking&#x20;
3. Select "Enable Signature Validation"
4. Place "AppsFlyer API Token" in "Access Key Field"
5. Select Advertiser » Submit

<figure><img src="/files/0hiHL5wmkiOku3CAwKg9" alt=""><figcaption></figcaption></figure>

***

### Test Click Signing&#x20;

1. Go to Offer18 Account » Settings
2. Tracking » Test Click Signing&#x20;
3. Select Partner: "AppsFlyer"
4. Place "AppsFlyer API Token" in "Secret Key"
5. Place AppsFlyer's Tracking URL Containing Click ID and Signature in "Partner Tracking URL"
6. Submit

![](/files/NH1n47FP7xva5PJgHWdf)

***

### Use Case

The use case of this tool will be that not even a single Click will redirect without validation. The network whose traffic is redirecting, will be able to configure at his end.


# Adjust

#### Fill out Adjust Partner onboarding form

{% embed url="<https://help.adjust.com/en/partner/encoding-tool>" %}

#### Offer URL

```
https://app.adjust.com/abc345?campaign={offername}&adgroup={aff_id}&creative={aff_sub3}
```

Tracking URL Macros

| **Adjust Parameters** | **Offer18 Macros** |
| --------------------- | ------------------ |
| adgroup               | {aff\_id}          |
| campaign              | {offername}        |
| creative              | {aff\_sub3}        |
| gps\_adid             | {googleaid}        |
| idfa                  | {iosidfa}          |
| android\_id           | {androidid}        |

#### **Install Postback**

```
https://example.o18.click/p?m=0000&tid={tid}
```

#### Event Postback

```
https://example.o18.click/p?m=0000&event=event_token&tid={tid}
```

{% hint style="info" %}
event\_token will be the alphanumeric value of Event which will be used in the "Token" field(Event)
{% endhint %}

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

{% hint style="info" %}
Create Offer using **Generated URL**
{% endhint %}

\
More Adjust placeholders

{% embed url="<https://help.adjust.com/en/partner/placeholders>" %}


# Branch

To sign up for an Ad Partner account, fill in the relevant details here. The Branch team will review the information and confirm your account via email.

:link: <https://branchmetrics.typeform.com/to/XXkMePO9>

Use these tokens in the form

#### Global Attribution URL parameters Instructions

<table data-header-hidden><thead><tr><th width="201.98393813206428">Macro Name</th><th width="184.27698688819876">Macro Identifier</th><th>Description</th></tr></thead><tbody><tr><td><strong>Macro Name</strong></td><td><strong>Macro Identifier</strong></td><td><strong>Description</strong></td></tr><tr><td>Click ID</td><td>{tid}</td><td>Platform unique Click ID Macro.</td></tr><tr><td>Affiliate ID/ Publisher ID</td><td>{aff_id}</td><td>Pass Affiliate ID / Source ID / Publisher ID in Attribution URL</td></tr><tr><td>Sub Affiliate ID</td><td>{sub_aff_id}</td><td>Pass Sub-affiliate ID / Sub-source ID / Sub-publisher ID in Attribution URL</td></tr><tr><td>Google Advertising ID</td><td>{googleaid}</td><td>Pass Google Advertising ID in Attribution URL</td></tr><tr><td>IOS Advertising ID</td><td>{iosidfa}</td><td>Pass IOS advertising ID in case of IOS campaigns in Attribution URL</td></tr><tr><td>Device ID</td><td>{deviceid}</td><td>Pass Unique Device id in Attribution URL</td></tr><tr><td>Android ID</td><td>{androidid}</td><td>Pass Android ID in Attribution URL</td></tr></tbody></table>

***

#### Postback URL Related Parameters Instructions

{% hint style="info" %}
Select Postback method GET&#x20;
{% endhint %}

<table data-header-hidden><thead><tr><th width="161.78571428571428">Macro Name</th><th width="150">Parameter in postback</th><th width="411.2">Description</th></tr></thead><tbody><tr><td><strong>Macro Name</strong></td><td><strong>Parameters</strong> </td><td><strong>Description</strong></td></tr><tr><td>TID</td><td>tid</td><td>To receive unique Click ID value being passed in Offer URL</td></tr><tr><td>Events</td><td>event</td><td>It will be used to receive Event values (install, signup etc)  </td></tr><tr><td>Adv Sub1</td><td>adv_sub1</td><td>Receive additional value from Advertiser </td></tr><tr><td>Adv Sub2</td><td>adv_sub2</td><td>Receive additional value from Advertiser </td></tr><tr><td>Adv Sub3</td><td>adv_sub3</td><td>Receive additional value from Advertiser </td></tr><tr><td>Adv Sub4</td><td>adv_sub4</td><td>Receive additional value from Advertiser </td></tr><tr><td>Adv Sub5</td><td>adv_sub5</td><td>Receive additional value from Advertiser </td></tr><tr><td>Sale</td><td>sale</td><td>Recommended to use in CPS Campaign </td></tr><tr><td>Payout</td><td>payout</td><td>Recommended to use in CPA Campaign </td></tr><tr><td>Currency</td><td>currency</td><td>3-digit currency code</td></tr></tbody></table>


# Singular

To start the integration process one needs to fill out the Singular Partners Request form

{% embed url="<https://app.singular.net/react/unified-signup/#/react/unified-signup>" %}

Once the signup is completed successfully, fill in the Attribution Details in your Singular account by following the steps below.

1. Go to **Partner Integrations » Attribution »  Start**
2. Under **General**, select **"No, I'm not"** and fill out all the required details.

***

### Supported Macros

<table data-header-hidden><thead><tr><th width="243.0855502732195"></th><th width="150"></th><th width="319.49514567824684"></th></tr></thead><tbody><tr><td><strong>Offer18 Macro Name</strong></td><td><strong>Macro Identifier</strong></td><td><strong>Description</strong></td></tr><tr><td>Click ID</td><td>{tid}</td><td>Platform unique Click ID macro</td></tr><tr><td>Affiliate ID / Publisher ID</td><td>{aff_id}</td><td>Pass Affiliate ID in Attribution URL</td></tr><tr><td>Sub Affiliate ID</td><td>{sub_aff_id}</td><td>Pass Sub-Affiliate ID in Attribution URL</td></tr><tr><td>Campaign ID</td><td>{offerid}</td><td>Pass OfferID in Attribution URL <br>(required for iOS)</td></tr><tr><td>Campaign Name </td><td>{offername}</td><td>Pass Campaign Name in Attribution URL</td></tr><tr><td>Google Advertising ID</td><td>{googleaid}</td><td>Pass Google Advertising ID in Attribution URL</td></tr><tr><td>iOS Advertising ID</td><td>{iosidfa}</td><td>Pass iOS advertising ID in case of IOS Campaigns in Attribution URL</td></tr><tr><td>Device ID</td><td>{deviceid}</td><td>Pass Unique Device id in Attribution URL</td></tr><tr><td>Android ID</td><td>{androidid}</td><td>Pass Android ID in Attribution URL</td></tr></tbody></table>

***

### Supported Postbacks

#### **Install Postback**

```
https://example.o18.click/p?m=0000&tid={clickid}
```

#### Event Postback

```
https://example.o18.click/p?m=0000&event={partner_event_identifier}&tid={clickid}&payout={revenue_amount}
```

***

**Complete tutorial - Singular Integration**

{% embed url="<https://www.youtube.com/watch?v=3wtstYRYHlQ>" %}


# Kochava

#### 1. Fill Kochava Partner onboarding form

{% embed url="<https://console.support.kochava.com/articles/reference-information/7248-integrate-with-kochava-as-a-networkpublisher>" %}

#### 2. Enter the following details and Submit

***

### Clicks & Impression Macros

Add Offer18 macros in fields as

| **Kochava Parameters** | **Offer18 Macros** |
| ---------------------- | ------------------ |
| IDFA                   | {iosidfa}          |
| ADID                   | {googleaid}        |
| ip\_address            | {ip}               |
| device\_ua             | {useragent}        |
| site\_id               | {aff\_id}          |
| sub\_site\_id          | {sub\_aff\_id}     |
| creative\_id           | {aff\_sub3}        |
| click\_id              | {tid}              |
| impression\_id         | {iid}              |

{% hint style="info" %}
In the case of Impressions, one needs to select "No" in the field "Source of Impressions" for the Server
{% endhint %}

***

### Postbacks

In the case of Offer18, add the following details as

1. Enter "Offer18" under the "Platform" field.
2. Select "Get" in the "GET/POST" field.
3. Enter "URL" under the "JSON/URL" field.
4. Select "No" in the "can\_claim (Y/N)" field.
5. Add Postback URL under the "Endpoint" field.
6. Enter "message: success" under the "Success Response" field.

{% hint style="info" %}
In case of event postback, one must add "event\_name" as "\&event" in the Event Parameter Mapping table
{% endhint %}

#### **Install Postback**

```
https://example.o18.click/p?m=0000&tid={click_id}
```

#### Event Postback

```
https://example.o18.click/p?m=0000&event={event_name}&tid={click_id}&payout={revenue}
```

***

### Postback Macros

| **Kochava Macros** | **Offer18 Receiving Parameters** |
| ------------------ | -------------------------------- |
| {click\_id}        | \&tid                            |
| {event\_name}      | \&event                          |
| {revenue}          | \&payout                         |

***

**Complete tutorial - Kochava Integration**

{% embed url="<https://www.youtube.com/watch?v=QAec28L8ybA>" %}


# Reports

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td>📄 <strong>Reports</strong></td><td></td><td><a href="/pages/CnvnWw0IIRuSma8r9hqV">/pages/CnvnWw0IIRuSma8r9hqV</a></td></tr><tr><td></td><td>📄 <strong>Reports - KPI</strong></td><td></td><td><a href="/pages/PWBVdrWxTSrAi5dGWWnC">/pages/PWBVdrWxTSrAi5dGWWnC</a></td></tr><tr><td></td><td>📄 <strong>Reports - Templates</strong></td><td></td><td><a href="/pages/OsuMKs0awzqmSQCCHVrK">/pages/OsuMKs0awzqmSQCCHVrK</a></td></tr><tr><td></td><td>📄 <strong>Conversion Logs</strong></td><td></td><td><a href="/pages/WKMhXpj1rwtPH2R4ad67">/pages/WKMhXpj1rwtPH2R4ad67</a></td></tr><tr><td></td><td>📄 <strong>Affiliate Postback Logs</strong></td><td></td><td><a href="/pages/lZnN6xPNUySliHKHUFfN">/pages/lZnN6xPNUySliHKHUFfN</a></td></tr><tr><td></td><td>📄 <strong>Advertiser Postback Logs</strong></td><td></td><td><a href="/pages/K9Oo0RrVXunseoQzhCl6">/pages/K9Oo0RrVXunseoQzhCl6</a></td></tr><tr><td></td><td>📄 <strong>Capping Logs</strong></td><td></td><td><a href="/pages/3QY5VjwefcuP6MZpSWhV">/pages/3QY5VjwefcuP6MZpSWhV</a></td></tr></tbody></table>


# Reports

#### Go to Reports **»** Reports

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsa4RHNGv3nQcF-dP3%2F-MMsp3-KbI-VVdBKCdOE%2Ffb77cfaa652b396a51fe67718f67ab88.gif?alt=media\&token=26950acd-568d-4e6a-ab75-081d41ef229a)

***

### Offer Reports

Select Offer template&#x20;

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsrfyrWbGyo7qjjb5Y%2F-MMss17EdttN6H-RpEY6%2F5033c261a76bb57e1fd07d962b097fbd.gif?alt=media\&token=d83fef28-b600-4de1-addb-e5641264145a)

***

### Report Timezone

Filters **»** Select Timezone **»** Submit

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsrfyrWbGyo7qjjb5Y%2F-MMstTO9SWjQvFhixlCy%2F9db4aedbd12ff38d94eea457efb98951.gif?alt=media\&token=59710c02-6687-4c70-8dc9-62f2b6eadbb1)

***

### Advance Report Filter

1. Filters **»** Select Search by : (value type)
2. Place Value **»** Submit

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MGNfrkxuc9AVEcWF18N%2F-MGNjnWH3Wn3wIisYZ5C%2F81e8474d85448d34950193b44256f02b.gif?alt=media\&token=2c69bb93-3ba3-40a1-825b-463070a84a9a)

***

### Export Reports

Go to Export Icon

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsrfyrWbGyo7qjjb5Y%2F-MMsvAGnI7vcCjfrLLAh%2Fa594df2d89b0c35861d3f8ca5eb7e362.gif?alt=media\&token=db2644c5-4ffa-490e-b1c4-142f91dc933f)


# Reports - KPI

1. **Go to Reports » KPI Reports**&#x20;

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MN7rzcTkMGZEDj4qDgd%2F-MN7sEtdjQFb44nRBbze%2F7qY3o1yPCR.gif?alt=media\&token=ea551e55-5173-4d53-8cb9-090efb5de002)


# Reports - Templates

#### Go to Reports **»** Reports

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsa4RHNGv3nQcF-dP3%2F-MMsp3-KbI-VVdBKCdOE%2Ffb77cfaa652b396a51fe67718f67ab88.gif?alt=media\&token=26950acd-568d-4e6a-ab75-081d41ef229a)

***

### Custom Report Template

Filters **»** Select Filters&#x20;

Define Template name **»** Submit

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMsrfyrWbGyo7qjjb5Y%2F-MMsuVlNjEL_gGdtZ2Gf%2F8199987ddd880bc1765e584cbe0b1ba5.gif?alt=media\&token=f2b9cbf3-5ca1-4124-a285-5bc255d755ea)

***

### Predefined Report Templates &#x20;

List of predefined Report templates in Offer18

1. Advertiser Test Reports
2. Event Reports
3. Advertiser Reports
4. Affiliate Reports
5. Offer Reports


# Conversion Logs

In Conversion Report, one can select from a large number of data fields to display and narrow down your results using filters. user can also adjust the data filters and select a time frame to fetch data from Conversion logs.

{% hint style="info" %}
Conversion's status can be modified in Conversion logs.
{% endhint %}

1. **Go to Report » Conversion Logs**

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMnyIZlCmBB5jAr21JA%2F-MMo5S5g_O2vXq8OJh--%2Fa2c5555f0f363df8ee852eb7599ad50e.gif?alt=media\&token=e6614d86-26c4-4ae4-bd16-cb0dc7523efb)

***

### Filtration in Conversion Logs

One can select templates of Conversion logs, available templates are&#x20;

1. Offer-wise Conversion Logs
2. Affiliate-wise Conversion Logs
3. Status-wise Conversion Logs
4. Event-wise Conversion Logs

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMnyIZlCmBB5jAr21JA%2F-MMo7czBUzORbhIoqn3i%2Ff4583de3a8302e2a23d39c9aed637afd.gif?alt=media\&token=fa345a8b-aa65-4503-9f15-984ab0dc1db1)

***

### Modifying the Conversion's Status in Conversion Logs&#x20;

To Modify Single / Multiple Conversions,&#x20;

1. Simply use the checkbox :ballot\_box\_with\_check: on the list of each Conversion, row to select that specific Conversion user wants to update.&#x20;
2. Click on the "Action" button.&#x20;
3. Select "Approve / Reject" Conversion.

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMnyIZlCmBB5jAr21JA%2F-MMo8_wpNWImxz-a5Dnm%2F7faf02662b9d49bc893fc048429ba1fe.gif?alt=media\&token=53017771-0f39-45d2-a3be-39b8bb7fc818)


# Affiliate Postback Logs

The whole log of Conversion Postback triggered issues or response messages is kept in the Affiliate Postback Logs.

**Go to Report** **»** **Affiliate Postback Logs**

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMo8fDp_AiUCt4tzqdY%2F-MMoC-qLljUT9BTxQ8Z2%2Fbf679062f4a608212b70936cf74e69cf.gif?alt=media\&token=2e1f81c6-8e68-4973-a682-3d7f98cab785)

***

#### Modifying the View Mode in Affiliate Postback Logs

The following fields are selected by default, with the date period set to the current day

* TID
* OfferID
* AffiliateID&#x20;
* Total
* Type
* PostbackURL
* PostbackURLraw&#x20;
* HTTP Status
* Response
* PostbackTime
* Status

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMo8fDp_AiUCt4tzqdY%2F-MMoCJXHLy6u9Fl62FQ2%2F7c1f5e280fb7e72b86ab810a2211d362.gif?alt=media\&token=795b5f8d-af37-4029-a6f1-3d6b0fae5d3c)

For the data fields, each option selected appears as a column in the Affiliate Postback log Report. Each field displayed here cannot be modified.

***

#### Date Filters in Affiliate Postback Logs &#x20;

1. Offer-wise Affiliate Postback Logs
2. Affiliate-wise Affiliate Postback Logs


# Advertiser Postback Logs

The Advertiser Postback Logs serve as a dictionary of notices, errors, and responses for Conversion Postbacks initiated by your Advertiser to your Network.

**Go to** **Reports** **»** **Advertiser Postback Logs**

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMoCbSnfbwTbQz0DOnu%2F-MMoDXe6TxvPXkrfOFUZ%2Fbb8156b112702ac64bc16c59200b9344.gif?alt=media\&token=235500e2-2a51-4894-8ae3-0eec700bc1cd)

***

#### Modifying the View Mode in Advertiser Postback Logs

The following fields are selected by default, with the date period set to the current day

* OfferID
* TID
* PostbackURL&#x20;
* PosbackIP
* ClickTime
* PostbackTime
* Status
* PostbackData

For the data fields, each option selected appears as a column in the Advertiser Postback log Report. Each field displayed here cannot be modified.


# Capping Logs

The Capping Logs show information about the Capping reaches the limit. In addition, users can also reset Capping to let it work with updated Capping values defined.

**Go to Reports » Capping Logs**&#x20;

<table><thead><tr><th width="245.05224787363306"></th><th width="409.42857142857133"></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Description</strong></td></tr><tr><td>Time</td><td>Time when Capping hits the limit</td></tr><tr><td>Offer ID </td><td>Offer ID of Capping reached Offer</td></tr><tr><td>Affiliate ID </td><td><p>Affiliate ID from whom Capping is over </p><p>(if Affiliate Capping is applied)</p></td></tr><tr><td>Event</td><td>Name of the Event (if Event Capping is used)</td></tr><tr><td>Type</td><td><ul><li>Gross Conversions (Advertiser)</li><li>Approved Conversions</li><li>Gross Revenue</li><li>Approved Revenue</li><li>Gross Payout</li><li>Approved Payout</li><li>Gross Clicks (Advertiser)</li><li>Approved Clicks</li></ul></td></tr><tr><td>Period</td><td><ul><li>Hourly</li><li>Daily</li><li>Weekly</li><li>Monthly</li></ul></td></tr><tr><td>Capping Value</td><td>Count of Clicks / Conversions after which Capping alert has been taken into action</td></tr><tr><td>Capping limit</td><td>Capping value defined by the user</td></tr><tr><td>Start Time - End Time</td><td>Start Time of Capping duration period to End time of Capping duration period</td></tr><tr><td>Status</td><td>Current action taken into consideration as per Over Capping Action</td></tr><tr><td>Rule</td><td>Unique ID of the Capping rule </td></tr><tr><td>Action</td><td>Name of the Over Capping Action performed</td></tr></tbody></table>

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MN7sKohnTRwMPPz3DzS%2F-MN7wTPRFWeB65aHpKb6%2F2RiSlcrwNH.gif?alt=media\&token=cf82b8fc-28b4-4c05-b6cc-083cbfbce84e)


# Account Configuration

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td>📄 <strong>General Settings</strong> </td><td></td><td><a href="/pages/GOpXzpnFcgFwkmjpj6pr">/pages/GOpXzpnFcgFwkmjpj6pr</a></td></tr><tr><td></td><td>📄 <strong>Tracking Settings</strong></td><td></td><td><a href="/pages/PSANZywF6Bc8l3WYyCtl">/pages/PSANZywF6Bc8l3WYyCtl</a></td></tr><tr><td></td><td>📄 <strong>Custom Appearance</strong></td><td></td><td><a href="/pages/F7cCf1BXZ8hTEEcckTxK">/pages/F7cCf1BXZ8hTEEcckTxK</a></td></tr><tr><td></td><td>📄 <strong>SMTP Setup</strong></td><td></td><td><a href="/pages/2AVHD9EJy6h4xEuYG3Ae">/pages/2AVHD9EJy6h4xEuYG3Ae</a></td></tr><tr><td></td><td>📄 <strong>Affiliate Settings</strong></td><td></td><td><a href="/pages/hDf0UvFPvYQbOeH1qmdr">/pages/hDf0UvFPvYQbOeH1qmdr</a></td></tr></tbody></table>


# General Settings

#### 1. Go to Account **»** Settings

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMnK2CVJ371Q6D-NDTY%2F-MMnLmocOWhwuYFNqSL-%2Fe8779986f0aaafe365c6523c0ab30a0e.gif?alt=media\&token=c7f98b74-9d55-4335-b794-879bae2c044e)

#### General Settings

| **Field**                              | **Description**                                                                           |
| -------------------------------------- | ----------------------------------------------------------------------------------------- |
| Network Name                           | Name of the Company                                                                       |
| Login Platform Domain (System Default) | Login domain for login Admin / Employee / Advertiser / Affiliate                          |
| Custom login Platform Domain           | User will get a CNAME value to host Partner Network login domain on his own Custom Domain |
| Timezone                               | Default time for the Report, Capping, etc                                                 |
| Currency                               | Default Currency for the Report                                                           |
| Default Affiliate Manager              | Selected Employee will be assigned to Affiliates by default                               |
| Default Advertiser Manager             | Selected Employee will be assigned to Advertiser by default                               |
| Employee Dashboard Customization       | Selected Options will be shown in the Employee Dashboard                                  |
| Email Alert Customization              | User can customize the type email notifications                                           |
| Custom Privacy Policy                  | Privacy Policy for Advertiser / Affiliate on signup                                       |
| Terms & Conditions                     | Terms & Conditions for Advertiser / Affiliate on signup                                   |
| Custom Terms & Conditions              | User can setup custom terms & conditions for Advertiser / Affiliate on signup             |
| Offer Default Terms & Conditions       | Default Terms & Conditions for the Offer                                                  |

<figure><img src="/files/4Sunjy5eA8AFznBY9OIp" alt=""><figcaption></figcaption></figure>

**2. Submit to save changes.**


# Tracking Settings

#### **1.** Go to Account **»** Settings

**2. Go to Tracking Tab**

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMnNHIINYo1HMw4Spd1%2F-MMnNmEaKeh31xR2ESoS%2F264bb2092a0ba2e35a50667404b4950e.gif?alt=media\&token=a9c6b759-3027-41c1-868b-27721baa3cc4)

**Tracking Settings**

| **Field**                            | **Description**                                                                                    |
| ------------------------------------ | -------------------------------------------------------------------------------------------------- |
| Tracking Domain                      | Default Tracking domain                                                                            |
| Custom Tracking Domain               | User will get a CNAME value to host in his hosting account for the custom Tracking domain          |
| Default Tracking Domain              | Default Tracking Domain for the Affiliate Tracking URL and Advertiser Postback                     |
| Conversions out of Allowed Countries | To Allow / Pending / Reject Conversions out of allowed Countries in the Offer                      |
| Global Fallback URL                  | To divert blocked/rejected traffic to one Global URL Fallback must be enabled in the Offer.        |
| IP Source                            | To pass Server-side Clicks                                                                         |
| Tracking : Click IPv4 Range Filter   | To allow/block a particular range of IPv4 for Clicks                                               |
| Postback Error Alert                 | User will be notified by email on the occurrence of selected error after a specific threshold      |
| Default Tracking Link Tokens         | Parameters selected here will be added to affiliate tracking link to receive values from affiliate |
| Default Unique ID                    | Universal set up to detect the Unique Click                                                        |
| Test Affiliate                       | Test Affiliate account for the Advertiser Postback testing                                         |
| Test IP                              | Whitelist IP To bypass the Targeting for Testing                                                   |
| Data Masking GDPR                    | Enabling this will hide user's personal & sensitive data                                           |
| Click Signing                        | Validation of Clicks in AppsFlyer (MMP)                                                            |

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMnNHIINYo1HMw4Spd1%2F-MMnOCBPDfrJx5HByYaO%2F94accd6bbc9ced53b905832d95d4578a.gif?alt=media\&token=2d08d171-b853-4ba5-bcff-d15d0a3a44b0)

**3. Submit to save changes.**


# Custom Appearance

#### 1. Go to Account **»** Settings

**2. Go to Custom appearance Tab**

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMnOX9Cowr_VoabgClo%2F-MMnPKwGlFGao8Tr85Kc%2Fdaa6099b6982b8fc73362806798a57fd.gif?alt=media\&token=e90b23f6-5d72-4f7a-a84a-7c3b119a168f)

**Custom appearance**

| **Field**                                | **Description**                                                                                                                                 |
| ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| Favorite Icon                            | <p>Favicon for every page of the Admin / Managers / Advertisers / Affiliates Dashboard pages. <br>Size Limit: <strong>16x16</strong> pixels</p> |
| Logo Small                               | <p>Logo icon for the login page, Admin / Manager / Advertiser / Affiliate’s Dashboard page.<br>Size Limit : <strong>300x150</strong> pixels</p> |
| Login Background Image                   | <p>Background image on the login page. <br>Size Limit: <strong>1900x1200</strong> pixels</p>                                                    |
| Admin Profile Image                      | <p>Admin Profile Image for the Affiliate Dashboard.<br>Size Limit: <strong>200x200</strong> pixels</p>                                          |
| Terminology                              | Customize key entities and labels across the platform to reflect your organization's terminology and business structure.                        |
| Font Style                               | Select font style for the admin account.                                                                                                        |
| Invoice Signature                        | <p>Upload Signature for Advertiser and Affiliate Invoice.<br>A maximum of three signatures can be uploaded.</p>                                 |
| Chat & Ticket for Affiliate / Advertiser | Enable the chat widget in the Affiliate and Advertiser Dashboard to communicate with Admin                                                      |

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMnOX9Cowr_VoabgClo%2F-MMnQIghxCMhObEmuFLg%2Ffe1342b02a65e0b7122add3bfa0c889c.gif?alt=media\&token=0372c147-4d30-4d6f-82f4-a18f23f63c17)

**2. Submit to save changes**


# SMTP Settings

#### 1. Go to Account **»** Settings

**2. Go to SMTP Configuration Tab**

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMnOX9Cowr_VoabgClo%2F-MMnS69NpLm2b3z1e8Bv%2Fad5f3dc084c019ae62fe3fd478a26c46.gif?alt=media\&token=fe72df7f-340c-48d8-bc6c-f79728b70089)

***

#### SMTP Configuration

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Description</strong></td></tr><tr><td>SMTP Host</td><td>Server address as per SMTP provider</td></tr><tr><td>SMTP Username</td><td>Name of the user</td></tr><tr><td>SMTP Email </td><td>Email address of the user</td></tr><tr><td>SMTP Password </td><td>Password of the email address that is being used</td></tr><tr><td>SMTP Port</td><td>Port number as per SMTP service provider</td></tr><tr><td>SMTP SSL / TLS</td><td>Connection type for port connecting as per SMTP provider</td></tr><tr><td>SMTP Sender Name</td><td>Sender name of the alert/mail sent from dashboard</td></tr></tbody></table>

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

***

### SMTP  Setup using Google (Gmail)

1. Go to "Setup Google (Gmail)" inside "SMTP Configuration Tab"

2. Log in to your Google account if you haven't already, or choose your Google account for SMTP to ensure you are logged into your Gmail account<br>

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

3. Sign in to Offer18 by clicking "Continue"

4. Allow Offer18 to send emails on your behalf. (Enable the checkbox if prompted)

5. The required SMTP credentials will be automatically filled in the SMTP section of Offer18

6. Define the "SMTP Sender Name"

7. Go to Submit

***

#### **Test Email**&#x20;

Users can verify their SMTP setup by sending a test email to ensure the configuration is working correctly.

<div align="left" data-full-width="false"><figure><img src="/files/k4gUdaFHcoEOVOwoW7pE" alt=""><figcaption></figcaption></figure></div>

***

Video Tutorials - SMTP Configuration

**GoDaddy**: :link: [<mark style="color:blue;">**https://www.youtube.com/watch?v=DLgTcAgxIIY**</mark>](https://www.youtube.com/watch?v=DLgTcAgxIIY)

**Zoho Mail:** :link: [<mark style="color:blue;">**https://www.youtube.com/watch?v=NSdI8NQvjS8**</mark>](https://www.youtube.com/watch?v=NSdI8NQvjS8)


# Affiliate Settings

#### 1. Go to Account **»** Settings <a href="#go-to-account-greater-than-settings" id="go-to-account-greater-than-settings"></a>

**2. Go to Affiliate Tab**

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMnU13UpmxmfTC2LaKe%2F-MMnUQ9bYh77UcVBoa5V%2Fc3309ee205f9f998f69433478c72a9d9.gif?alt=media\&token=dd13f2bb-772a-42a4-be46-a9d1adab9123)

**Affiliate**

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Description</strong></td></tr><tr><td>Affiliate Platform Theme</td><td>To change the Affiliate’s Dashboard theme color of the navigation panel</td></tr><tr><td>Sign Up Approval</td><td><strong>Pending</strong> - Affiliate account status will be pending <br><strong>Auto Approved</strong> - Affiliate account status will be approved </td></tr><tr><td>HTTP Referral</td><td>This field is used to manage traffic referral details (<a href="#http-referral">Learn more</a>). </td></tr><tr><td>Referral Commission</td><td>To give incentive / referral to Affiliate on referring an Affiliate <br><strong>Referral terms</strong> can be added also</td></tr><tr><td>Affiliate Payment Methods</td><td>Select Payment Method to show in Affiliate Dashboard</td></tr><tr><td>Affiliate Invoice CC</td><td>Extra email can be added here to receive affiliate invoice </td></tr><tr><td>Affiliate Sign Up</td><td>Option to enable / disable affiliate signup</td></tr><tr><td>Affiliate Reports Display</td><td>Option to enable / disable the appearance of statistic of all statuses on affiliate dashboard</td></tr><tr><td>Affiliate Impression URL</td><td>Option to enable / disable the visibility of the affiliate impression URL in the affiliate dashboard</td></tr><tr><td>Signup Fields Customization</td><td>Selected fields will be visible during affiliate signup</td></tr><tr><td>Report Fields Customization</td><td>Selected fields will be visible in affiliate dashboard's report</td></tr><tr><td>Postback Token Customization</td><td>Selected tokens will pass values in affiliate postback</td></tr><tr><td>Signup Questions</td><td>Signup questions for the Affiliate</td></tr></tbody></table>

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMnU13UpmxmfTC2LaKe%2F-MMnUw_WIzkX_vTi9DUt%2Fb370a4753cce22f48ed9c67e671b6ecc.gif?alt=media\&token=a27c1f4d-8282-4694-9c6c-a72153186234)

**2. Submit to save changes.**

***

#### HTTP Referral

This field is used to Hide referral details and to pass various HTTP Status codes ( This configuration will be applicable on all the offers  ).&#x20;

1. **(Offer Default Settings) -**  Choosing this option will pass referral details according to Offer Security configurations. To learn more visit ([<mark style="color:blue;">HTML Redirect / Hide Referral</mark>](/network/offers/offer-anti-fraud#html-redirect-hide-referral))
2. **Hide Referral - 200 Redirect -** Choosing this option will hide referral details and 200 HTTP Status code will be passed.
3. **Hide Referral - 302 Redirect -** Choosing this option will hide referral details and 302 HTTP Status code will be passed.
4. **Hide Affiliate Referral - 200 Redirect -** Choosing this option will Hide Affiliate details and Pass Offer18 user referral details with the status code 200.


# Advertiser Settings

#### 1. Go to Account **»** Settings <a href="#go-to-account-greater-than-settings" id="go-to-account-greater-than-settings"></a>

#### **2. Go to Advertiser Tab**

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

#### Advertiser Settings

| **Field**                   | **Description**                                                  |
| --------------------------- | ---------------------------------------------------------------- |
| Advertiser Payment Methods  | Select payment method for advertiser                             |
| Advertiser invoice CC       | Extra email can be added here for advertiser invoice             |
| Advertiser Sign Up          | Option to enable / disable advertiser signup                     |
| Signup Fields Customization | Selected fields will be visible during advertiser signup         |
| Report Fields Customization | Selected fields will be visible in advertiser dashboard's report |


# Notifications

The **Notification** feature allows administrators, affiliates, and advertisers to receive automated notifications for important offer and account activities. Notifications can be delivered via **Email** and/or **In-App**, depending on the event.

### Administrator Notifications

<table data-search="false"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><strong>Notification Type</strong></td><td><strong>Trigger</strong></td><td><strong>Channels</strong></td></tr><tr><td>Affiliate Signup</td><td>A new affiliate account is signed up.</td><td>Email, In-App</td></tr><tr><td>Advertiser Signup</td><td>A new advertiser account is signed up.</td><td>Email, In-App</td></tr><tr><td>Offer Request</td><td>An affiliate submits a offer approval request.</td><td>Email, In-App</td></tr><tr><td>Affiliate Payment Request</td><td>An affiliate submits a payment request.</td><td>Email, In-App</td></tr><tr><td>Offer Capping Threshold/Completed</td><td>An offer reaches its configured capping limit.</td><td>Email, In-App</td></tr><tr><td>Link Tester</td><td>The link tester health status</td><td>Email, In-App</td></tr><tr><td>Postback Error</td><td>A postback or conversion tracking error occurs.</td><td>Email, In-App</td></tr><tr><td>Login</td><td>An administrator logs into the account.</td><td>Email, In-App</td></tr></tbody></table>

***

### Affiliate Notifications

|                                   |                                                    |               |
| --------------------------------- | -------------------------------------------------- | ------------- |
| **Notification Type**             | **Trigger**                                        | **Channels**  |
| Account Signup                    | An affiliate account is successfully signed up.    | Email         |
| Offer Capping Threshold/Completed | An affiliate reaches its configured capping limit. | Email, In-App |

***

### Advertiser Notifications

|                       |                                                   |              |
| --------------------- | ------------------------------------------------- | ------------ |
| **Notification Type** | **Trigger**                                       | **Channels** |
| Account Signup        | An advertiser account is successfully signed up.. | Email        |


# Employees

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td>📄 <strong>Create Employee Account</strong></td><td></td><td><a href="/pages/3PvBgU4F7kS4zfDxnjWs">/pages/3PvBgU4F7kS4zfDxnjWs</a></td></tr><tr><td></td><td>📄 <strong>Custom - Permissions</strong></td><td></td><td><a href="/pages/8l5u5aBntuTUzCdq7z2j">/pages/8l5u5aBntuTUzCdq7z2j</a></td></tr><tr><td></td><td>📄 <strong>Clone Permissions</strong></td><td></td><td><a href="/pages/T6b7OwJFCU46LXZ3pOGV">/pages/T6b7OwJFCU46LXZ3pOGV</a></td></tr><tr><td></td><td>📄 <strong>Additional Access</strong></td><td></td><td><a href="/pages/hnjw8Jr7UCMAj4B6whDf">/pages/hnjw8Jr7UCMAj4B6whDf</a></td></tr></tbody></table>


# Create Employee Account

In Offer18, one can create, manage, assign specific permissions to Employees / Managers, and denies access to specific areas of Employee accounts.

{% hint style="info" %}
&#x20;Managers / Employees are not Affiliates
{% endhint %}

1. **Go to Account » Employees**&#x20;
2. **Enter the unique email id** **of the Employee » Submit**&#x20;

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MPnFFfba_okty9RrMXB%2F-MPr0GliOcClHN4LbVQ8%2FWUwml8aMNu.gif?alt=media\&token=2542d4cb-3004-4891-ba92-9852db727956)

***

### Assign Permissions to Managers / Employees&#x20;

Once any Account Manager is onboarded by the Network Owner(Admin), by default there will not be any Permissions assigned.&#x20;

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MPr86zACTi-v3pRrTIy%2F-MPr8SqzMqHlsJPBIOBy%2Fwp56LTofIT.gif?alt=media\&token=1060ed49-9c3e-4aa9-b53f-6f753d38a7cd)

**Predefined Permissions for Managers**&#x20;

* **Custom -** The manager can customize every Permission for Employees and create a custom template for it. <br>
* **Affiliate Manager -** If the Administrator is onBoarding an Employee in the Dashboard who will only manage the business with Affiliate Partners, the Affiliate Manager can quickly set up a Manager account.<br>
* **Advertiser Manager -** If the Administrator is onBoarding an Employee in the Dashboard who will only manage the business with Advertiser Partners, only to get Campaigns / Offers onBoarded in his account, the Advertiser Manager quickly set up the Manager's account.<br>
* **Administrator Manager -** If Administrators are two or more business Partners working, then the Network Owner can set up Administrator manager Permissions for that account and all Administrator Permissions will be given except for Admin's Profile, Security, Change logs, and Billin&#x67;**.**<br>
* **Billing Manager -** The Administrator can set this template in case Admin is onBoarding an Employee in the Dashboard who will only manage business finances on his behalf.

***

### Assign Affiliates / Advertisers to Managers

When Administrator provides custom Permissions to any Manager, they can have both Affiliates and Advertisers assigned to them.

{% hint style="info" %}
Affiliate / Advertiser cannot have multiple Managers / Employees.&#x20;
{% endhint %}

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MPrFvSZqAhRtGf_5Mgv%2F-MPrIuZqpL8sC13NqqdI%2FLK6ttgnq89.gif?alt=media\&token=ed6b6860-41f3-4f99-b787-c4bfe63924be)

***

### Report Access to Managers by Status&#x20;

If an Administrator wants his Managers to view Reports having one or more status types then one can select which Status Report should be displayed to the Manager.

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MPrJPQsZAB-tEdczpbT%2F-MPrL83bf80HpeXKoaaA%2FcIxEPyji1x.gif?alt=media\&token=93f3882e-d473-4bc2-8822-3ce95c6b6091)

***

Video Tutorial - Employee Access

{% embed url="<https://www.youtube.com/watch?v=e_pLJBkHFfc>" %}


# Custom - Permissions

1. **Go to Accounts » Employees**&#x20;
2. **Go to Manager's profile from Manage Button**
3. **Scroll down to the Permissions ection**

![](/files/l2ckR3Yc4uC3gKZNwdYf)

***

### Account permissions

Using toggle buttons, a user may enable or deactivate employee account access for the Account. Account permissions are explained further below.

<table data-header-hidden><thead><tr><th width="160.4715999288499"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Access Details</strong></td></tr><tr><td>Account Profile</td><td>Administrator's Company profile</td></tr><tr><td>Billing</td><td>Administrator's billing profile/plans in Offer18</td></tr><tr><td>Change Logs</td><td>History logs of actions performed by anyone on the Platform</td></tr><tr><td>Employee management </td><td>Management of other Employees</td></tr><tr><td>Global settings </td><td>Global settings that include the Platform's default configuration</td></tr></tbody></table>

![](/files/c7xTwS5m462Z2WMlFXc6)

***

### Advertisers permissions

A user can allow or disable employee account access to the Advertiser section by using toggle controls. Advertiser permissions are discussed in further detail below.

<table data-header-hidden><thead><tr><th width="191.1701879017129"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Access details</strong></td></tr><tr><td>Advertiser Billing</td><td>Viewing or creating invoices of Advertiser's Partners</td></tr><tr><td>Advertiser Postback Logs</td><td>Viewing logs of each Postback triggered by the assigned Advertiser's Platform</td></tr><tr><td>Advertiser Profile</td><td>Viewing details fields in the profile of Advertisers assigned to specific Managers</td></tr></tbody></table>

![](/files/MPGcFmFmB5admTcLQ2ZW)

***

### Affiliate permissions&#x20;

Using toggle buttons, a user may enable or deny employee account access to the Affiliate area. Affiliate permissions are explained in further detail further below.

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Access Details</strong></td></tr><tr><td>Affiliate</td><td>Creating Affiliates or viewing Affiliates if assigned</td></tr><tr><td>Affiliate Billing</td><td>Viewing or creating invoices of Affiliate partners</td></tr><tr><td>Affiliate Postback Logs</td><td>Viewing detailed fields in Postback triggered for Affiliates</td></tr><tr><td>Affiliate Postback Placement</td><td>Adding / managing Postback of Affiliates </td></tr><tr><td>Affiliate Postback Test</td><td>Performing testing of Postback placed in Affiliate account by their Manager</td></tr><tr><td>Affiliate Profile</td><td>Viewing detail fields in profiles of Affiliates assigned to specific Managers</td></tr><tr><td>Mailer</td><td>Sending emails / alerts notifications to Affiliates</td></tr><tr><td>Offers</td><td>Assigning Offers to Affiliates</td></tr><tr><td>Referrals</td><td>Managing Referral program for Affiliates</td></tr></tbody></table>

![](/files/6f3YKSE0g0HMWzSkVanr)

***

### Offers permissions

This area can be used to provide an employee permissions related to Offers. Below is an explanation of Offers Permissions.

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Access Details</strong></td></tr><tr><td>Affiliate</td><td>Assigning Affiliates to the Offers</td></tr><tr><td>Affiliate Approve</td><td>Offers approve / reject requests page.</td></tr><tr><td>Capping</td><td>Displaying the Capping</td></tr><tr><td>Creatives</td><td>Displaying and uploading Creatives</td></tr><tr><td>Events / Payout tier</td><td>Management of Conversions approval and Events section in Offers</td></tr><tr><td>Fallback / Integration</td><td>Enabling/disabling Fallback and Impression link setup</td></tr><tr><td>General</td><td>Displaying and managing basic details of Offers</td></tr><tr><td>Global Settings     </td><td>Displaying and creating Global Categories and Events for all Offers</td></tr><tr><td>Offer Access</td><td>Deleting Offers or editing Offers</td></tr><tr><td>Offer List </td><td>Display fields in the Offer list</td></tr><tr><td>Security </td><td>Displaying the Security tab</td></tr><tr><td>Smart Offer</td><td>Creating and assigning Affiliates in Smart Offer</td></tr><tr><td>Targeting</td><td>Displaying Targeting details</td></tr><tr><td>Test URL  </td><td>Advertiser Test URL</td></tr></tbody></table>

![](/files/9njDTVcEBtaTnPIE1j5F)

***

### Report Permissions

An employee's report related permissions could be granted in this area. Report Permissions are explained in the section below.

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Access Details</strong></td></tr><tr><td>Capping Logs</td><td>Viewing logs related to Capping rules</td></tr><tr><td>Conversion Logs</td><td>Viewing conversion logs</td></tr><tr><td>Reports</td><td>Viewing Report fields</td></tr></tbody></table>

![](/files/1XXqu2juNJUf4r4KFw3w)

***

### Tools Permissions

In this area, an employee's Tools permissions could be provided. The section that follows explains Tool Permissions.

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Access Details</strong></td></tr><tr><td>Advertiser API</td><td>Offer Sync and Offer Sync's logs</td></tr><tr><td>Automation</td><td>Automation and Automation's logs</td></tr><tr><td>Conversion Logs</td><td>Fraud Detection Data in conversion logs</td></tr><tr><td>Fraud Detection</td><td>Fraud detection tools like 24Metrics, FraudScore, etc</td></tr><tr><td>Fraud Fender </td><td>Fraud Fender traffic monitoring tool</td></tr><tr><td>Import  </td><td>Importing data of Offers, Advertisers, Affiliates and Conversions   </td></tr><tr><td>Link Tester </td><td>Link Tester</td></tr><tr><td>Mailer  </td><td>Mailer and logs</td></tr></tbody></table>

![](/files/ZPnzBSwRFM40wWhnkZYk)

***

### **Write Access**&#x20;

<table data-header-hidden><thead><tr><th width="169.82629107981222"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong></td><td><strong>Access Details</strong></td></tr><tr><td>Write Access </td><td>Enabling this will allow Employee to make change / update in the fields.</td></tr></tbody></table>

![](/files/ohO3f85qeAzoYEl7pqVb)


# Clone Permissions

1. **Go to Account » Employee**
2. **Enter the unique email id** **of the Employee » Submit**&#x20;

![](/files/Z9niw8MWEDfxyEjNxqos)

3\. **Employee's profile » Scroll down to Permissions sections**

4\. **Select Manager Name in Employee Permission clone**<br>

![](/files/vfIVtZuKdzH3NOlrkj2u)

5\. **Submit** **to Save changes**


# Additional Access

1. **Go to Account » Employee**
2. **Enter the unique email id** **of the Employee » Submit**&#x20;

![](/files/Z9niw8MWEDfxyEjNxqos)

3\. **Employee's profile » Scroll down to Additional Access**

***

### **Additional Access for Advertisers / Affiliates**

Admin can authorize access to additional **Advertisers / Affiliates** (Along with dedicated Advertisers / Affiliates) for the Employee. To these Advertisers / Affiliates, this employee will not be assigned as Manager but can access **Reports / Offers** of additionally authorized Advertisers / Affiliates.

***

### Advertisers **/ Affiliates** Exclude

By selecting "All Advertisers" from the "Advertisers Access" field or by selecting "All Affiliates" from the "Affiliates Access" field, all the Advertisers / Affiliates will be assigned to the manager additionally. One can exclude Advertisers / Affiliates by mentioning Advertisers / Affiliates in the fields given below.

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

***

### Advertisers **/ Affiliates** Include

By selecting "Selected Only" from the "Advertisers Access" field or by selecting "Selected Only" from the "Affiliates Access" field. One can include Advertisers / Affiliates by mentioning Advertisers / Affiliates in the fields given below.

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


# Integration

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td><strong>📄Offer Sync</strong></td><td></td><td><a href="/pages/bLBXxcMzMLQnwd860lYH">/pages/bLBXxcMzMLQnwd860lYH</a></td></tr><tr><td></td><td><strong>📄OTP Integration</strong></td><td></td><td><a href="/pages/zy55hbZ5xFlKuBmLyHNS">/pages/zy55hbZ5xFlKuBmLyHNS</a></td></tr></tbody></table>


# Offer Sync

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td>📄 <strong>Offer Sync Guide</strong></td><td></td><td><a href="/pages/95pgNvA4VYEojpapBwfK">/pages/95pgNvA4VYEojpapBwfK</a></td></tr><tr><td></td><td>📄 <strong>Sync Logs</strong></td><td></td><td><a href="/pages/przjFA0adVJaYLzDrrT5">/pages/przjFA0adVJaYLzDrrT5</a></td></tr></tbody></table>


# Offer Sync Guide

The General Purpose of Using the API feature is to Import / Synchronize the Offers quickly from Advertiser's Platforms, respectively.

#### **1.** Integration **»** **Offers Sync**

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMnbCRAAJrecIJk_pQ7%2F-MMnezTruHuq_1A8-sjb%2F5f2957652ff7bc16ab40b0114ad2bc96.gif?alt=media\&token=e63749c4-dd17-4a66-a535-2da016dc5d7f)

**2. Select Network / Partner Platform »** **Setup**&#x20;

***

### **Go to Credentials**

**Credentials -** These will be API details given by the Advertiser which will include API domain, Key as main credentials. Usually, these always change as per Platforms

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

1. Specify API name
2. Enter API Credentials
3. Go to Next&#x20;

***

### **Go to Settings**

The options row includes various configuration settings that the user wants to make in imported Offers

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

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Fields</strong></td><td><strong>Description</strong></td></tr><tr><td>Schedule</td><td>This is the Schedule defines how much time API should be updated automatically</td></tr><tr><td>Affiliate Payout %</td><td>This helps in specifying the % of Payout user wants to share with your Affiliate</td></tr><tr><td>Stop Offer</td><td>Users can configure what settings should be applied to the Offers which are not got synced in the next scheduled sync of the API</td></tr><tr><td>Advertiser</td><td>This would be the profile of that Advertiser user created under which all of the synced Offers will get saved</td></tr><tr><td>Offer Visibility</td><td>The user can select by default Visibility status for synced Offers for Affiliates. <br>(Public, Public + Approval Required, Private)</td></tr><tr><td>Fallback</td><td>Global Fallback and custom Fallback can apply to synced Offers </td></tr><tr><td>Offer Category</td><td>Category can be selected for the synced Offers </td></tr><tr><td>Offer Description</td><td>Description added here will be prepended in synced Offer's Description</td></tr><tr><td>Offer KPI</td><td>Offer KPI added here will be prepended in synced Offer's Description</td></tr><tr><td>Remove Tracking URL Tokens</td><td>Using this option one can remove unnecessary tokens in Offer URL</td></tr><tr><td>Append Tracking URL Tokens</td><td>Using this option one can Append necessary tokens in Offer URL</td></tr><tr><td>Assign Affiliates</td><td>One can Assign Affiliates to Synced Offers</td></tr><tr><td>Over Capping Action</td><td>Over Capping Actions can be added to synced Offers</td></tr></tbody></table>

***

### **Go to Filters**

Using filter options, one can filter the sync results to get particular / desired data from the Advertisers&#x20;

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

Filers in Offer Sync are

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Filter</strong> </td><td><strong>Description</strong></td></tr><tr><td>Offer Sync Limit</td><td>One can limit the count of Offers to be synced from API </td></tr><tr><td>Model </td><td>Offers with specific Models can be filtered using this </td></tr><tr><td>Price Range</td><td>One can set a lower and upper limit for price in Offers to be synced from API </td></tr><tr><td>Offer Status</td><td>Offers with specific status can be filtered using this<br>approved/expired</td></tr><tr><td>OS </td><td>Offers for specific Operating systems can be filtered using this </td></tr><tr><td>Country </td><td>Offers for specific Countries can be filtered using this </td></tr><tr><td>Currency</td><td>Offers for specific Currency can be filtered using this </td></tr><tr><td>Events / Goals</td><td>Offers containing specific events can be filtered using this</td></tr><tr><td>Advertiser Offers</td><td>One can specify the Advertiser ID whose Offer must  sync or must not be synced</td></tr></tbody></table>

**Fields**

These are the fields that can be configured by the user to sync either always or one time or never.

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

***

### Test API

Using this one can check the raw response of API.


# Sync Logs

#### 1. Integration **» Offers Sync**

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMnbCRAAJrecIJk_pQ7%2F-MMnjBdW8Y2L9jTCaLj4%2Fb72a362f1ac7e21ef24d88b1d505df12.gif?alt=media\&token=0d832679-1aef-4617-aec6-e2a051961e30)

#### 2. Go to **Sync Logs**

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

#### **Fields in sync logs**

<table data-header-hidden><thead><tr><th width="165.6391583607313"></th><th></th></tr></thead><tbody><tr><td><strong>Results</strong></td><td><strong>Description</strong></td></tr><tr><td>API Partner</td><td>Name of the sync Partner</td></tr><tr><td>Name</td><td>Name of the API</td></tr><tr><td>Time</td><td>Time when Offer got synced</td></tr><tr><td>Status</td><td>Status of API (Pending / Approved)</td></tr><tr><td>Total Offers</td><td>Total Offer count found in API</td></tr><tr><td>Filtered Offers</td><td>If there are any filters applied by the user, then count of Offers matched with those filters</td></tr><tr><td>Active Offers</td><td>Count of Live Offers in synced Offers</td></tr><tr><td>Updated Offers</td><td>If in the existing API, the count of Offers that got changed</td></tr><tr><td>New Offers</td><td>Newly Synchronized Offers</td></tr><tr><td>Already Exists</td><td>Offer count which is already available</td></tr><tr><td>Execution Time</td><td>Time Taken to sync Offers from API</td></tr></tbody></table>


# OTP Integration

The OTP (One-Time Password) API offer flow is a server-to-server verification method commonly used in Mobile Value-Added Services (mVAS) campaigns. These campaigns provide additional services beyond basic calls and SMS, such as entertainment, alerts, and data services.

Using OTP verification helps:

* Improve lead quality
* Reduce fraud
* Increase overall campaign reliability

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

### How OTP API Works

#### **Generate OTP**

* When a user submits their mobile number on a landing page, a unique, time-bound OTP is generated.
* The OTP is delivered via an API call to the user and this action is recorded as a **click** in Offer18.

#### **Verify OTP**

* The user enters the OTP received on their mobile device.
* The OTP is validated via an API call and this is recorded as a **conversion** in Offer18.

\
To setup OTP Integration follow the below steps:

1. Navigate to Integration **»** OTP Integration
2. In **"Credentials"** section, Define **"Name"** for the integration
3. Add advertiser's **"OTP Send API URL" »** add keys and values for API endpoint
4. Add **"OTP Verify API URL" »** add keys and values for API endpoint
5. Submit & Next

<figure><img src="/files/06QcxZplJU6POYUmwv3H" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
For the **"OTP Send API URL",** {msisdn} is a mandatory value.\
For the **"OTP Verify API URL",** both {msisdn} and {otp} are mandatory values.\
If the advertiser’s API requires any additional mandatory parameters, add them to the respective API calls as needed.
{% endhint %}

### Generate OTP API endpoints for the affiliates

1. After submitting the API setup, proceed to **"Affiliate API Endpoints".**
2. Add **"Page Title"** for the landing page.&#x20;
3. Select Affiliate ID&#x20;
4. Click **"Generate"** for OTP API endpoints and landing page script

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

{% hint style="info" %}
API access must be enabled for the affiliate.
{% endhint %}

### OTP API Response

```javascript
Generate OTP
{
  "status": "200",
  "response": "otp_sent_successfully",
}
```

```javascript
Verify OTP
{
  "status": "200",
  "response": "otp_verified_successfully"
}
```

For failed responses, please check your advertiser's API response.

***

### OTP Landing Page Script

Download the landing page script and share it with your affiliate so they can integrate it into their application or repository. If they do not have a dedicated landing page, they can use this script directly as part of their existing setup. The integration requires minimal configuration.

The script automatically injects the Affiliate ID, API credentials, and other required parameters based on the selected affiliate id in configuration. All transactional data such as MSISDN and OTP are dynamically populated at runtime during the OTP flow, ensuring seamless communication between the landing page and the OTP APIs.

> The script will be downloaded in PHP.


# Tools

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td>📄<strong>Mailer</strong> </td><td></td><td><a href="/pages/1iKqEYQ2NTZrCEzGBruM">/pages/1iKqEYQ2NTZrCEzGBruM</a></td></tr><tr><td></td><td>📄 <strong>Import Data</strong></td><td></td><td><a href="/pages/OaTvCC0V64WBBgNts0QH">/pages/OaTvCC0V64WBBgNts0QH</a></td></tr><tr><td></td><td>📄 <strong>Offer Sync</strong></td><td></td><td><a href="/pages/bLBXxcMzMLQnwd860lYH">/pages/bLBXxcMzMLQnwd860lYH</a></td></tr><tr><td></td><td>📄 <strong>Automation</strong></td><td></td><td><a href="/pages/4yUVvFJeCM0cFXktewkm">/pages/4yUVvFJeCM0cFXktewkm</a></td></tr><tr><td></td><td>📄 <strong>Link Tester</strong></td><td></td><td><a href="/pages/3g617r9mwPxyHWuLRhU8">/pages/3g617r9mwPxyHWuLRhU8</a></td></tr><tr><td></td><td>📄 <strong>Fraud Detection</strong></td><td></td><td><a href="/pages/nMQv1meVuF4u424jxS7t">/pages/nMQv1meVuF4u424jxS7t</a></td></tr></tbody></table>


# Mailer

**Go to Tools » Mailer**

![](/files/GOSqxiU7mQGUkQjsztPh)

***

### Advertiser Mailer&#x20;

Select the Advertiser to whom you want to send the custom email.

![](/files/K2zKqfdWZGgbSEELFkdE)

***

### Affiliate Mailer

Select the Affiliates to whom you want to send the custom email.

![](/files/Xxzq3qB8P5tNnut4ndEE)

***

### Email logs

Go to Tools **»** Mailer **»** Mailer Logs&#x20;

![](/files/exJKBLH4fgPBXBVB1b3z)

***

### Mail Templates

&#x20;Go to Tools **»** Mailer **»** Templates

![](/files/0gbCuijbiwewb9kF7dmo)

***

### Custom Templates&#x20;

&#x20;Go to Tools **»** Mailer **»** Templates **»** Custom Templates **»** Create New Template

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

***

{% hint style="warning" %}
One will get all predefined templates, these templates can modify as per choice. But, Do not remove / delete values under **{ }.** Otherwise, there will be errors while sending emails from the Platform
{% endhint %}


# Import Data

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td>📄 <strong>Import Affiliates</strong></td><td></td><td><a href="/pages/kcE0uowRmElZ0RpvgugM">/pages/kcE0uowRmElZ0RpvgugM</a></td></tr><tr><td></td><td>📄 <strong>Import Affiliate Postback</strong></td><td></td><td><a href="/pages/hbRszB9Mvp9z5iX0gT1i">/pages/hbRszB9Mvp9z5iX0gT1i</a></td></tr><tr><td></td><td>📄 <strong>Import Advertisers</strong></td><td></td><td><a href="/pages/mk8VdlfpWtOGXW4srZdv">/pages/mk8VdlfpWtOGXW4srZdv</a></td></tr><tr><td></td><td>📄 <strong>Import Conversions</strong></td><td></td><td><a href="/pages/zqku3NiwTMS9E2hsQVsa">/pages/zqku3NiwTMS9E2hsQVsa</a></td></tr><tr><td></td><td>📄 <strong>Import Offers</strong></td><td></td><td><a href="/pages/OgsdhEcXR363KWbdawMR">/pages/OgsdhEcXR363KWbdawMR</a></td></tr></tbody></table>


# Import Affiliates

1. **Go to Tools » Import Data**

![](/files/5TaKXSHVkQnhNpoDjf8g)

2\. **Select Affiliate Import Template (CSV file)**

![](/files/PAUufdbfODp23KFeyoQj)

Once the File gets uploaded Affiliate data will be displayed in table format. Users must match all column headings as per the data sorted CSV sheet.\
(Remove 1st heading row after mapping column)

***

#### Important **fields in the CSV to import Affiliates**

1. First Name, Last Name&#x20;
2. Country
3. Company Name
4. Email ( **Mandatory** )
5. Currency
6. Address
7. Phone
8. Website
9. Status ( approved, pending, rejected )

Download the Affiliate Import template file from here and sort your Affiliate data as per the template headings.

{% file src="/files/eMg0zaziTY3OxpUkOYXR" %}
Download Affiliate Import Template
{% endfile %}


# Import Affiliate Postback

#### 1. Go to Affiliates **»** Affiliate Postback

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

#### &#x20;2.  Go to Import Affiliates&#x20;

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

Once the File gets uploaded Affiliate Postback Data will be displayed in table format. Users must match all column headings as per the data sorted CSV sheet.\
(Remove 1st heading row after mapping columns)

**Mandatory fields in the CSV to Affiliate Postback**

1. Affiliate Id&#x20;
2. Postback Type (s2s / pixel / iframe)
3. Integration Type (default, privacy\_postback)
4. Postback Url
5. Offer Id (For Offer based Postback)
6. Event (For Event  based Postback)

Download the Affiliate Postback Import template file from here and sort your Affiliate Postback data according to template headings.

{% file src="/files/GajhBHya69vzwugL0ufO" %}


# Import Advertisers

1. **Go to Tools » Import Data**

![](/files/xtTX2c1PhAzWVLXibVfc)

2\. **Select Advertiser Import Template ( CSV file )**

![](/files/3mG1gY4nahoACCrGTOFJ)

Once the File gets uploaded Advertiser data will be displayed in table format. Users must match all column headings as per the data sorted CSV sheet.\
(Remove 1st heading row after mapping column)

***

#### **Important fields in the CSV to import Advertisers**

1. First Name, Last Name&#x20;
2. Email ( **Mandatory** )
3. Company Name
4. Country
5. Status ( approved, pending, rejected )
6. Website
7. Phone
8. Address
9. Currency

Download the Advertiser Import template file from here and sort your Advertiser's data as per the template headings.

{% file src="/files/lI3ldFAJUUe6If2061sz" %}
Download Advertiser Import Template
{% endfile %}


# Import Offers

1\. **Go to Tools » Import Data**

![](/files/1PVoez55raM1kEoVCVdZ)

2\. **Select Offer Import Template (CSV file)**

![](/files/P8A42FhglKpMu008VqkU)

Once the File gets uploaded Offer data will be displayed in table format. Users must match all column headings as per the data sorted CSV sheet.\
(Remove 1st heading row after mapping columns)

***

**Mandatory fields in the CSV to import offers**

1. Offer Name
2. Currency
3. Advertiser ID ( Numeric )
4. Advertiser revenue model
5. Advertiser price
6. Affiliate cost model
7. Affiliate payout
8. Offer URL
9. Start Date ( MM-DD-YYYY )
10. Visibility ( open, approval, private )
11. Status ( live, paused )

Download the Offer Import template file from here and sort your Campaign's data according to template headings.

{% file src="/files/lXKTH7RBkzcx6GPJtClp" %}


# Import Conversions

1\. **Go to Tools » Import Data**

![](/files/KMDYxrAG5dkuQOPEoxg0)

Importing conversions in the Offer18 Dashboard can be achieved through three different methods.

### Import Conversions by values

Input the conversion data in the required format as prompted.

{% hint style="info" %}
To import conversions without a TID, simply check the checkbox and input the conversion data in the specified format.
{% endhint %}

{% file src="/files/HAjWZCMqbsOsVcFUmqaR" %}

### Import Conversions  by Uploading CSV File

When using a TID, it is necessary to upload a CSV file following the provided template below.

Without TID, it is necessary to upload a CSV file following the provided template below.

{% file src="/files/92iMwN3Qrer52ootLEcK" %}

### Import Conversions Manually

You have the option to manually import conversions by entering conversion data into the available fields. Additionally, you can select and include additional fields for conversion data. If you wish to import conversions without a TID, simply enable the "Import Without TID" option.


# Product Feed

A product feed is a list of multiple products. One can import all the advertiser's products using CSV and API. Affiliates can download the product feed from the affiliate dashboard to get product links for promotion.

It is helpful to promote multiple products of an advertiser through a single offer.

#### There are two ways to add a product feed

1. CSV file
2. API (API URL will be provided by the advertiser/e-commerce store owner)

### Import Product Feed using a CSV file.

1. Integration **»** Product Feed **»** Create Product Feed\
   &#x20;&#x20;

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

   &#x20;
2. Define Feed Name&#x20;
3. Select "Feed Type": CSV **»** Select CSV file **»** Set mapping.
4. Select Offer ID and Advertiser ID&#x20;
5. Allow/Block Affiliate ID&#x20;
6. In Append tokens, Place tokens in the product URL to pass values.&#x20;
7. Status **»** Status of the product feed
8. Go to Submit

Download the product feed template from here.

{% file src="/files/yvRxHYeIKjX7OoBEQ3Kb" %}

***

### Import Product Feed using API

1. Integration **»** Product Feed **»** Create Product Feed
2. Define Feed Name&#x20;
3. Select "Feed Type": API » Place API URL
4. Go to Next **»** Select data in Root Element **»** Map required fields&#x20;
5. Select Offer ID and Advertiser ID&#x20;
6. Allow/Block Affiliate ID&#x20;
7. In Append tokens, Place tokens in the product URL to pass values.&#x20;
8. Status **»** Status of the product feed&#x20;
9. Set Sync Frequency for API
10. Go to Submit

{% hint style="info" %}
Required fields for product feed: **Name, ID, URL**
{% endhint %}

***

## Export Product Feed from the Affiliate dashboard.

In affiliate dashboard

1. Go to Offers
2. Product Feed **»** Download File

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

{% hint style="info" %}
In reports, one can check product ID against the recorded conversion in the admin account and affiliate dashboard as well.
{% endhint %}


# Automation

Offer Automation is specially designed to automate the performance of Campaigns and improve the ROI of Campaigns under the rules created for Automation.

Using different metrics such as CR, CTR, CPC, RPC, Clicks, Conversions, and more. Automated rules take full advantage of their performance and quickly alert and generate rule violation reports in the fastest defined time.

**Go to Tools » Automation**

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMnZpJ7TaWxxCu0SXIW%2F-MMnaLkWpnHUhdfnb0Vi%2F7696f182255c55c2f2d4d229f7982b19.gif?alt=media\&token=436bad68-94bb-4760-a5b1-2bfb2d1a7221v)

To create a new Automation rule, Go to **Create Automation**

***

### **Automation rule Fields**

**General Config**

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong> </td><td><strong>Description</strong></td></tr><tr><td>Rule Name</td><td>Name of the Automation rule</td></tr><tr><td>Block Level</td><td><ul><li>Offer level</li><li>Affiliate level</li><li>Sub source level</li></ul></td></tr><tr><td>Advertiser </td><td>Advertisers will be selected here</td></tr><tr><td>Offers</td><td>Offer to apply Automation rule will be selected here </td></tr><tr><td>Affiliates</td><td>Affiliate to apply Automation rule will be selected here </td></tr><tr><td>Sub*</td><td>Parameter to receive Sub Affiliate ID will be selected here</td></tr></tbody></table>

#### Threshold

Value under which the Automation rule will not be triggered&#x20;

<table data-header-hidden><thead><tr><th width="154.24070450097844"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong> </td><td><strong>Description</strong></td></tr><tr><td>Conversion</td><td>Count of Conversions will be added here</td></tr><tr><td>Clicks</td><td>Count of Clicks will be added here</td></tr><tr><td>Impressions</td><td>Count of Impressions will be added here</td></tr></tbody></table>

#### **Filters/Schedule**

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong> </td><td><strong>Description</strong></td></tr><tr><td>Report Status</td><td>Check Reports of the Offers with a specific status</td></tr><tr><td>Data Look back</td><td>Check Reports of the Offers within a period of the current time(In hours)</td></tr><tr><td>Schedule </td><td>Time interval to trigger another cycle Automation rule</td></tr><tr><td>Daily Start - End</td><td>It is the start date and end date of the Automation rule</td></tr></tbody></table>

#### Compare&#x20;

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong> </td><td><strong>Description</strong></td></tr><tr><td>Field</td><td><ul><li>CR</li><li>CTR</li><li>CPC</li><li>RPC</li><li>eCPM</li><li>eRPM</li><li>UCR (UniqueClickRate)</li><li>Conversions</li><li>Clicks</li><li>UniqueClicks</li><li>Impressions</li><li>Revenue</li><li>Payout</li></ul></td></tr><tr><td>Compare Type </td><td>Condition on which the rule must block<br>Like - If Clicks greater than Max Value</td></tr><tr><td>Minimum - Maximum Value</td><td>Define Maximum and minimum values according to compare type</td></tr></tbody></table>

#### Whitelist

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong> </td><td><strong>Description</strong></td></tr><tr><td>Offer</td><td>Exclude Offers from Automation rule from here</td></tr><tr><td>Affiliate</td><td>Exclude Affiliates from Automation rule from here</td></tr><tr><td>Sub-Affiliate</td><td>Exclude Sub-Affiliates from the Automation rule from here</td></tr></tbody></table>

#### Config

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Field</strong> </td><td><strong>Description</strong></td></tr><tr><td>Resume After</td><td>Time to restart after the Automation rule block</td></tr><tr><td>Notification</td><td>Enabling it will send an alert regarding rule block</td></tr></tbody></table>

![](https://2731110321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-ME6HkHUCzlM0Mu33Q9W%2F-MMnZpJ7TaWxxCu0SXIW%2F-MMnb9GYHqOUNb5_2nkk%2Fe598431f8398d3cc27e2fe1ed9251d70.gif?alt=media\&token=9e6c49e2-42bb-49e9-904e-b67eadfb8cc0)

***

### Automation Logs

Actions taken based on your Automation rules are listed in **Automation** **»** **Logs**. There you'll be able to see every action listed with the affected Partners and Offers, additionally the Automation rule that triggered the action.

#### Block Level

1. **Offer Level** - Rule block worked on complete Offer.
2. **Affiliate Level** - Rule block worked on specific Affiliate.&#x20;
3. **Sub Affiliate Level** - Rule block worked on those Sub-sources.

#### **Alarm**

1. **Healthy** :white\_check\_mark: - Rule block is working fine.
2. **Alarmed**:warning: -  Rule has been broken.&#x20;

#### **Offer / Affiliate / Sub-Source**

Based on the "block-level", Whichever **"**&#x4F;ffer / Affiliate / Sub Sourc&#x65;**"** has been blocked temporarily will display here.

#### **Current value**

This column shows the "Current value" reached from compared data, at the time rule was checked.&#x20;

#### **Time**

This column specifies the time when the rule was scheduled to check the actual time when the rule was checked.&#x20;

#### **Block Time**

This column specifies the time when the rule activated the blocks (on those levels which are specified)

#### Status

1. **OK -** No block has been applied to the rule.
2. **Clear Block -** The value has been blocked. Block can be clear using this.

***

Video Tutorial - Offer Automation

{% embed url="<https://www.youtube.com/watch?v=RL7M67nzcUk>" %}


# Link Tester

Link Tester is to validate the campaign's redirection based on Geo & Devices and prevent traffic from wasting over broken / non-converting links. Identify the common partner networks which are involved in redirection chains.

#### Tools **»** Link Tester

![](/files/l7kbndcXNlucACqW3itQ)

***

### Instant Link Test

1. Click on Test Now
2. Place Test URL in the "URL" field
3. Select OS / Device and Country as per Targeting
4. Start Test

![](/files/FHlPYSNnOJBDVwD2CeCo)

***

### Test Rules

**Tools » Link Tester » Create Rule**

![](/files/bKsvr3iY3tQtpr94eAzb)

**Define Rule Name**

#### Test URL

One can define test rules for Advertiser, Offers, Custom URL

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Fields</strong> </td><td><strong>Description</strong></td></tr><tr><td>Advertiser</td><td>Rule will be implemented on Live offers of selected Offer </td></tr><tr><td>Offers</td><td>Rule will be implemented on added Offer IDs</td></tr><tr><td>Custom URL</td><td>Rule will be implemented on the added custom link</td></tr></tbody></table>

#### Schedule & Targeting

Schedule and Targeting can be customized from this section

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Fields</strong></td><td><strong>Description</strong></td></tr><tr><td>Status</td><td>Rule can be Active / Stop from here</td></tr><tr><td>Schedule</td><td>Rule will be Run as per the scheduled time </td></tr><tr><td>Browser</td><td>Targeted Browser can be selected here</td></tr><tr><td>Test Country</td><td>Targeted country can be selected here</td></tr></tbody></table>

#### Health Checks

Conditions can be added for link redirection health.

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Fields</strong></td><td><strong>Description</strong></td></tr><tr><td>Health Check Thershold</td><td>Number of consecutive successful health checks required before considering an unhealthy target healthy.</td></tr><tr><td>Allowed Redirections</td><td>Number of allowed redirections for the health check. </td></tr><tr><td>Resale Detections</td><td>If Test URL repeats in the redirection chain It can be blocked from here  </td></tr></tbody></table>

#### Options

Validations can be added here for a health check

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Fields</strong></td><td><strong>Description</strong></td></tr><tr><td>Advertiser AppID / DomainD</td><td>One can specify destination AppID / Domain of redirection chain here</td></tr><tr><td>AppID Match</td><td>One must have to enable this if AppID is added to Options</td></tr><tr><td>Allowed Link HTTP Status (200,302)</td><td>One can specify the allowed link HTTP status of the redirection chain here</td></tr><tr><td>Stop Offer</td><td>If Rule is unhealthy the Offer can be stopped by enabling this</td></tr><tr><td>Minimum 1 Redirect</td><td>Limit for minimum 1 redirection can be enabled from here</td></tr></tbody></table>

***

### Test Results

All the result logs regarding the Test Rule will be visible in this section

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Fields</strong> </td><td><strong>Description</strong></td></tr><tr><td>Time</td><td>Time when the Test Rule is executed</td></tr><tr><td>Offer</td><td>Offer ID of the Offer Added in Test Rule</td></tr><tr><td>Custom/Offer URL </td><td>URL which is used for Test Rule can be custom or Offer URL</td></tr><tr><td>Geo</td><td>Country Targeting used for Test Rule</td></tr><tr><td>Rule Health</td><td>Status of the Test Rule can be Healthy / Unhealthy </td></tr><tr><td>Link Jumps</td><td>Number of redirects to reach Test URL to Destination URL</td></tr><tr><td>HTTP Status</td><td>Status code of the URL after the Test Rule performed </td></tr><tr><td>Final URL</td><td>Destination URL in a chain of redirects </td></tr><tr><td>Offer Stop</td><td>Offer Status will be visible here if the Offer is stopped</td></tr><tr><td>Test Status</td><td>Status of the Test Rule </td></tr></tbody></table>

***

### Change Logs

All the logs regarding variations in Test Rule are visible here

<table data-header-hidden><thead><tr><th width="150"></th><th></th></tr></thead><tbody><tr><td><strong>Fields</strong></td><td><strong>Description</strong></td></tr><tr><td>Time</td><td>Time when variation is held in Test Rule</td></tr><tr><td>Offer</td><td>Offer ID in which the variation took place  </td></tr><tr><td>Health</td><td>Health status after the variation</td></tr><tr><td>Rule Broken x Times</td><td>Number of times when the Test Rule status changes</td></tr><tr><td>Healthy Check Threshold</td><td>Number of rechecks after variation took place in Test Rule</td></tr><tr><td>ChangeLog</td><td>If any action is performed due to the variation will be added here</td></tr></tbody></table>

***

Video Tutorial - Link Tester and How to use it

{% embed url="<https://www.youtube.com/watch?v=up5DETlRc-c&t=38s>" %}




---

[Next Page](/llms-full.txt/1)

