# Help Center

<h2 align="center">What can we help you with today?</h2>

<p align="center">Browse the topics below or use the GitBook Assistant to ask anything you need help with.</p>

<p align="center"><button type="button" class="button primary" data-action="ask" data-icon="gitbook-assistant">How can we help?</button></p>

&#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><h3><i class="fa-link" style="color:$danger;">:link:</i></h3></td><td><h4><strong>MMP Integration</strong></h4></td><td>Your guide to configure RZR with leading MMP platforms</td><td><a href="/pages/j9aml9S4F1INPpIL9vtL">/pages/j9aml9S4F1INPpIL9vtL</a></td></tr><tr><td><h3><i class="fa-tv" style="color:$danger;">:tv:</i></h3></td><td><h4><strong>CTV Integration</strong></h4></td><td>Your guide to configure RZR with leading MMP platforms for CTV</td><td><a href="/pages/6VxdxsJcc4IFsjWZC0hQ">/pages/6VxdxsJcc4IFsjWZC0hQ</a></td></tr><tr><td><h3><i class="fa-chart-simple-horizontal" style="color:$danger;">:chart-simple-horizontal:</i></h3></td><td><h4>Reporting API Integration</h4></td><td>Your guide to pulling performance data from RZR via API</td><td><a href="/pages/fLxMaZ7vc8wqKPAlnjrb">/pages/fLxMaZ7vc8wqKPAlnjrb</a></td></tr><tr><td><h3><i class="fa-screen-users" style="color:$danger;">:screen-users:</i></h3></td><td><h4><strong>Audience Sharing Setup</strong></h4></td><td>Your guide to sending audiences to RZR via S3 or API</td><td><a href="/pages/M1EjmOrD66nakGrndtJK">/pages/M1EjmOrD66nakGrndtJK</a></td></tr><tr><td><h3><i class="fa-paintbrush-pencil" style="color:$danger;">:paintbrush-pencil:</i></h3></td><td><h4><strong>Creative Resources</strong></h4></td><td>Your guide to ad creative requirements</td><td><a href="/pages/WWXQJ75hjePNN4yr6N48">/pages/WWXQJ75hjePNN4yr6N48</a></td></tr><tr><td><h3><i class="fa-file-circle-info" style="color:$danger;">:file-circle-info:</i></h3></td><td><h4>MMP Postback Export</h4></td><td>Your guide to exporting postback data from MMPs</td><td><a href="/pages/gRzz9sn48iDmOgE87Zhp">/pages/gRzz9sn48iDmOgE87Zhp</a></td></tr></tbody></table>

&#x20;

&#x20;


# MMP Integration Guide

Looking to integrate RZR with your preferred Mobile Measurement Partner (MMP)? You’re in the right place.

This guide is designed to help **growth marketers, UA managers, and performance teams** seamlessly configure RZR within leading MMP platforms, so you can track, optimize, and scale your mobile campaigns with confidence.

We’ve included step-by-step instructions, key parameters, and visual aids for each supported platform.

#### **🔧 What’s Inside:**

* How to add RZR as a media partner
* Setting up postbacks and event tracking
* Enabling cost integrations

#### **Get Started:**

Choose your MMP below to begin setup:

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Adjust</td><td><a href="/pages/tC3L2JpFQHXHHnRoWWwf">/pages/tC3L2JpFQHXHHnRoWWwf</a></td></tr><tr><td>Airbridge</td><td><a href="/pages/7UBzEFnFd1SmWcXBH8el">/pages/7UBzEFnFd1SmWcXBH8el</a></td></tr><tr><td>AppsFlyer</td><td><a href="/pages/C6dQROgJTbl5K5fZThWZ">/pages/C6dQROgJTbl5K5fZThWZ</a></td></tr><tr><td>Branch</td><td><a href="/pages/xBlBtziIRKAZRamYUO7B">/pages/xBlBtziIRKAZRamYUO7B</a></td></tr><tr><td>Kochava</td><td><a href="/pages/wi9DQ99DX3EO4KURNVKu">/pages/wi9DQ99DX3EO4KURNVKu</a></td></tr><tr><td>Singular</td><td><a href="/pages/290mSB5t5qMBVkqvydGw">/pages/290mSB5t5qMBVkqvydGw</a></td></tr></tbody></table>


# Adjust Integration

### Step 1: Integrate RZR as a partner <a href="#fh31xmrmdm6r" id="fh31xmrmdm6r"></a>

1\. Under Campaign Lab, select **Partners**

![](/files/lPM60von7JOSYBoLXsc5)

2\. Select **New partner > RZR**. Select Next to move to the next screen

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

3\. In the App selection screen, choose the app for which you want to create the link, and enable the integration to share data with RZR.

<mark style="color:orange;">**Important:**</mark> Please ensure that **RZR** is selected.

![](/files/YXkYcYG2onOagff5VCrw)

### Step 2: Data Sharing <a href="#id-2tgfbd5b19pz" id="id-2tgfbd5b19pz"></a>

1\. Enable data sharing to activate the integration with RZR. To enable data sharing:

Enter RZR’s **NETWORK ID,** which is provided by the RZR account manager/coordinator.

<mark style="color:red;">**Note:**</mark> Please ensure that the correct **Network ID** is entered as the input

![](/files/MRowoD88kxC0ZCYXKmlP)

2\. Once you enable data sharing with RZR, **Adjust** automatically sends **RZR** the following data, by default:

* install
* reattribution
* rejectedInstall

![](/files/JimBMB4QaKB2ZzxPq6v9)

3\. In case your app is a multi-platform app i.e both Android and iOS, ensure the following:

* Separate data sharing options at the platform level by selecting **Use platform-specific settings**.
* Set the same data sharing settings for multiple platforms by selecting **Use global settings.**

4\. To ensure Non-Attributed data is shared with RZR, please ensure that the **Data from all attribution sources is** selected

<mark style="color:red;">**Note:**</mark> Please ensure that **Data from all attribution sources** is selected to ensure that all postback events flow through to RZR.

5\. For sending additional data to RZR, the list below outlines additional events for which data can be shared. We recommend turning on all available options to ensure sharing as much data as possible

* Ad revenue
* Sessions
* In-app revenue (from in-app purchases)

### Step 3: Mapping the events <a href="#aba3wtxyje54" id="aba3wtxyje54"></a>

Map the events that you want to share to the values that RZR can receive. Data for unmapped events will not be shared with RZR.

1. Select Map Events

![](/files/MpGdNcNIfdYx6HvpyvJS)

1. In the Adjust event list, choose the Adjust event that you want to share with RZR.
2. Under Partner event, select the **RZR event** that corresponds to the Adjust event.
3. Please ensure to **save** the settings once the event mapping is done.

### Step 4: Configure Links and Settings <a href="#ccnoijsjokhl" id="ccnoijsjokhl"></a>

1\. Choosing the link use case defines the format of your link URLs and the available attribution methods.

![](/files/5XsSAPqiUjZh493Gtpx9)

**Single-device link**: This link measures user behavior on a single device. Example: A mobile ad click leading to a mobile app install.

**Cross-device link**: This link measures user behavior across different device types. Example: A CTV impression leading to a mobile app install.

2\. Under Review link, enter the Link name, such as ‘RZR’. This name will be used as the network-level link name and will appear at the top level of the structure in your reports.

3\. If you need to update campaign parameters, select Edit and modify the values for the campaign **parameters.** Below is the list of parameters present within the link structure by default:

* Campaign
* Adgroup
* Creative

### Step 5: Configure User destination <a href="#u6x1pmhb38mg" id="u6x1pmhb38mg"></a>

Under **User destinations**, you can add a deep link, set up a custom URL redirect, and/or include a fallback custom URL. Once this is set up, click **Next** to continue.

![](/files/dl1o2O0DbMSfW6jt6seK)

### Step 6: Setting up the Attribution window <a href="#id-1e0u9eirekm" id="id-1e0u9eirekm"></a>

1. For a new user, i.e, user acquisition campaign, navigate to the edit option under **New User: Attribution** for both Impressions and Clicks.

![](/files/8V3fTxElGc2r0mY9gT9G)

2. For retargeting campaigns, navigate to the edit option under the **Existing users: Attribution**

You may also update the default attribution windows. To learn more about attribution windows, see [Adjust's attribution window guide.](https://help.adjust.com/en/article/attribution-windows?src=search_page)

3. Finally, save and register the tracking links.

<mark style="color:red;">**Note:**</mark> For reattribution, please make sure that the reattribution windows for both clicks and impressions are enabled and properly saved to ensure the attribution logic functions correctly.

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

#### **Redownloads and reattribution**

Adjust has introduced a new attribution type called **Redownloads**. A redownload is the first session recorded after an app was deleted from a device, as detected by Adjust SDK using OS metadata. Some redownloads qualify to be treated as a new install for attribution (redownload installs) based on client app settings.

Redownload settings are configured at the app level in the Adjust dashboard. To change your settings:

* Navigate to **AppView** > **Attribution** settings
* Scroll to the **Redownload settings** section
* Select **Edit** to manage the following:
  * Redownload exclusion window - default is 90 days&#x20;
  * Redownload inactivity period - default is 14 days&#x20;
* Select **Save**

### Step 7: Setting up Audience Integration <a href="#swehdahhikjd" id="swehdahhikjd"></a>

* Under **Campaign Lab**, select **Audiences**.
* Select New audience.
* Enter your audience name.
* Select one of the following stores:
  * **Apple Store**
  * **Google Play**
* Select one of the following ID types:
  * **Advertising ID**
  * **Push token**
* Select one or more of your apps. Users of the selected apps are included in your audience.
  * If you select multiple apps, some conditions won’t be available, and you won’t be able to share this audience with Google Ads accounts.
* Choose as many dimensions as you want to [filter your audience](https://help.adjust.com/en/article/audiences#filter-your-audience).
  * Skip this step if you want to include the entire user list of your selected apps.
* Next, divide your audience into up to 10 groups. You can name groups and customize the percentage of users within each group.
* Review your choices and make any changes as necessary. Select Create Audience.

For more details, please refer to [Audiences | Adjust Help Center](https://help.adjust.com/en/article/audiences)

To download or share your audience data, follow these steps.

* Under **Campaign Lab**, select **Audiences**.
* In the Audiences list, select an audience to view its details.
* Find the group you want to download or share and select (Copy) to copy its URL.

### Step 8: Setting up Cost Integration

#### App Setup on Adjust

1. Navigate to the **App View** section in the Adjust dashboard.
2. If the app is not listed, click **Add New App** to set it up.

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

#### Connecting RZR via DataWorks

To connect your RZR account in [DataWorks](https://help.adjust.com/en/article/connect-partner-credentials), follow these steps:

1. Go to **DataWorks** and select **Connections**.
2. Click **New Connection**.
3. Choose **RZR** as your partner.
4. Select the services you want to connect.
5. Enter the required credentials for the network.

   > *Tip: Reach out to your RZR account manager to obtain these.*
6. Click **Connect**.

Once your campaigns are live, Adjust will automatically display ad spend data in [**Datascape**](https://help.adjust.com/en/article/all-reports).

#### Alternatively: Provide Direct Access to RZR

If preferred, the client can grant RZR direct access by following these steps:

1. Go to **Adjust Dashboard** → **Account Settings** → **Users**
2. Click **➕ New User**

**Enter the following details:**

* **Name:** `RZR`
* **Email:** Contact your RZR account manager for the correct email address
* **Role:** `Custom Editor`
* **Apps:** Grant access only to the relevant apps

**Configure Access:**

* **Links:** Select specific links manually or use a filter keyword (e.g., `"RZR_"`)
* **Partners:**
  * Toggle **Ad Spend** access **ON** and assign only RZR
  * Toggle **SKAN** access **ON** if required

**Finalize & Invite:**

* Review all permissions to ensure accuracy
* Click **Invite User** — **RZR** will receive an email to activate access

<mark style="color:red;">**Note:**</mark>

* Please ensure that you share screenshots of all relevant Adjust account settings for each integration step with the RZR team.
* In the Adjust dashboard settings, make sure to set the **Attribution Source filter** to **Dynamic**. Failing to do so may result in incomplete or incorrect attribution data.

***

This document outlines the complete setup details required to configure your Adjust account. Please review each section carefully and follow the outlined steps to ensure accurate tracking, attribution, and reporting.

If you need any help with the configuration document, feel free to reach out to your **RZR Account Manager/Account Coordinator** for assistance.


# Airbridge Integration

### Step 1: Integrate RZR as a partner <a href="#fh31xmrmdm6r" id="fh31xmrmdm6r"></a>

To configure **RZR** as a media partner in **Airbridge**, follow these steps:

1. Log in to [Airbridge](https://app.airbridge.io/signin) with your unique login credentials for Airbridge.
2. From the **Startup** page, find and click the app of your choice.
3. Go to **Integrations** > **Select Ad Channels**.
4. Find and click **RZR**. This takes you to the page where you can configure your postback settings.

![](/files/RCqAZiZlT8ZUmSAhILG3)

### Step 2: Configure Postbacks <a href="#cm8hcpq19ovn" id="cm8hcpq19ovn"></a>

To configure postback settings and track events, follow these steps:

1. Select **Postback**, then click on **Configuration** below **Event Schema**. This will take you to the page where you can select events to track.
2. Go to **Event Schema** to register the **integration key** provided by **RZR** and start sending your postback.

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

### Step 3: Sharing Attributed and Non-Attributed data <a href="#s5wg3n2rcxif" id="s5wg3n2rcxif"></a>

To select and send events for campaign performance tracking, follow these steps:

1. Under **Sending Events**, select the events you want to track for campaign performance.
2. Click **Next**.
3. This will share both **RZR-attributed** and **unattributed** events.

![](/files/qAh5I3dF2K1CqZ2J8FTo)

1. Under **Delivery Rule**, select **Attributed to any channel** and **All recurring events** to share all postback data with RZR.
2. We recommend sending all postback data to maximize the accuracy of our machine-learning models.
3. Click the **gear icon** to specify the events to share all postback data.
4. Click **Save**.

![](/files/1uG6Ka82TeVAkl7P8MOx)

### Step 4: Set Up Postback Delivery <a href="#do2tz8wiyq5j" id="do2tz8wiyq5j"></a>

To activate postback delivery to RZR, follow these steps:

1. When ready to start, click **Activate** to send postbacks to RZR.
2. Navigate to **RZR → Postback tab → Event Schema**.
3. Set **Delivery Rule** to **"All channels"**.

For further details, you may refer to the **Airbridge Guide on Postback Delivery Settings**:

* [Korean](https://help.airbridge.io/ko/guides/postback-settings#%EC%97%90%EC%96%B4%EB%B8%8C%EB%A6%BF%EC%A7%80%EC%9D%98-%ED%8F%AC%EC%8A%A4%ED%8A%B8%EB%B0%B1-%EC%A0%84%EC%86%A1-%EA%B7%9C%EC%B9%99)
* [English](https://help.airbridge.io/en/guides/postback-settings#postback-delivery-rules)

### Step 5: Cost Integration

Provide your RZR credentials to Airbridge.

* Go to **\[Integrations]** > **\[Ad Channel Integration]** in the Airbridge dashboard. Select RZR.
* Go to the **\[Cost Integration]** tab. Turn on the RZR Cost Integration toggle and click + Add account.

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

* &#x20; Enter the **Token**. Click **Done**. Reach out to the RZR account manager for the token

***

This document outlines the complete setup details required to configure your Airbridge account. Please review each section carefully and follow the outlined steps to ensure accurate tracking, attribution, and reporting.

If you need any help with the configuration document, feel free to reach out to your **RZR Account onboarding** team for assistance.


# AppsFlyer Integration

### Step 1: Integrate RZR as a partner <a href="#oq81ipubrygm" id="oq81ipubrygm"></a>

To configure **RZR** as a media partner in **AppsFlyer**, follow these steps:

1. Log in to your [AppsFlyer account](https://hq1.appsflyer.com/auth/login)
2. Navigate to **Collaborate** **>** **Partner Marketplace**.

![](/files/v1uHwS6fCyOAd3gpdwqE)

1. Search for **RZR** in the search tab and select it. You will then move to the Integration page.

![](/files/REmYYO14FNeQUtk0AeYv)

<mark style="color:orange;">**Important:**</mark> Please note that the correct account to be searched and selected would be **RZR** and not **RZR Agency**

### Step 2: Activate **RZR** as a partner <a href="#id-9jo0fmx26a96" id="id-9jo0fmx26a96"></a>

1. Click on the **Integration tab**
2. Turn on the **Activate Partner** toggle to activate **RZR** as a partner.

![](/files/oxdV6wNdBgJYBl67Wayy)

### Step 3: Configure the Integration settings <a href="#id-60ncq8q2jaq9" id="id-60ncq8q2jaq9"></a>

1. In the **Integration tab,** toggle off **Advanced Privacy** if it is toggled on
2. Enter the Network ID, which RZR’s account manager will provide

<mark style="color:red;">**Note:**</mark> Please ensure the network ID is entered correctly for both general settings and In-app event settings.

![](/files/FFnnqNYOQCI3Hba3ZY26)

3\. Turn on the **Install view-through attribution.**

![](/files/tfasOH8WNEPrYRF8vmaA)

4\. For **retargeting** campaigns, please turn on the **Re-engagement view-through attribution.**

![](/files/pKqZ9alPqKEUI6bcwViM)

![](/files/eBJ9pn3py6gzSOL4eQop)

![](/files/kWtKfeZveRx71ulTsA34)

For Engaged click/view please both for Install/reattribution ensure that the engaged view click through lookback window and view through lookback window is setup. By default the settings is 2day for all the cases.

To understand how the priority would be present for engaged click/view refer to - <https://support.appsflyer.com/hc/en-us/articles/207447053-AppsFlyer-attribution-model#attribution-methods>

<mark style="color:red;">**Note:**</mark> For iOS campaigns please ensure that the Advanced RZR Privacy(AAP) is turned off. if AAP is on, user-level attribution data for non-consenting users running iOS 14.5+ will not be available to advertisers or partners.

<mark style="color:red;">**Note:**</mark> For probabilistic view attribution , please ensure that the client has enabled below settings.

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

### Step 4: Set up default postbacks to share all the postback data with RZR <a href="#f97059wng6t8" id="f97059wng6t8"></a>

In the **Default postbacks** section, select **All media sources, including organic** against **Install (Event Name)** in the **for users from** drop-down.

![](/files/UmcJtpg4oC7xYoVS5N35)

### Step 5: Activate in-app event postbacks and configure the postback time window <a href="#m3hv7dqeicby" id="m3hv7dqeicby"></a>

1\. Ensure to turn on the toggle for **in-app event postbacks**

2\. To make sure **RZR** receives in-app event postbacks after key user actions like installs or re-engagements, set an In-app Event Window.

We suggest selecting **Lifetime** to continuously share events that support campaign optimization.

![](/files/LAsSUtrtHNH3YPavx58m)

3\. If the event involves a purchase, choose **value and revenue**. For non-revenue events, select **value and no revenue**.

![](/files/gX1EuZiB0trkvHfw8pkC)

Finally, click **Save Integration**.

Important: For each event, please ensure that ***All media sources including organics***, are enabled to ensure that all the postbacks flow through RZR.

### Step 6: Set up Tracking for User Acquisition and Retargeting campaign <a href="#id-4pglfwx5so43" id="id-4pglfwx5so43"></a>

1\. From the same page where you have integrated postbacks, click **Attribution link**. For **Choose your** **attribution link type**, select **Use a** **single-platform link**.

![](/files/4I3HD8FKJ1OsXv8VRJ6G)

<mark style="color:red;">**Note**</mark><mark style="color:red;">:</mark> For more information on OneLink please refer to this [guide](https://support.appsflyer.com/hc/en-us/articles/115005248543-OneLink-guide?utm_campaign=marketplace\&utm_medium=ui\&utm_source=hq1).

2\. In most cases, the Parameters and Values fields are automatically populated by AppsFlyer, so no manual changes are required.

If there is a need to include additional parameters, click the **Add Parameter** option.

![](/files/7vmsR8HaXtrI3z5q0wwK)

<mark style="color:red;">**Note:**</mark> Please ensure that the **Retargeting settings** is toggled off for **user acquisition** campaigns.

![](/files/gp3lXKiqAkiXzTR0Fsxh)

3. Setting up the click-through lookback window and view-through lookback window. By default, the values are set to the following:

Click through Attribution: 7 days\
View through Attributions: 24 hrs

![](/files/94H4QxsqFQFA2IJXNTaA)

4. Final step: click **Save attribution link**.

<mark style="color:red;">**Note:**</mark> CTA / VTA window should be matching click lookback window defined in the attribution link.

**Retargeting tracking link setup**

1\. As a first step, go to **Settings** > **App settings** > **Enable re-engagement attribution**. For re-attribution, keep the setting to the default settings, i.e, 90 days, or you may change it.

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

2\. Once done, please follow the similar steps mentioned above for creating links for App install campaigns to navigate to the attribution link tab and to set the required parameters for your attribution link.

3\. In the following steps, enable the retargeting settings, which will add the **is\_retargeting=true** parameter in your attribution link. **Add details on Ignore active users**

![](/files/tTQJLFjJnF8wKpygNgge)

4. Configure the Re-engagement window to 30 days. You can always change the window, the **\&af\_reengagement\_window=** parameter in the tracking link will reflect the window selected.

<mark style="color:red;">**Note:**</mark> Once **the Retargeting** **settings** is turned on, this modifies the attribution link by appending `is_retargeting=true` to the URL.

For RT campaigns, ensure the `is_retargeting=true` parameter is always included. Even if the retargeting settings toggle is ON or OFF, the attribution should still function correctly.

<mark style="color:red;">**Note**</mark><mark style="color:red;">:</mark> Please ensure that Re-engagement settings are turned on under overall App settings. Re-attribution can be defined by the client or maintained at a 90-day default window, as per the setup.

![](/files/rF75ZQCO7a25Xhn4NlxX)

### Step 7: Ad Network Permissions <a href="#v8k3iqg6jhkx" id="v8k3iqg6jhkx"></a>

1. Ensure the client has enabled the **Ad Network permissions** so that the app is shared on the RZR dashboard.
2. Toggle on permissions for the listed parameters

![](/files/H6Ayhea9bCl8eMhp18OS)

Definitions for each permissions request can be viewed here - <https://support.appsflyer.com/hc/en-us/articles/4410395957521-Set-up-an-integrated-partner#permissions-tab>

<mark style="color:red;">**Note:**</mark> Please ensure that the **Ad Network Permissions** is turned on to ensure that the app is visible on the RZR dashboard.

### Step 8: Setting up Cost Integration <a href="#n9n5urz9m7b8" id="n9n5urz9m7b8"></a>

To enable the Cost API, follow these steps:

1. In AppsFlyer, from the side menu, select **Collaborate** > **Active Integrations**, and select the partner.
2. Click **Manage integration**.
3. Open the integrated partner **Cost** tab.
4. Turn on the **Get Cost Data** toggle. The requirements to connect to the partner display.
5. Configure and authenticate the integration to the partner. The integration method depends on the partner. [Learn more.](https://support.appsflyer.com/hc/en-us/articles/360008850257-Connecting-cost-integrations#connection-methods)
6. If the partner’s cost configuration has **Site ID mapping**, select the desired site ID configuration from the dropdown. [Learn more.](https://support.appsflyer.com/hc/en-us/articles/360008850257-Connecting-cost-integrations#site-id-mapping)
7. Click **Save Cost**.
8. Click **Test Connection.**

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

Ensure that the correct **API key** is entered in the **Cost API Integration**. It’s often observed that the **Network ID** is mistakenly used instead of the **API token**, leading to cost data discrepancies.

<mark style="color:red;">**Note**</mark><mark style="color:red;">:</mark> The **Retargeting View** in the **Overview Dashboard** does **not** display cost data. The cost for retargeting is available in the **Unified View**.

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

<mark style="color:red;">**Note**</mark><mark style="color:red;">:</mark> Please ensure that the correct API key is being passed in the cost Integration and test the connection for any error.

### Step 9: Setting up Audience Integration <a href="#vz2pu84em19r" id="vz2pu84em19r"></a>

To create a new connection with the Audience list through AppsFlyer, follow these steps:

1. Go to **Engage** **>** **Audiences > Connections**.
2. Click **+ New connection**.\ <mark style="color:red;">**Note:**</mark> If you are creating a new partner connection from within the audience builder, click on **+ Add partner connection** within the **Manage audience connections** window.
3. Select a **Partner name**.
4. Enter a **Connection name**.\ <mark style="color:red;">**Note:**</mark> It must be a new name that was never used when creating other connections.
5. Complete the required fields/login information for the partner. Some partners have [detailed instructions about how to connect.](https://support.appsflyer.com/hc/en-us/articles/360013960577)
6. Select the user identifiers that you authorize for sharing with this partner.
   * Supported identifiers vary by partner. Only those identifiers supported by the selected partner will appear in the list.
   * Only identifiers that comply with your [account-level user identifier policy](https://support.appsflyer.com/hc/en-us/articles/360016791118-Audiences-user-identifier-policy) will be uploaded. You will see a caution message if you select an identifier that is disallowed by your account policy.

![](/files/8Xn7j3laiZ0HgTC7aANC)

### Advertiser Setup Instructions in AppsFlyer

To enable ad revenue (IAA) data sharing via Data Locker, the advertiser must grant access to UA signals for the DSP partner.

**Step-by-Step Guide:**

1. **Log in** to your AppsFlyer account.
2. In the left-hand menu, navigate to:\
   **Collaborate** → **Active Integrations**
3. **Search** for and select your DSP partner (e.g., **RZR**).
4. Go to the **Integration** tab.
   * Ensure **Activate Partner** is **ON**.\
     ⚠️ If this is turned off, no data will be shared.
5. Switch to the **Permissions** tab.
   * Enable ✅ **Ad network permissions**
   * Enable ✅ **Access ad revenue raw data (UA signals)**
6. In the **Sending Option** section, choose one of the following:
   * **This partner only:** Sends ad revenue data only for impressions served by this DSP.
   * **All media sources, including organic (Recommended):** Sends revenue data from all sources, even if not attributed to the DSP.
     * <mark style="color:red;">**Note:**</mark> Attribution details for other partners will not be included.
7. Click **Save Settings** to apply the changes.

***

This document outlines the complete setup details required to configure your AppsFlyer account. Please review each section carefully and follow the outlined steps to ensure accurate tracking, attribution, and reporting.

If you need any help with the configuration document, feel free to reach out to your **RZR Account Manager/Account Coordinator** for assistance.


# Branch Integration

### Step 1: Integrate RZR as a partner <a href="#yhqf5ga77svq" id="yhqf5ga77svq"></a>

To enable RZR in the Branch dashboard, follow these steps:

1. In the **Branch dashboard**, navigate to **Ads > Partner Management**.
2. Search for **RZR** in the partner list.
3. If you're already logged into the **Branch dashboard**, click **here** to go directly to the page.
4. Click **Save & Enable**.

![](/files/IXzsvgG1IGqz6JmZiMTm)

5. In **Account Settings**, you need to provide the **Network ID**.
6. To retrieve the **Network ID**, please reach out to your RZR Account Manager

### Step 2: Configure postbacks <a href="#mwa43mc745m9" id="mwa43mc745m9"></a>

Enabling RZR should automatically enable the following postbacks. Please check and reconfirm that the following have been enabled correctly:

* CLICK
* IMPRESSION
* INSTALL
  * For Retargeting
    * Reattribution
    * Reengagement
  * For User Acquisition
    * Install
* OPEN
* PURCHASE

<mark style="color:red;">**Note**</mark><mark style="color:red;">:</mark> If any of the required postbacks are not enabled automatically, they can be manually configured or added under the [**Postback Config**](https://dashboard.branch.io/ads/partner-management/a_moloco?tab=postback&_gl=1*1y0mum*_ga*MTA3NjQxNjIyLjE3MTY5NDEwNjE.*_ga_KSDD8Y11CT*MTcyMjQwNzQ1MS4xMS4xLjE3MjI0MDc1MTAuMS4wLjA.) tab. After adding the postbacks, click **Save & Enable**.

Select **ALL EVENTS** in the postback config for us to receive the unattributed postback data along with the attributed data. Unattributed data is useful in model training once we start the campaign.

![](/files/dwjjPqKgLf5g8aICwD7E)

For a more detailed guide on postback configuration, refer to: [Basic](https://help.branch.io/using-branch/docs/basic-postback-configuration) | [Advanced](https://help.branch.io/using-branch/docs/advanced-postback-configuration).

Branch also recommends postback testing to ensure the accuracy of postbacks and credentials.

### Step 3: Attribution Window settings <a href="#id-6l18e7ycm0lo" id="id-6l18e7ycm0lo"></a>

1. Go to Attribution Window tab
2. Enable the **Use ad partner attribution settings** toggle.
3. Click Save

![](/files/0FvQYaSAvZCMlw21qiIg)

### Step 4: Generate RZR Link <a href="#qq1vg55y5fgl" id="qq1vg55y5fgl"></a>

Once the above steps are done, generate the RZR link. A few parameters are already defined by default and included in the link generated.

![](/files/BFJyiYznfoUkio3Mfwsf)

***

This document outlines the complete setup details required to configure your Branch account. Please review each section carefully and follow the outlined steps to ensure accurate tracking, attribution, and reporting.

If you need any help with the configuration document, feel free to reach out to your **RZR Account Manager/Account Coordinator** for assistance.


# Kochava Integration

#### Step 1: Integrate RZR as a Media Partner

1. Log in to your **Kochava** account.
2. Select the relevant **Account** and **App**.
   * If the app has not been created yet, please follow [this link](https://console.support.kochava.com/articles/create-manage-apps/195-create-edit-apps) to set it up.
3. Navigate to **Apps & Assets** → **Partner Configuration**.
4. Click **➕ Add a Configuration**.
5. Under **Media Partner**, select **RZR**.
6. Click **Save** to complete the integration.

<div align="left"><figure><img src="/files/KUOMrNsSkSxX7zqxwxMy" alt=""><figcaption></figcaption></figure></div>

#### Step 2: Configure Postbacks

1. **Install Event Postback:**\
   Navigate to **Install** → **Postback Tools** → click **Edit**\
   *(Refer to section A in the screenshot below)*
2. **Post-Install Active Events:**\
   Locate the desired event and click **Edit Postback**\
   *(Refer to section B in the screenshot below)*
3. **App Identifier:**\
   Enter the **Package Name** for Android or the **Bundle ID** for iOS.<br>

   <div align="left" data-full-width="true"><figure><img src="/files/oVUio2zXx4pO73k31TwO" alt=""><figcaption></figcaption></figure></div>
4. **Delivery Delay:**\
   Select **Realtime Delivery**
5. **Retry Attempts:**\
   Set to **3 attempts**
6. **Delivery Method:**\
   Choose **Select All**
7. **Save Settings:**\
   Click **Save** to finalize the postback configuration.

<div align="left"><figure><img src="/files/uCuqP2uK5KPnp6euxdpZ" alt=""><figcaption></figcaption></figure></div>

#### Step 3: Tracker Setup

1. Log in to your **Kochava** account.
2. Select the relevant **Account** and **App**.
3. Navigate to **Engagement** → **Campaign Manager**.

   <div align="left"><figure><img src="/files/eVLOrQuBICNaHKyBEWET" alt=""><figcaption></figcaption></figure></div>
4. Click **➕ Add** under **Campaigns** to create a new campaign.

   <div align="left"><figure><img src="/files/Wfkqg9qP6hl0nxIXxoV7" alt=""><figcaption></figcaption></figure></div>

   <br>

   <div align="left"><figure><img src="/files/oPks8OCzpSNId4PWBWnK" alt=""><figcaption></figcaption></figure></div>
5. **Enter a Campaign Name**
6. **Enter the** [**Default Destination URL**](https://console.support.kochava.com/glossary/destination-url/)
7. Click **Add** to save the campaign

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdrRkJb18xUX5W_lplHPGfVyXDDaJXBjNxZMq8_Avy3Vha9Ljad_Zn2gQnT1JMGKLdg5HRNfyPbJtstsjTGAs5xVbtaHL52trAQsiF_HS9GuXyQDnRLE9DI8vy0pvoUCEkjxXKqyw?key=_rJ7M_yDnacs_57bGhduPQ" alt=""><figcaption></figcaption></figure>

**Creating a Segment**

1. Select the desired **Campaign**.
2. Click **➕ Add** under **Segment**.
3. Enter a **Segment Name**.
4. Enter a **Segment Description**.<br>

   <div align="left"><figure><img src="/files/WXQThwNeU4Cu2KeapeBd" alt=""><figcaption></figcaption></figure></div>
5. Click **Add** to save the segment

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeot8QsIl4hffMBs1mWpdH6EltcuNv8Bgjhm8zl_R3qOMqDIckAHM0uuHEX67BWXXkeOuPpg5YQLDkFlq7OG3ZLfB8BmjGDvbT1T2Z7TwTRrmaNhWenaJTiBue8UBI-jCChK0az?key=_rJ7M_yDnacs_57bGhduPQ" alt=""><figcaption></figcaption></figure>

**Creating a Tracker**

1. Select the desired **Segment**.

2. Click **Segment Tools** (⋮) → **➕ Add a Tracker**\
   *or* click **➕ Add** under **Tracker**.

3. Enter a **Tracker Name**.

4. **Select Tracker Type:**
   * For acquisition campaigns, choose **Acquisition** (default selection)
   * For re-engagement campaigns, choose **Reengagement**

5. **Select Media Partner:** Choose **RZR**<br>

   <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeGd_MxCbE1AatVSPP45DYcjjZ5YtMfSX7eIutGK2T_o4P91DMLg8QBSPy9BI8vOOSJOg7uvUMCvDWgN4bEgFAm8GxhhvdxL4BqchEndYn3GAQ3N-rRG3gOQ4E6SLrwy9HMBFdOJA?key=_rJ7M_yDnacs_57bGhduPQ" alt=""><figcaption></figcaption></figure>

   <div align="left"><figure><img src="/files/6RUbPYIxDcGc6lTiFdtC" alt=""><figcaption></figcaption></figure></div>

   \ <mark style="color:red;">**Note:**</mark> Be sure to enable **Share with Publisher** as shown in the screenshot below **(marked as A)**.<br>

   <div align="left"><figure><img src="/files/Or4wWH5tK24csvw3Qrnl" alt=""><figcaption></figcaption></figure></div>

6. **Select an Agency Partner** (optional)\
   Choose from the list if applicable.

7. **Select Destination URL Type:**
   * **Custom**
   * **Google Referrer** (Android only)
   * **Landing Page**

8. **Add a Custom Parameter** (optional)

9. Click **Add a Parameter**

10. **Enter the Custom Parameter**\
    Refer to the example shown in the screenshot below (marked as **A**) for correct formatting.

    <div align="left"><figure><img src="/files/r0hfNAJBukAIzujFEKJW" alt=""><figcaption></figcaption></figure></div>

11. **Add Additional Custom Parameters** (optional)\
    Repeat the previous step to include more parameters as needed.

12. **Save Settings**\
    Click **Save** to complete the tracker setup.

#### Step 4: Audiences

1. Log in to your **Kochava** account.
2. Select the relevant **Account**.
3. Navigate to **Audiences** → **Activations**.

<div align="left"><figure><img src="/files/g4VlhVhi2z1DKv5tg4ga" alt=""><figcaption></figcaption></figure></div>

**Activating Audiences**

1. Click **Activate**, or locate the desired Audience and click **Audience Tools** (⋮) → **Activate**
2. **Select the Audience** you wish to activate
3. Choose the appropriate **Timezone**
4. Set the **Frequency**:
   * **One-Time**
   * **Scheduled / Recurring**
5. Select a **Date Range**:
   * **Today**
   * **Yesterday**
   * **Week-to-Date**
   * **Last Week**
   * **Last 7 Days**
   * **Month-to-Date**
   * **Last Month**
   * **Last 30 Days**
   * **Custom Range**
6. Enter the **Recipient(s)** email address(es)
7. Select the **Activation Partner**
8. Enter the **Activation Partner Credentials**

> 💡 **Cost Integration Tip:**\
> For integrating cost data, refer to Kochava’s [Cost API documentation](https://console.support.kochava.com/articles/analytics-reports-api/36083-cost-api/)

***

This document outlines the complete setup details required for configuring your Kochava account. Please review each section carefully and follow the outlined steps to ensure accurate tracking, attribution, and reporting.

If you need any help with the configuration document, feel free to reach out to your **RZR Account Manager/Account co-ordinator** for assistance.


# Singular Integration

### Step 1: Integrate RZR as a partner <a href="#z4k52cfef7gk" id="z4k52cfef7gk"></a>

To add **RZR** as a partner in your **Singular dashboard**, follow these steps:

1. Go to your **Singular** dashboard.
2. Click **ATTRIBUTION** > **Partner Configuration**.
3. Select **Add a Partner**.<br>

   <figure><img src="/files/ALCjF8pCP4GjJRdn19tk" alt=""><figcaption></figcaption></figure>
4. Choose **RZR** from the list.

### Step 2: Setting up an App/site <a href="#podzx02zsbb2" id="podzx02zsbb2"></a>

To add the **app and site (app version)** for your campaign, follow these steps:

1. On the **Partner Configuration** page, click **+Add App Site**.
2. In the **App** drop-down, select the **app** you want to run the campaign for.
3. In the **Site** drop-down, select the **latest version** of the app.

![](/files/cpu3zERnmxG0ydNyJ411)

4. Mark the **Include View-Through Attributions** box if it is not already selected. This option enables the attribution of impressions.
5. Mark the **Enable Fraud Postbacks** box if it is not selected by default.
6. Mark the **Send Postbacks to RZR on All Installs** box. This option helps optimize RZR's machine-learning models for precise targeting by sharing unattributed data.
7. Keep the **Click-Through Attribution Lookback Window** at the default value (**7 days**). This is an industry-standard value, and changing it may result in inaccurate reporting.

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

For re-engagement, please ensure the re-engagement inactivity window is defined the default value is of 7 days.&#x20;

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

8. In the **Send In-App Events to RZR** drop-down, select **On**. This option enables the attribution of all events that occur throughout the campaign.

### Step 3: Configure Postbacks <a href="#id-3tyomuk0j4lc" id="id-3tyomuk0j4lc"></a>

1. For In-App Postback Events, select the **starting point** and set up the **postback window duration.**
2. If the client sets the conversion flag to 0 during the in-app postback event setup, both RZR-attributed (install claim) and non-attributed events can be included in the postbacks for that specific event.

<mark style="color:red;">**Note:**</mark>

* &#x20;Setting **Conversion Flag = 1** indicates that only RZR attributed Postbacks will be sent.
* To receive **all events (including non-attributed ones)**, the **“Send All”** option needs to be enabled. In that case, even events with **Conversion Flag = 0** would be sent via postbacks when “Send All” is enabled.

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

<mark style="color:red;">**Note:**</mark> To avoid discrepancies in ad revenue data, please ensure that the **{RAW\_AMOUNT}** macro is passed in the **purchase\_revenue parameter** of the postback URL, instead of **{AMOUNT}**. This helps prevent values less than 0 from being rounded off to 0, which can lead to inaccurate reporting.

To validate this, the client can navigate to the In-App Event Postbacks section and select the highlighted option (as shown in the screenshot) to view the configured postback URL.

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

### Step 4: Cost Integration <a href="#qzb677be73li" id="qzb677be73li"></a>

For RZR, we have a data connection with Singular, which enables us to share cost data using an S3 bucket.

For more details on the fields shared, please refer to the link below:\
[Singular RZR Data Connector](https://support.singular.net/hc/en-us/articles/360041181092-Aarki-Data-Connector)

<mark style="color:red;">**Note**</mark><mark style="color:red;">:</mark> If cost data is missing, please be aware that Singular retrieves data daily for the last seven days. If the issue date falls within this seven-day timeframe, the data issue should be resolved automatically.

### Step 5: Audience Integration <a href="#xctciy6zaga0" id="xctciy6zaga0"></a>

1. Navigate to **Audiences** > **Distributions**: This section lists all available audience partners for distribution.
2. Click on the Desired Ad Network: Select the ad network (e.g., RZR) where you want to distribute your audience segment.
3. Enter the **Provided Token**: In the Network Configuration dialog that appears, input the token in the designated field.
4. Configure Segment Settings: Under the Segment Configuration section, you'll see a list of your audience segments.
5. Enable the Segment: Toggle the switch to enable the segment you wish to distribute.
6. Save the Configuration: After configuring the necessary settings, click Save to finalize the distribution setup

***

Conversion flag difference b/w 0 and 1 and send all : Ensure for each event the conversion flag is set to 0 and not 1.

Define the process to add the s3 bucket folder on singular UI

Once your partner is ready to deliver reports via s3, you will need to setup a Data Connector in Singular to enable data processing.

* Go to Settings > Data Connectors in your Singular account.
* Click Add a New Data Connector and enter the partner's name.

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

* In the New Connector window, fill in the Folder Name--this should match the folder your partner created within the s3 bucket to deliver your reports. (Ask RZR account manager   to provide the folder name)
* Click Save.

***

This document outlines the complete setup details required to configure your Singular account. Please review each section carefully and follow the outlined steps to ensure accurate tracking, attribution, and reporting.

If you need any help with the configuration document, feel free to reach out to your **RZR Account Manager/Account Coordinator** for assistance.


# CTV Integration Guide

This guide covers how to configure CTV attribution and spend reporting across supported MMP platforms, so every impression is tracked and every install is attributed correctly.

We've included step-by-step instructions, recommended settings, and sample tracking links for each platform.

#### 🔧 **What's Inside:**

* Enabling view-through and cross-platform attribution
* Generating CTV tracking links
* Configuring spend reporting

#### **Get Started:**

Choose your MMP below to begin setup:

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Adjust Integration</td><td><a href="/pages/DBImCelAOQDTSiDDWj04">/pages/DBImCelAOQDTSiDDWj04</a></td></tr><tr><td>AppsFlyer Integration</td><td><a href="/pages/D5hJ4LOQnONFSZ0f8HDZ">/pages/D5hJ4LOQnONFSZ0f8HDZ</a></td></tr><tr><td>Kochava Integration</td><td><a href="/pages/c0gRMacqBlM6GceqW3A2">/pages/c0gRMacqBlM6GceqW3A2</a></td></tr><tr><td>Singular Integration</td><td><a href="/pages/r2657vwPPS2cZ0MHFbuV">/pages/r2657vwPPS2cZ0MHFbuV</a></td></tr></tbody></table>


# Adjust Integration

Measure CTV-to-mobile campaigns with a managed service

Adjust is an approved vendor for many different managed service providers operating in CTV advertising. This means that representatives from the provider handle the implementation of your creatives and Adjust links in the service platform.

Here you can learn how to measure campaigns run by a managed service, by creating a cross-device Adjust link and submitting it to the network.

1. &#x20;Create a cross-device link in Adjust via this [link](https://help.adjust.com/en/article/measure-connected-tv-mobile-campaigns#create-a-cross-device-link).

<img src="/files/GaeBAqxS2nC7APsPQrfA" alt="" height="280" width="257">

2. Select Campaign Lab > +New Partner.

To create an Adjust connected TV link, follow these steps.

1. Select Campaign Lab.
2. Select + New Partner.
3. Select a network from the list.

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

4. Choose the app you want to create the link for.
5. Under <mark style="color:$primary;">`Set your link use case`</mark>, select Cross-device link.
6. Enter a name for your link.
7. Update the link's campaign structure parameters.

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

8. Customize the attribution window for your cross-device link. Review your link settings and select **Create** link.

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

Here's an example cross-device impression link you might see:

<mark style="color:$primary;">`https://view.adjust.com/impression/yfvxy6?campaign={CAMPAIGN_NAME}%20 ({CAMPAIGN_ID})&adgroup={APP_ID}&creative={AD_NAME}&country={CC}&adgr oup_id={PLACEMENT_ID}&ip_address={DEVICE_IP}&campaign_id={CAMPAIGN_ID}&device_type={DEVICE_TYPE}&publisher_id={APP_ID}&tracker_limit=10000 0&applovin_click_id={DID}&applovin_event_id={EVENT_ID}&external_track er_ids=1&android_id_lower_sha1={HADID}`</mark>

9. Click on **Edit** to configure the window. Once completed, click on **Done** and save the settings.

<mark style="color:red;">**Note:**</mark> This is a mandatory step to ensure attribution works correctly for CTV. The client will need to reach out to their Adjust Account Manager or POC to increase or set an equal attribution priority for CTV, as CTV probabilistic attribution is currently set to the lowest priority in Adjust’s attribution. See this [link](https://help.adjust.com/en/article/connected-tv-ad-to-mobile-measurement#ctv-impressions-in-the-attribution-waterfall) for more information.

***

This guide covers everything you need to configure CTV attribution and spend reporting in Adjust — including cross-device link setup, attribution window settings, and campaign parameters.

If you need help with setup, reach out to your **RZR Account Manager** or **Account Coordinator**.


# AppsFlyer Integration

#### Step 1: Select RZR as a partner

1. Go to Collaborate > Active Integrations (side menu)
2. Select RZR from the integrated partners list

<figure><img src="/files/93HOw9PCYWMQRyJaL7v6" alt=""><figcaption></figcaption></figure>

#### Step 2: Enable View-Through Attribution

Once you click RZR , you will land on this Integration page

1. Toggle Install View-Through Attribution ON (This does not change all VTA settings, only per link). The VTA window for tracking links can be set later in the attribution link section

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

2. Toggle Cross-Platform Equal Attribution ON.Set the Equal Attribution Priority Lookback Window (Recommended: 6 hours)

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

3. iOS Advanced Privacy setting: on iOS, you'll need to disable it for RZR to receive the attributions

#### Step 3: Check OneLink Template for CTV

Navigate to Engage > OneLink Management

1. Create a new OneLink template under the app
2. Ensure both Android and iOS bundles are included
3. Verify Cross-Platform Attribution is enabled

#### Step 4: Generate CTV Tracking Link

Go to Active Integrations > RZR > Attribution Link

1. Select the CTV Onelink Template you just created

<img src="/files/0Gjel7dESpoWPXAsY6JW" alt="" height="452" width="621">

2. Scroll to Retargeting Settings and adjust VTA settings since CTV has no CTA
3. Toggle Cross-Platform Attribution ON

<img src="/files/BsCAAitucFKunaWNnfTB" alt="" height="161" width="625">

4. Choose the 72-hour VTA window (Recommended by AppsFlyer). This adds the <mark style="color:$primary;">`af_xplatform_vt_lookback`</mark> parameter to the impression attribution link and indicates the number of hours (up to 72) following the impression during which the app install can be attributed to the impression.
5. Copy the CTV Tracking Link and share it with RZR.

#### **Sample URL**

<mark style="color:$primary;">`https://impressions.onelink.me/xxxx?pid=aarki_int&af_xplatform=true&af_xplatform_vt_ lookback=2h&af_siteid={{SITE_ID}}_{{INVENTORY_SOURCE}}&c={{CAMPAIGN_ID}}&af_c_id={{CAMPAIGN_ID}}&af_adset={{LINE_ITEM_ID}}&af_ad_id={{CREATIVE_ID}}&af_ad={{ CREATIVE_ID}}&af_channel={{EXCHANGE_HANDLE}}&af_viewthrough_lookback=2h&im pid=BW_{{AUCTION_ID}}&clickid=BW_{{AUCTION_ID}}&advertising_id={{USER_ID}}&af_ media_type=TV&af_model={{DEVICE_MODEL}}&af_ip={{IP_ADDRESS_ESC}}&af_ua={{US ER_AGENT_ESC}}&af_os_version={{PLATFORM_OS_VERSION}}`</mark>&#x20;

***

### AppsFlyer – Spend Reporting

Status: Working with manual cost uploads

AppsFlyer attribution for CTV is already enabled and installs are being attributed correctly.

#### **Prerequisites from Client/CSM**

Clients must enable manual cost upload permissions for RZR at the app level in AppsFlyer.

Once enabled:

* RZR Ops/Analysts will upload daily cost files
* Spend will appear in AppsFlyer reports.&#x20;

<mark style="color:red;">**Note:**</mark> Because CTV impressions are cross-platform, installs may occur on Android or iOS.&#x20;

Cost will therefore be split across both platforms when uploaded.

1. CTV campaigns appear in the regular AppsFlyer dashboards, the same as other attribution campaigns. There is no separate or dedicated dashboard specifically for CTV attribution.
2. Spend uploaded via cost import will automatically be reflected alongside the installs, provided the cost upload is completed successfully and the data is mapped correctly to the relevant media source, campaign, and app.
3. To view the CTV campaigns, clients to go to Marketing Overview in the AppsFlyer dashboard and apply the following filters:
   * **Media Source: aarki\_int**
   * Campaign: the relevant CTV campaign name
   * <mark style="color:red;">**Note:**</mark> With these filters applied, they should be able to see the installs and related performance metrics, if attribution has occurred.
4. No additional advertiser-side settings are required for CTV attribution data to appear in the AppsFlyer dashboard once the attribution setup is correctly configured.

***

This guide covers everything you need to configure CTV attribution and spend reporting in AppsFlyer — including view-through attribution setup, OneLink template configuration, tracking link generation, and manual cost uploads.

If you need help with setup, reach out to your **RZR Account Manager** or **Account Coordinator**.


# Singular Integration

#### Key Steps to Set Up CTV in Singular

1. Configure the Partner: In the Singular platform, navigate to Attribution > Partner Configuration and select RZR.
2. Configure Attribution Windows: Under **Connected TV settings** set the view-through window for probabilistic matching. The recommended default is 24 hours
3. Set Up Postbacks: Ensure [View-Through Postbacks](https://www.google.com/search?client=safari\&rls=en\&q=View-Through%2BPostbacks\&ie=UTF-8\&oe=UTF-8\&ved=2ahUKEwis6KL0su-SAxUOfGwGHZ1SCZIQgK4QegQIAxAI) are enabled for RZR to receive data on installs and other postback events

<img src="/files/nYG1AbVYLOKRD05JtkFo" alt="" height="415" width="624">

4. Create Tracking Link:
   1. Go to Create Link and choose the **Partner** type.
   2. Name the link for your CTV campaign.
   3. Enable the [Enable connected TV measurement](https://www.google.com/search?client=safari\&rls=en\&q=Enable%2Bconnected%2BTV%2Bmeasurement\&ie=UTF-8\&oe=UTF-8\&ved=2ahUKEwis6KL0su-SAxUOfGwGHZ1SCZIQgK4QegQIAxAF) toggle.

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

#### **Sample URL**

[<mark style="color:$primary;">`https://i.sng.link/Ettkb/gkla5?_smtype=3&idfa={{USER_ID}}&aifa={{USER_ID}}&s={{APP_BUNDLE}}&cl=BW_{{AUCTION_ID}}&aarki_imp_id=BW_{{AUCTION_ID}}&psid={{PUBLISHER_ID}}&pcrn={PUBLISHER_CREATIVE_NAME}&psn={{PUBLISHER_ID}}&pcrid={{CREATIVE_ID}}&pcn={{CAMPAIGN_ID}}&pcid={{CAMPAIGN_ID}}&ip={{IP_ADDRESS_ESC}}&pub={{PUBLISHER_ID}}&ua={{USER_AGENT_ESC}}&p=ctv&ve={{PLATFORM_OS_VERSION}}`</mark>](https://i.sng.link/Ettkb/gkla5?_smtype=3\&idfa={{USER_ID}}\&aifa={{USER_ID}}\&s={{APP_BUNDLE}}\&cl=BW_{{AUCTION_ID}}\&aarki_imp_id=BW_{{AUCTION_ID}}\&psid={{PUBLISHER_ID}}\&pcrn={PUBLISHER_CREATIVE_NAME}\&psn={{PUBLISHER_ID}}\&pcrid={{CREATIVE_ID}}\&pcn={{CAMPAIGN_ID}}\&pcid={{CAMPAIGN_ID}}\&ip={{IP_ADDRESS_ESC}}\&pub={{PUBLISHER_ID}}\&ua={{USER_AGENT_ESC}}\&p=ctv\&ve={{PLATFORM_OS_VERSION}})

***

### Singular – Spend Reporting

Status: **Live**

Clients can view **CTV spend in their Singular dashboard**

#### **Prerequisites from Client / CSM**

1. **App Name Confirmation**
   * If Singular is used only for cost reporting, please share a screenshot of the app name from Singular.
2. **Connection Setup**
   * Client must configure a Singular S3 connection using the folder name shared by RZR.
   * Steps:
     * Raise request internally to get folder name
     * Share folder name with client
     * Client connects Singular to the folder

Once the connection is set up, **spend will automatically appear in Singular**.

***

This guide covers everything you need to configure CTV attribution and spend reporting in Singular — including partner configuration, attribution window settings, tracking link generation, and S3 connection setup for cost reporting.

If you need help with setup, reach out to your **RZR Account Manager** or **Account Coordinator**.


# Kochava Integration

#### Step 1: Integrate RZR as a Partner & Configure Postbacks

* Log in to Kochava and select your Account and App.
* Navigate to **Apps & Assets** > **Partner Configuration** and click **+Add a Configuration**.
* Select Media Partner: **RZR** and click **Go/Save**.

![](/files/HPpnmi9B1GblfOBggXrU)

### Step 2: Configure Postbacks

* For an Install Event Postback, Click Install > Postback Tools > (Edit) A mentioned in the screenshot below.
* For Post-Install Active Events, locate the desired event and Click Edit Postback B mentioned in the screenshot below.

<figure><img src="/files/13NxQZSBeL3b3SvSChw9" alt=""><figcaption></figcaption></figure>

* Select a Delivery Delay - Realtime Delivery
* Select Retry Attempts - 3 attempts
* Select the Delivery Method - Select All
* Save the settings

<figure><img src="/files/56znJWjeXjGa6xwWrYsn" alt="" width="298"><figcaption></figcaption></figure>

#### Step 3: Reconciliation Settings (Cross-Device Optimization)

* Click on **Reconciliation settings** for RZR

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

* **Impression Reconciliation:** Set the lookback window to 24h \
  *(Recommended for CTV to capture the delayed multi-screen lift*).
* **IP & Partial IP Lookback:** Ensure these are enabled and aligned to capture household-level matches, as CTV relies heavily on IP matching to link the TV screen to the mobile device. (Recommended - 24h)
  * [<mark style="color:$primary;">Kochava support guide on partner reconciliation</mark>](https://support.kochava.com/articles/campaign-management/15961-partner-reconciliation-settings/)
* **Device Attribution Behavior:** Set to **Inclusive** to attempt probabilistic matching on all touches

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

#### Step 4: Generate Campaign Trackers

* Navigate to **Links** > **Campaign Manager**
* Click **Add a Campaign**, name it, and add a Segment
* Click **Add a Tracker**. Ensure the Media Partner is set explicitly to **RZR**
* Flow through to the targeting screen and copy the final **Click URL** and **Impression URL** to hand over to the RZR team

#### Step 5: Platform-Specific Considerations (iOS & Cross-Screen)

* **iOS campaigns:** Modify privacy profiles to allow probabilistic matching on ATT opt-out users.
* Append <mark style="color:$primary;">`ad_platform=m_web`</mark> to the tracking URLs for proper cross-screen segmentation.

***

This guide covers everything you need to set up CTV attribution in Kochava for RZR — including partner configuration, postback settings, reconciliation windows, tracker generation, and iOS/cross-screen considerations.

If you need help with setup, reach out to your **RZR Account Manager** or **Account Coordinator**.


# Reporting API Integration

Accessing Programmatic Performance Data via RZR API

**Request Requirements**

1. All requests must include a valid TOKEN.
2. Reporting API requests rate is limited.

* Number of requests is limited to 1 request per minute per IP address. Any attempts exceeding the limit will result in failed response 429 error message – Too many requests.

3. Maximum number of days per request is 3 days.

***

### Query Parameters

Default queries will include date, app name, cost, impression, clicks and installs and will return the last day of data for UTC.

<table><thead><tr><th width="226.2421875">Parameter</th><th>Description / Additional information or examples</th></tr></thead><tbody><tr><td><mark style="color:$primary;"><code>token</code></mark></td><td><ul><li>Account token – Generated by RZR Team</li><li><strong>REQUIRED</strong></li></ul></td></tr><tr><td><mark style="color:$primary;"><code>timezone</code></mark></td><td><ul><li>Report timezone.</li><li>Default timezone is UTC.</li><li>IANA format is available for full hour time zones.</li><li><p><strong>Other timezone examples:</strong></p><ul><li>Asia/Tokyo</li><li>Europe/Moscow</li><li>Europe/Berlin</li><li>US/Pacific</li></ul></li></ul></td></tr><tr><td><mark style="color:$primary;"><code>store_identifier</code></mark></td><td><ul><li>If included, a report will be generated for the specific app only.</li><li><p>By default, all apps for account are included in returned performance reports.</p><p><mark style="color:$primary;"><code>store_identifier=id123456</code></mark></p><p>or</p><p><mark style="color:$primary;"><code>store_identifier=com.yourApp</code></mark></p><p><br></p></li></ul></td></tr></tbody></table>

Parameter formats: **YYYY-MM-DD**

* **Report start and end dates:** <mark style="color:$primary;">`start_date, end_date`</mark>
* Can replace <mark style="color:$primary;">`start_date`</mark> and <mark style="color:$primary;">`end_date`</mark> with last\_days. Where N is the number of previous days to include. (Max 3 days)

<mark style="color:$primary;">`start_date=2020-01-01&end_date=2020-01-03`</mark>   or   <mark style="color:$primary;">`last_days=3`</mark>&#x20;

### Optional Parameters

All optional grouping parameters have possible values of <mark style="color:$primary;">`y`</mark> or <mark style="color:$primary;">`n`</mark>. For example: <mark style="color:$primary;">`by_campaign=y`</mark>

<table><thead><tr><th width="226.2421875">Parameter</th><th>Description / Additional information or examples</th></tr></thead><tbody><tr><td><mark style="color:$primary;"><code>by_campaign</code></mark></td><td><ul><li>Adds campaign_name column and SKAN campaign ID.</li></ul></td></tr><tr><td><mark style="color:$primary;"><code>by_campaign_tag</code></mark></td><td><ul><li>Adds campaign_tag column.</li><li>Can only be used with <mark style="color:$primary;"><code>by_campaign=y</code></mark> parameter.</li></ul></td></tr><tr><td><mark style="color:$primary;"><code>by_country</code></mark></td><td><ul><li>Adds country column. 3 letter country code.</li></ul></td></tr><tr><td><mark style="color:$primary;"><code>by_store_identifier</code></mark></td><td><ul><li>Adds store identifier column. Store id of your application.</li></ul></td></tr><tr><td><mark style="color:$primary;"><code>by_platform</code></mark></td><td><ul><li>Adds platform column. iOS or Android.</li></ul></td></tr><tr><td><mark style="color:$primary;"><code>by_creative</code></mark></td><td><ul><li>Adds creative_name and creative_tag.</li></ul></td></tr><tr><td><mark style="color:$primary;"><code>by_size</code></mark></td><td><ul><li>Adds creative_size.</li></ul></td></tr><tr><td><mark style="color:$primary;"><code>by_skan</code></mark></td><td><ul><li>Adds skan_install column (Will return 0 for non SKAN).</li><li><p>Following fields NOT supported by by_skan:</p><ul><li><mark style="color:$primary;"><code>by_creative</code></mark></li><li><mark style="color:$primary;"><code>by_size</code></mark></li></ul></li></ul></td></tr></tbody></table>

### Validation & Error Messages

Supported validation and messages:

* **Missing token** – Provide token
* **Invalid token** – Provide valid token
* **Invalid timezone** – Incorrect time zone string. Examples: UTC, US/Pacific
* **Invalid store identifier** – Provide valid store identifier
* **Invalid grouping params** – Invalid option OPTION\_NAME
* **Last\_days greater than 3** – last\_days parameter is larger than 3. Maximum report duration is 3 days
* **Start\_date after end\_date** – Incorrect date range values. start\_date cannot be after end\_date
* **End\_date - start\_date is greater than 3** – Incorrect date range values. Max report duration is 3 days
* **All other invalid last\_days or start/end\_date params** – Incorrect date range values. All dates must be in YYYY-MM-DD format or last\_days parameter must be an integer greater than 0 and less than 4
* **Memory exceeds** – Memory exceed. Please use shorter date range

**REQUEST SAMPLE**

* **JSON**

<https://encore.aarki.com/dsp/api/v2/account_summary.json?token=YOURTOKEN&last_days=1&by_campaign=y&by_app_store_id=y&by_country=y&by_platform=y>

* **CSV**

<https://encore.aarki.com/dsp/api/v2/account_summary.csv?token=YOURTOKEN&last_days=1&by_campaign=y&by_app_store_id=y&by_country=y&by_platform=y>

***

This guide covers everything you need to pull programmatic performance data from RZR via API — including required and optional parameters, date range formatting, grouping options, and validation error messages.

If you need help with setup, reach out to your **RZR Account Manager** or **Account Coordinator** for assistance.


# Audience Sharing Setup

This guide covers both methods for sending audience data to RZR, so your campaigns are always targeting the right users. Whether you're using our current S3 Bucket method or integrating directly via API, you'll find everything you need to get set up quickly.

We've included step-by-step instructions, required parameters, and code examples for each option.

#### **🔧 What's Inside:**

* Uploading audience files via S3 Bucket
* Sending audiences directly through the RZR Audience API
* Endpoint details, request parameters, and validation

#### **Get Started:**

Choose your setup method below:

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Audience API Setup</td><td><a href="/pages/HmJkBs9SsJKft3nfJhD6">/pages/HmJkBs9SsJKft3nfJhD6</a></td></tr><tr><td>S3 Bucket Setup</td><td><a href="/pages/zNwPz54GWbBTsHAAoLlJ">/pages/zNwPz54GWbBTsHAAoLlJ</a></td></tr><tr><td>Hashed Audience Solution</td><td><a href="/pages/r1T3U0brZ9PNvvuUUDPG">/pages/r1T3U0brZ9PNvvuUUDPG</a></td></tr></tbody></table>


# Audience API Setup

### Contents <a href="#fh31xmrmdm6r" id="fh31xmrmdm6r"></a>

* [Endpoint](#fh31xmrmdm6r-1)
* [Audience Subscription Request](#audience-subscription-request)
* [Audience Membership Change Request](#audience-membership-change-request)
* [API Limits](#api-limits)
* [Validation Endpoints](#validation-endpoints)
* [Account Validation](#account-validation)
* [Audience Validation](#audience-validation)

***

### Endpoint <a href="#fh31xmrmdm6r" id="fh31xmrmdm6r"></a>

All audience building requests are processed by endpoints with domain:

<http://audiences.aarki.net/>

The endpoints accept a JSON object passed in the request body, encoded in application/json.

**The following types of requests are supported:**

* Audience Subscription Request
* Audience Membership Change Request

The endpoints also support the https protocol, with a response time overhead.

***

### Audience Subscription Request

**`POST /audience`**

Audience Subscription Request is used to notify creation of a new audience, removal of an audience, or an update to an audience. Complete audience removal can take some time as all connected campaigns have to be disabled.

**Request JSON Object**

<mark style="color:red;">`id`</mark> (string) -- A unique id for the request. Typically a UUID

<mark style="color:red;">`timestamp_ms`</mark> (integer) -- Unix time in milliseconds

<mark style="color:red;">`api_key`</mark> (string) -- Account-specific API key

<mark style="color:red;">`audience_id`</mark> (integer) -- Unique identifier for the audience

<mark style="color:red;">`audience_name`</mark> (string) -- Name for the audience

<mark style="color:red;">`action`</mark> (string) -- One of the values in (add, update, remove)

<mark style="color:red;">`audience_description`</mark> (string) -- *(Optional)* Description of the audience

Example Request

```
{
  "id": "d129cb4e-1023-477f-b4db-b603281ec436",
  "timestamp_ms": 1495690639334,
  "api_key": "APIKEY123",
  "audience_id": 6789,
  "audience_name": "Example Audience",
  "action": "add"
}
```

**Response JSON Object**

<mark style="color:red;">`status`</mark> (string) -- Fixed to "ok" for successful responses

<mark style="color:red;">`id`</mark> (string) -- A unique id for the response

<mark style="color:red;">`timestamp_ms`</mark> (integer) -- Unix time in milliseconds

***

### Audience Membership Change Request

**`POST /membership`**

Audience Membership Change Request is used to notify addition or removal of device identifiers to or from an audience, or for sharing additional user information.

**Request JSON Object**

<mark style="color:red;">`id`</mark> (string) -- A unique id for the request. Typically a UUID

<mark style="color:red;">`timestamp_ms`</mark> (integer) -- Unix time in milliseconds

<mark style="color:red;">`api_key`</mark> (string) -- Account-specific API key

<mark style="color:red;">`audience_id`</mark> (integer) -- Unique identifier for the audience to update

<mark style="color:red;">`action`</mark> (string) -- *(Optional)* One of the values in (add, remove). Defaults to add.

<mark style="color:red;">`identities`</mark> (jsonobject) -- *(Optional)* A dictionary having identifier type as keys, and lists of identifiers as values. All identifier lists should have the same length. Values in each identifier list can either be singular values, or lists of singular values. Device identities can be sent in one of gaid or idfa identifier fields. Customer ids, player ids, and similar identifiers can also be sent through identities field. Empty strings will be treated as null values.

<mark style="color:red;">`properties`</mark> (jsonobject) -- *(Optional)* A dictionary with property names as keys, and lists of property values as values. All property lists should have the same length, and be in the same order as each of identities lists. Values in each property list can either be singular values, or lists of singular values. Observed user ips, device models, operating system versions, and device languages can be sent as properties. Empty strings will be treated as null values.

<mark style="color:red;">`attributes`</mark> (jsonobject) -- *(Optional)* A dictionary having attribute names as keys, and lists of attribute values in the same order as each of identities lists as values. Strings are preferred for decimals. Empty strings for attributes with upsert and append attribute actions will be treated as null values.

<mark style="color:red;">`attribute_actions`</mark> (jsonobject) -- *(Optional)* A dictionary mapping attribute names to action, which can have the following values: upsert (Default), append, extend (append all elements in a list), delete.

**Response JSON Object**

<mark style="color:red;">`status`</mark> (string) -- Fixed to "ok" for successful responses

<mark style="color:red;">`id`</mark> (string) -- A unique id for the response

<mark style="color:red;">`timestamp_ms`</mark> (integer) -- Unix time in milliseconds

Example Request:

Please note that all identities, properties, and attributes have lists of the same length as values, as each index of these lists corresponds to one user.

```
{
  "id": "ed60e202-bc70-41f2-bda1-dfbc2d4402d7",
  "timestamp_ms": 1495690897322,
  "api_key": "APIKEY123",
  "audience_id": 6789,
  "action": "add",
  "identities": {
    "customer_id": ["cid_1", "cid_2", "cid_3"],
    "player_id": ["pid_1", "", ""],
    "idfa": [
      ["00000000-1111-2222-3333-444444444444", "11111111-1111-2222-3333-444444444444"],
      ["22222222-1111-2222-3333-444444444444"],
      []
    ]
  },
  "properties": {
    "user_ip": [["1.2.3.4", "1.2.3.5"], [], ["2001:db8:85a3::"]],
    "device_os_version": ["13.1", "13.3.1", "14.1"],
    "device_model": ["iPhone 5s", "iPhone 6", "iPhone XS"],
    "device_language": ["", "en-US", "en"]
  },
  "attributes": {
    "favourite_character": ["x", "x", "z"],
    "new_achievements": [["l1", "l2"], [], ["l5"]],
    "daily_progress": [12, 20, 6],
    "gold_coins": ["", "", ""],
    "implicit_upsert_attr": ["", "a", "b"]
  },
  "attribute_actions": {
    "favourite_character": "upsert",
    "new_achievements": "extend",
    "daily_progress": "append",
    "gold_coins": "delete"
  }
}
```

**User Breakdown Example**

In this example, there are three users:

**FIRST USER**

* **Identities:**

`"idfa": ["00000000-1111-2222-3333-444444444444", "11111111-1111-2222-3333-444444444444"]`

`"customer_id": "cid_1", "player_id": "pid1_1"`

* **Properties:**

`"user_ip": ["1.2.3.4", "1.2.3.5"], "device_os_version": "13.1", "device_model": "iPhone 5s"`

* **Attributes:**

`"favourite_character": "x", "new_achievements": ["l1", "l2"], "daily_progress": 12`

**SECOND USER**

* **Identities:**

`"idfa": ["22222222-1111-2222-3333-444444444444"], "customer_id": "cid_2"`

* **Properties:**

`"device_os_version": "13.3.1", "device_model": "iPhone 6", "device_language": "en-US"`

* **Attributes:**

`"favourite_character": "x", "daily_progress": 20, "implicit_upsert_attr": "a"`

**THIRD USER**

* **Identities:**

`"customer_id": "cid_3"`

* **Properties:**

`"user_ip": ["2001:db8:85a3::"], "device_os_version": "14.1", "device_model": "iPhone XS", "device_language": "en"`

* **Attributes:**

`"favourite_character": "z", "new_achievements": ["l5"], "daily_progress": 6, "implicit_upsert_attr": "b"`

***

### API Limits

The current version of the RZR Audience API has the following limits:

**Audience Membership Change Requests**

* Each request can contain at most 10,000 devices. That is, the length of values in each field of identities should not exceed 10,000.
* Total size of each request should not exceed 1 megabyte.

***

### Validation Endpoints

In addition to the audience building endpoints, there are the following validation endpoints located at:

<https://encore.aarki.com/dsp/api/validation/>

* Account Validation
* Audience Validation

Both endpoints accept parameters in either query string or JSON body.

***

### Account Validation

**`GET or POST /account`**

Account validation endpoint is used to check if a given API key is registered with a valid account.

**Query Parameters**

<mark style="color:red;">`api_key`</mark> (string) -- API key for an account

**Example URL**

<https://encore.aarki.com/dsp/api/validation/account?api_key=APIKEY123>

**Request JSON Object**

<mark style="color:red;">`api_key`</mark> (string) -- API key for an account

```
{ "api_key": "APIKEY123" }
```

**Response JSON Object**

<mark style="color:red;">`status`</mark> (string) -- "ok" if the API key is valid, "error" otherwise

<mark style="color:red;">`message`</mark> (string) -- *(Optional)* Present only in case of error. Fixed to "Wrong Api Key" if the API key is invalid.

***

### Audience Validation

**`GET or POST /audience`**

Audience validation endpoint is used to check if a given audience is registered with a given API key. It also returns the size of the audience in case of success.

**Query Parameters**

<mark style="color:red;">`api_key`</mark> (string) -- Account-specific API key

<mark style="color:red;">`audience_id`</mark> (integer) -- Identifier for the audience to be checked

**Example URL**

<https://encore.aarki.com/dsp/api/validation/audience?api_key=APIKEY123&audience_id=6789>

**Request JSON Object**

<mark style="color:red;">`api_key`</mark> (string) -- Account-specific API key

<mark style="color:red;">`audience_id`</mark> (integer) -- Identifier for the audience to be checked

```
{ "api_key": "APIKEY123", "audience_id": 6789 }
```

**Response JSON Object**

<mark style="color:red;">`status`</mark> (string) -- "ok" if the API key is valid and the audience is registered with that API key, "error" otherwise

<mark style="color:red;">`message`</mark> (string) -- *(Optional)* "Wrong Api key" if the API key is invalid; "Wrong Audience id" if the audience id is not registered with the given API key or the audience has been deleted

<mark style="color:red;">`data`</mark> (jsonobject) -- *(Optional)* Present in case of success. A dictionary containing a single key "size" and the size of the audience as its value.

***

This guide covers everything you need to send audiences to RZR directly via API — including endpoints, request types, parameters, and validation.

If you need help with setup, reach out to your **RZR Account Manager** or **Account Coordinator** for assistance.


# S3 Bucket Setup

How to connect to a S3 bucket

This document outlines how to connect to and use an Audience S3 bucket for RZR. It covers three options:

1. [Cyberduck](#option-1-using-cyberduck)
2. [AWS Command Line Interface (CLI)](#option-2-using-aws-cli-command-line-interface)
3. [Python script](#option-3-using-a-script)

***

### Option 1: Using Cyberduck

To connect to a S3 bucket from Windows PC / Mac we use a client called Cyberduck.

To download this program you need to access the following link: <a href="https://cyberduck.io/" class="button primary" data-icon="hand-pointer">cyberduck.io</a>

After downloading the Cyberduck client, run the program (as an Administrator in Windows).

The installation process is very simple:

* When prompted with the Cyberduck Welcome screen, press the Install button and the\
  program will be installed automatically.
* After the installation is done, run the program.

In the bottom left corner of the program you will find the “+” button to create a new bookmark

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

Click on the “+” button to show the new Bookmark dialog box

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

In the first field the **Amazon S3** (Amazon Simple Storage Service) protocol must be selected. After that the following fields MUST be completed:

* **Nickname**: give a name for the connection (for example, RZR)
* **Server**: must be set to s3.amazonaws.com
* **Port**: must be set to 443
* **Access Key ID**: your Access Key ID for the desired bucket must be entered (to be provided)
* **Path**: must be set to the folder name provided to you
* **Secret Access Key**: To be shared

Close the bookmark dialog box, and double click on the newly created bookmark to establish the\
connection.

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

***

### Option 2: Using AWS CLI (Command Line Interface)

To connect to S3 bucket using AWS Command Line Interface or CLI, please follow the instructions as listed by Amazon <a href="https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html#getting-started-install-instructions" class="button primary" data-icon="hand-pointer">AWS CLI</a>

Once installed, open a shell and configure a profile for RZR

* <mark style="color:$primary;">`aws configure --profile aarki_s3`</mark>

Add the access keys in the prompt

* <mark style="color:$primary;">`AWS Access Key ID:`</mark> Your Access Key ID for the desired bucket (to be provided)
* <mark style="color:$primary;">`AWS Secret Access Key:`</mark> (To be shared)
* <mark style="color:$primary;">`Default region name [None]: us-east-1`</mark>
* <mark style="color:$primary;">`Default output format [None]:`</mark>

Now copy the file using the following commands:

* <mark style="color:$primary;">`aws s3 cp FILE_PATH_ON_COMPUTER s3://S3_PATH --profile aarki_s3`</mark>

where

* <mark style="color:$primary;">`FILE_PATH_ON_COMPUTER:`</mark> The file you want to copy to S3 bucket&#x20;
* <mark style="color:$primary;">`S3_PATH:`</mark> The name of bucket provided to you by RZR

***

### Option 3: Using a script

If you prefer to use a script to upload files to the S3 bucket, you can use the following code example\
that you can save as **upload\_s3.py**.

<pre data-overflow="wrap"><code>import argparse
import boto3
from botocore.exceptions import NoCredentialsError, PartialCredentialsError
import os

def upload_to_s3(local_file, bucket_name, s3_file, aws_access_key_id,
aws_secret_access_key, region_name='us-east-1'):
        # Create an S3 client with hardcoded credentials
        s3 = boto3.client('s3',
                        aws_access_key_id=aws_access_key_id,
<strong>                        aws_secret_access_key=aws_secret_access_key,
</strong>                        region_name=region_name)
        try:
                        s3.upload_file(local_file, bucket_name, s3_file)
                        print(f"Upload Successful: {local_file} to s3://{bucket_name}/{s3_file}")
        except FileNotFoundError:
                        print(f"The file {local_file} was not found")
        except NoCredentialsError:
                        print("Credentials not available")
        except PartialCredentialsError:
                        print("Incomplete credentials")
        except Exception as e:
                        print(f"An error occurred: {e}")

if __name__ == "__main__":
                AWS_ACCESS_KEY_ID = 'REPLACE_THIS_WITH_AWS_ACCESS_KEY_ID'
                AWS_SECRET_ACCESS_KEY = 'REPLACE_THIS_WITH_AWS_SECRET_ACCESS_KEY'
                AWS_REGION = 'us-east-1'

       parser = argparse.ArgumentParser(description="Upload a file to an S3 bucket")
       parser.add_argument('--local_file', required=True, help="Path to the local file")
       parser.add_argument('--bucket_name', required=True, help="Name of the S3 bucket")
       parser.add_argument('--s3_file', required=True, help="S3 object key (path in the bucket)")
       parser.add_argument('--aws_access_key_id', default=AWS_ACCESS_KEY_ID, help="AWS Access Key ID")
       parser.add_argument('--aws_secret_access_key', default=AWS_SECRET_ACCESS_KEY, help="AWS Secret Access Key")
       parser.add_argument('--region_name', default=AWS_REGION, help="AWS region name (default: us-east-1)")
       
       args = parser.parse_args()
       
       upload_to_s3(args.local_file, args.bucket_name, args.s3_file, args.aws_access_key_id, args.aws_secret_access_key, args.region_name)
</code></pre>

In the above example, replace the highlighted red text as follows

* <mark style="color:$danger;">`REPLACE_THIS_WITH_AWS_ACCESS_KEY_ID:`</mark> Your Access Key ID for the desired bucket (to be provided)
* <mark style="color:red;">`REPLACE_THIS_WITH_AWS_SECRET_ACCESS_KEY:`</mark> (To be shared)

To run the script, use the following command from a shell

{% code overflow="wrap" %}

```
python3 upload_s3.py --bucket_name BUCKET_NAME --s3_file FILE_NAME_TO_UPLOAD --local_file FILE_NAME_TO_UPLOAD
```

{% endcode %}

where

* <mark style="color:$primary;">`upload_s3.py:`</mark> The name of the script&#x20;
* <mark style="color:$primary;">`BUCKET_NAME:`</mark> The folder name provided to you&#x20;
* <mark style="color:$primary;">`FILE_NAME_TO_UPLOAD:`</mark> The name of the file to upload

***

This guide covers everything you need to upload audiences to RZR via S3 Bucket — including connection options, required credentials, and step-by-step instructions for Cyberduck, AWS CLI, and Python.

If you need help with setup, reach out to your **RZR Account Manager** or **Account Coordinator** for assistance.


# Hashed Audience Solution for Privacy-Sensitive Retargeting

This one-pager explains how RZR can activate privacy-sensitive audiences using SHA256-hashed mobile advertising identifiers, without requiring the advertiser to share raw IDFA, GAID, or IDFV files.

RZR supports hashed audience onboarding for advertisers that want to activate retargeting or suppression audiences while reducing direct sharing of raw device IDs. You hash your IDFA, GAID, or IDFV values with SHA256 on your side and share only the hashed file through a secure file upload process. RZR then matches those hashed values against identifiers observed in our ad traffic and builds a campaign-ready audience from the matched users. Final audience size depends on audience overlap.

### What this solves

Some advertisers want to run retargeting or suppression campaigns but are concerned\
about sending raw user-level device identifiers to a partner. RZR’s hashed audience\
workflow lets the advertiser transform the identifiers on their own side before sharing the\
audience file. RZR then uses the hashed values only for audience matching and campaign\
activation.

### How it works

<table><thead><tr><th width="84.2265625">Step</th><th>Advertiser</th><th>RZR</th><th>Result</th></tr></thead><tbody><tr><td>1</td><td>Exports the intended<br>audience list, such as<br>IDFA, GAID, or IDFV.</td><td>No action required.</td><td>Source audience is<br>prepared by the advertiser.</td></tr><tr><td>2</td><td>Applies SHA256 hashing<br>before sharing the file.</td><td>Does not receive the raw<br>identifier list.</td><td>Only hashed identifiers are shared.</td></tr><tr><td>3</td><td>Uploads the hashed file via S3.</td><td>Ingests and validates the<br>hashed file.</td><td>Audience is ready for<br>matching.</td></tr><tr><td>4</td><td>Confirms the campaign<br>use case, such as retargeting or suppression.</td><td>Activates the matched<br>audience for the agreed<br>campaign.</td><td>Matched audience is ready<br>for activation.</td></tr></tbody></table>

{% hint style="info" %}
**Note:** Hashed device files are only supported when shared via S3.
{% endhint %}

### File requirements

* **Hashing method:** SHA256.
* **Supported identifiers:** IDFA, GAID, or IDFV, depending on platform and campaign setup.
* **Format:** Plain-text <mark style="color:$primary;">`.csv`</mark> or <mark style="color:$primary;">`.txt`</mark> file.
* **Structure:** One hashed identifier per line, with no header row.

### Privacy positioning

Hashing reduces direct exposure of raw device identifiers because the advertiser performs\
the transformation before the file is shared. RZR receives the hashed audience file and uses\
it to find overlap with identifiers observed in our ad traffic for the agreed campaign purpose.

### What to expect

The final audience size may be smaller than the uploaded file because only matched\
identifiers can be activated. Match rate depends on file quality, correct identifier type,\
consistent SHA256 hashing, and audience overlap.

***

If you need assistance, reach out to your **RZR Account Manager** or **Account Coordinator**.


# Creative Resources

Your guide to ad creative requirements

Everything you need to brief, build, and ship high-performing ad creative with RZR.

Hand us finished assets or start with a logo and a goal. Either way, our creative team turns them into polished, performance-driven ads built for every major mobile format, informed by campaign data at every stage.

This hub covers what we offer, the specs for each format, and how to preview your creatives before they go live.

#### **🔧 What's Inside:**

* Format specs for banner, interstitial, video, native, and playable
* How to preview creatives in RZR Creative Studio
* Service tiers and what each includes

#### **Get Started:**

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>RZR Creative Studio</td><td><a href="/pages/EiVwy71xd6Losts5YhZt">/pages/EiVwy71xd6Losts5YhZt</a></td></tr><tr><td>Ad Format Overview</td><td><a href="/pages/qasADYm2GFtjL2QaPR7o">/pages/qasADYm2GFtjL2QaPR7o</a></td></tr></tbody></table>


# RZR Creative Studio

Our comprehensive solutions are designed to enhance your campaigns with creativity and precision.

#### What Sets Us Apart

1. **Comprehensive Creative Process** - From brainstorming to storyboarding and execution, we emphasize quality and strategy at every stage.
2. **Data-Driven Insights** - Every output is informed by thorough data analysis, ensuring impactful results.
3. **Adaptability** - We tailor our approach to effectively meet the diverse needs of our clients.

#### Best Practices and Recommendations

RZR Studio is integral to our DSP-integrated workflows, enhanced by tools like Adobe Suite and AI technologies that provide innovative solutions. While clients can provide their own assets, we excel at creating high-quality, customized content tailored to their needs.

#### Ad Formats Overview

Our capabilities offer a diverse range of Video and Non-Video ad formats tailored to meet client needs.

| Video Formats                                                                                                                                                    | Non-Video Formats                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <ul><li><strong>Video Ads:</strong> Essential messages delivered in 15-30 seconds.</li><li><strong>Bumper Ads:</strong> Quick, impactful 6-second ads.</li></ul> | <ul><li><strong>Interstitial Ads:</strong> Full-screen immersive experiences.</li><li><strong>Banner Ads:</strong> Static or animated ads for brand visibility.</li><li><strong>Native Ads:</strong> Seamless integration with platform content.</li><li><strong>Playable Ads:</strong> Interactive content for user engagement.</li><li><strong>Interactive End Cards (IEC):</strong> Engaging prompts for user action post-viewing.</li></ul> |

For more details or personalised suggestions, please contact your RZR Customer Success Manager.


# Ad Format Overview

RZR builds high-performing ad creative across every major mobile format, each one designed to hit a specific goal, from broad brand visibility to deep user engagement.

Browse the formats below for specs, examples, and preview guidance. Pick the one you're building, or talk to your RZR Account Manager about the right mix for your campaign.

#### **Get Started:**

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td>Banner Ads</td><td><a href="/pages/3PACZetrt3FCSc7Dr5qm">/pages/3PACZetrt3FCSc7Dr5qm</a></td><td></td></tr><tr><td>Interstitial Ads</td><td><a href="/pages/6nsPORBvjQHf3anZAyUn">/pages/6nsPORBvjQHf3anZAyUn</a></td><td></td></tr><tr><td>Native Ads</td><td><a href="/pages/Ahv0uuskTfjzmfZH2u3J">/pages/Ahv0uuskTfjzmfZH2u3J</a></td><td></td></tr><tr><td>Playable Ads</td><td><a href="/pages/D5xoKNUW9pdsp7cN8P2u">/pages/D5xoKNUW9pdsp7cN8P2u</a></td><td></td></tr><tr><td>Video Ads</td><td><a href="/pages/nWQYaPQiOK7q0sPJbvUU">/pages/nWQYaPQiOK7q0sPJbvUU</a></td><td></td></tr></tbody></table>


# Banner Ads

Our banners are Mobile Rich Media Ad (MRAID) compatible and can be used to serve fixed **size** or **responsive banners** using either a single **static image** or a **dynamic animated** HTML creative produced by our creative team.

* <mark style="color:$primary;">**FIXED SIZE:**</mark> Creatives are set up to use an **exact width and height value** and will only serve into ad placements which **match this size exactly**.
* <mark style="color:$primary;">**RESPONSIVE SIZE:**</mark> Creatives are set up with a minimum and maximum width and height, meaning they can be **rendered into a wider range of ad placements** while maintaining the designs proportions and layout using responsive rules on each layer of the design.
* <mark style="color:$primary;">**STATIC:**</mark> The creative has **no animated properties**. Static creatives can be made from a single image or from multiple layers in Aarki Studio so that it is still responsive.
* <mark style="color:$primary;">**ANIMATED:**</mark> The creative **uses movement and interaction** to make the design more engaging. Animated creatives can be created using either animated image formats such as .GIF or by our creative team in Aarki Studio.

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

***

### <mark style="color:$primary;">Requirements for Assets Designed by Client</mark>

#### Ad Creative Specs

**Dimensions**

Recommended to share double-density creatives

* Small Rectangle

<table><thead><tr><th width="310.4375">Responsiveness</th><th>Image Size (px)</th></tr></thead><tbody><tr><td>Fixed</td><td><ul><li>640x100</li><li>600x100</li><li>750x100</li><li>936x120</li></ul></td></tr><tr><td>Responsive</td><td>936x120</td></tr></tbody></table>

* Medium Rectangle

<table><thead><tr><th width="310.1484375">Responsiveness</th><th>Image Size (px)</th></tr></thead><tbody><tr><td>Fixed</td><td><ul><li>728x90</li><li>970x90</li><li>1024x90</li></ul></td></tr><tr><td>Responsive</td><td>1094x90</td></tr></tbody></table>

* Square

<table><thead><tr><th width="310.453125">Responsiveness</th><th>Image Size (px)</th></tr></thead><tbody><tr><td>Fixed</td><td><ul><li>400x400</li><li>500x500</li><li>600x500</li><li>672x560</li></ul></td></tr><tr><td>Responsive</td><td>672x560</td></tr></tbody></table>

**File Format**

* .JPG
* .PNG
* .GIF

**Max File Size**

* <1 MB

<mark style="color:$danger;">**Note:**</mark> Files remain unedited and must strictly adhere to the listed image sizes.

<mark style="color:blue;">**💡 Tip**</mark>&#x20;

* Given that both fixed and responsive can incorporate <mark style="color:$primary;">**static and animated assets**</mark>, it is recommended to provide all compatible file formats for maximum effectiveness.
* Among these, the <mark style="color:$primary;">**.GIF format**</mark> is recommended as it can handle both fixed-animated and responsive-animated ads, making it an efficient and adaptable choice for dynamic placements.
* Only <mark style="color:$primary;">**.PNG and .JPG formats**</mark> are compatible with fixed-static and responsive-static ads. They do not support animation and are strictly for static assets.

***

### <mark style="color:$primary;">Requirements for Assets Designed by RZR Creative</mark>

#### General Asset Requirements

High resolution and Brand Assets (must be at least 150-300 DPI)

* Key Arts
* Logos
* Splash Screen
* App UI
* Marketing Collaterals
* Font Files
* Screen Captures & Recordings
* Brand Guideline

File Formats

* Layered PSD or PSB files

***

### <mark style="color:$primary;">How to Preview</mark>

**Banner Presets**

* Select the correct banner size according to what is indicated in the creative name: Mobile, Mobile Large, or Tablet. As a guide:
  * 320x50 - Mobile
  * 300X250 - Mobile Large
  * 728x90 - Tablet

<div align="left"><figure><img src="/files/COu8FmiIoR7H5SJ7Yzil" alt=""><figcaption></figcaption></figure></div>

**Orientation**

* For banners, this should always be set to LANDSCAPE

<div align="left"><figure><img src="/files/QBUkDdGfuUpYWZbhGZ5i" alt=""><figcaption></figcaption></figure></div>

**Variants**

* Click on the arrows to preview the different variants in the creative (if any)

<div align="left"><figure><img src="/files/m7X4xCyKj2GFq0ITSXxw" alt=""><figcaption></figcaption></figure></div>

**Sample Banner Ad**

<div align="left"><figure><img src="/files/OU4v7u1n72sdkGCTJKDj" alt=""><figcaption></figcaption></figure></div>

***

This page covers the complete specs and setup details for banner ad creatives. Review each section to make sure your assets meet RZR's size, format, and file requirements before submitting.

Need a hand getting your banner ads configured? Reach out to your RZR Account Manager or Account Coordinator and we'll help.


# Interstitial Ads

Our interstitial creatives are Mobile Rich Media Ad (MRAID) compatible and can be used to serve **full screen** or **fixed size** interstitials using either a single image or a dynamic HTML creative produced by our creative team via RZR Studio.

* <mark style="color:$primary;">**FIXED SIZE:**</mark> Creatives are set up to use an exact **width and height value** and will only serve into ad placements which **match this size exactly**.
* <mark style="color:$primary;">**RESPONSIVE SIZE:**</mark> Creatives are set up with a minimum and maximum width and height, meaning they can be **rendered into a wider range of ad placements** while maintaining the designs proportions and layout using responsive rules on each layer of the design.
* <mark style="color:$primary;">**STATIC:**</mark> The creative has **no animated properties**. Static creatives can be made from a single image or from multiple layers in RZR Studio so that it is still responsive.
* <mark style="color:$primary;">**ANIMATED:**</mark> The creative **uses movement and interaction** to make the design more engaging. Animated creatives can be created using either animated image formats such as .GIF or by our creative team.

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

***

### <mark style="color:$primary;">Requirements for Assets Designed by Client</mark>

#### Ad Creative Specs

**Dimensions & Responsiveness**

Recommended to share double-density creatives

* Fixed

<table><thead><tr><th width="310.4375">Orientation</th><th>Image Size (px)</th></tr></thead><tbody><tr><td>Portrait</td><td><ul><li>640x960</li><li>768x1024</li></ul></td></tr><tr><td>Landscape</td><td><ul><li>960x640</li><li>1024x768</li></ul></td></tr></tbody></table>

* Responsive

<table><thead><tr><th width="310.1484375">Orientation</th><th>Image Size (px)</th></tr></thead><tbody><tr><td>Full screen Portrait</td><td>828x1472</td></tr><tr><td>Full screen Landscape</td><td>1472x828</td></tr></tbody></table>

**File Format**

* .JPG
* .PNG
* .GIF

**Max File Size**

* <2 MB

<mark style="color:$danger;">**Note:**</mark> Files remain unedited and must strictly adhere to the listed image sizes.

<mark style="color:blue;">**💡 Tip**</mark>&#x20;

* Given that both fixed and responsive can incorporate <mark style="color:$primary;">**static and animated assets**</mark>, it is recommended to provide all compatible file formats for maximum effectiveness.
* Among these, the <mark style="color:$primary;">**.GIF format**</mark> is recommended as it can handle both fixed-animated and responsive-animated ads, making it an efficient and adaptable choice for dynamic placements.
* Only <mark style="color:$primary;">**.PNG and .JPG formats**</mark> are compatible with fixed-static and responsive-static ads. They do not support animation and are strictly for static assets.

***

### <mark style="color:$primary;">Requirements for Assets Designed by RZR Creative</mark>

#### General Asset Requirements

High resolution and Brand Assets (must be at least 150-300 DPI)

* Key Arts
* Logos
* Splash Screen
* App UI
* Marketing Collaterals
* Font Files
* Screen Captures & Recordings
* Brand Guideline

File Formats

* Layered PSD or PSB files are preferred for responsiveness and animation on RZR Studio.

Additional Brand Assets

* Audio (.MP3) of App Background Music and App Sound Effects

***

### <mark style="color:$primary;">How to Preview</mark>

**Banner Presets**

* Use to select the device size to preview the ad on

<div align="left"><figure><img src="/files/HlSjRpigalSMgakdZffL" alt=""><figcaption></figcaption></figure></div>

**Orientation**

* Click the overlapping phone icons to switch between portrait and landscape

<div align="left"><figure><img src="/files/5zzgGDlBcwOCjm4rHE70" alt=""><figcaption></figcaption></figure></div>

**Variants**

* Click on the arrows to preview the different variants in the creative (if any)

<div align="left"><figure><img src="/files/m7X4xCyKj2GFq0ITSXxw" alt=""><figcaption></figcaption></figure></div>

**Sample Interstitial Ad**

<div align="left"><figure><img src="/files/i4HXHuox5rgL5KtRP7yp" alt=""><figcaption></figcaption></figure></div>

***

This page covers the complete specs and setup details for interstitial ad creatives. Review each section to make sure your assets meet RZR's size, format, and file requirements before submitting.

Need a hand getting your interstitial ads configured? Reach out to your RZR Account Manager or Account Coordinator and we'll help.


# Video Ads

RZR video creatives are **VAST compatible and responsive by default** to make best use of **full screen ad placements** and can be used in **standard video ad placement or rewarded ad placements**.

We have seen the best performance in using both Portrait and Landscape placements, as well as 15s and 30s inventories for each video creative variant.

<div align="left"><figure><img src="/files/pKVOo6gLwsDSWAKLDCcc" alt="" width="450"><figcaption></figcaption></figure></div>

***

### <mark style="color:$primary;">Requirements for Assets Designed by Client</mark>

#### Ad Creative Specs

**Dimensions**

<table><thead><tr><th width="239.8046875">Orientation</th><th>Responsiveness / Aspect Ratio</th><th>Image Size (px)</th></tr></thead><tbody><tr><td>Portrait</td><td>9:16</td><td>1080x1920</td></tr><tr><td>Landscape</td><td>16:9</td><td>1920x1080</td></tr></tbody></table>

**File Format**

* .mp4
* H264

**Duration**

* 6s-30s
* 15s and 30s long is recommended

**Max File Size**

* <5MB

#### End Card Specs

**File Format**

* JPEG
* JPG
* PNG
* GIF

**Image Size (px)**

* 1080x1920
* 1920x1080

**Max File Size**

* <500kb

<mark style="color:$danger;">**Note**</mark>

* Files remain unedited and must strictly adhere to the listed sizes.
* If no end card is provided, we will use the last frame of the video as an end card image.

***

### <mark style="color:$primary;">Requirements for Assets Designed by RZR Creative</mark>

#### General Asset Requirements

High resolution and Brand Assets (must be at least 150-300 DPI)

* Key Arts
* Logos
* Splash Screen
* App UI
* Marketing Collaterals
* Font Files
* Screen Captures & Recordings
* Brand Guideline

File Formats

* Layered PSD or PSB files and AE Project files

Additional Brand Assets

* Audio (.MP3) of App Background Music and App Sound Effects
* Sprite Sheets and PNG sequences

***

### <mark style="color:$primary;">How to Preview</mark>

**Variants**

* Click on the arrows to preview the different variants in the creative (if any)

<div align="left"><figure><img src="/files/m7X4xCyKj2GFq0ITSXxw" alt=""><figcaption></figcaption></figure></div>

**Sample Video Ad**

***

This page covers the complete specs and setup details for video ad creatives. Review each section to make sure your assets meet RZR's size, format, and file requirements before submitting.

Need a hand getting your video ads configured? Reach out to your RZR Account Manager or Account Coordinator and we'll help.


# Native Ads

RZR is able to run native campaigns via our RZR Studio product. We can run both image and video native creatives.

**Native creatives provide a series of fields which are populated in the ad placement, therefore the layout and design of the native ad seen by the end user can vary by publisher and placement.**

This can include cropping the image to fit the placement, so it is advised to use a 20% margin on the width and height as a safe area for primary content.

<div align="left"><figure><img src="/files/hrGf51U677V0wEp5YUjT" alt="" width="450"><figcaption></figcaption></figure></div>

***

### <mark style="color:$primary;">Requirements for Assets Designed by Client</mark>

#### Ad Creative Specs

<table><thead><tr><th width="104.59765625">Field</th><th width="247.1171875">Description</th><th width="113.63671875" align="center">Required?</th><th>Specifications</th></tr></thead><tbody><tr><td>Image</td><td>Primary image which will display in the ad placement</td><td align="center">✅</td><td><ul><li><strong>Image Size:</strong> 1200×627 </li><li><strong>Format:</strong> .jpg .png or .gif</li><li><strong>File size:</strong> &#x3C;2MB</li></ul></td></tr><tr><td>Video</td><td>Primary video which will display in the ad placement</td><td align="center">❌</td><td><ul><li><strong>Image Size:</strong> 1280-720 x 1080-1920 (16:9 landscape)</li><li><strong>Format:</strong> .MP4</li><li><strong>File Size:</strong> &#x3C;5mb</li><li><strong>Duration:</strong> 15 - 30 seconds long is recommended</li></ul></td></tr><tr><td>Icon</td><td>App icon which displays alongside main image / video</td><td align="center">✅</td><td><ul><li><strong>Image Size:</strong> 256x256 (1:1)</li><li><strong>Format:</strong> .png or .JPG</li></ul></td></tr><tr><td>Headline</td><td>Main headline in the creative</td><td align="center">✅</td><td>Text up to 25 characters in length</td></tr><tr><td>CTA</td><td>Copy for the call to action button</td><td align="center">✅</td><td>Text up to 15 characters</td></tr><tr><td>Sponsor</td><td>Name of the advertiser or brand</td><td align="center">✅</td><td>Text up to 25 characters</td></tr><tr><td>Body</td><td>Descriptive content for the creative</td><td align="center">✅</td><td>Text up to 90 characters</td></tr><tr><td>Price</td><td>Cost for the app</td><td align="center">✅</td><td>Text up to 15 characters</td></tr><tr><td>Star Rating</td><td>The apps rating in the app store</td><td align="center">❌</td><td>Number 0-5 (can include decimal place ie 3.5)</td></tr></tbody></table>

***

### <mark style="color:$primary;">Requirements for Assets Designed by RZR Creative</mark>

#### General Asset Requirements

High resolution and Brand Assets (must be at least 150-300 DPI)

* Key Arts
* Logos
* Splash Screen
* App UI
* Marketing Collaterals
* Font Files
* Screen Captures & Recordings
* Brand Guideline

**For Native (Static)**

File Formats

* Layered PSD or PSB files

**For Native Video**

File Formats

* Layered PSD or PSB files and AE Project files

Additional Brand Assets

* Audio (.MP3) of App Background Music and App Sound Effects
* Sprite Sheets and PNG sequences

***

### <mark style="color:$primary;">How to Preview</mark>

Native ads are ads whose look and design depend on what placement they are in. These typically follow the look and feel of the app they are shown on (ex: can look like a post in a feed)

RZR;s native preview currently does not demonstrate how it can possibly look once placed. It only shows the contents of each element, such as main image, video, and text.

<div align="center"><figure><img src="/files/4tsmGuxFGwtwA2Iom01L" alt=""><figcaption></figcaption></figure></div>

***

This page covers the complete specs and setup details for native ad creatives. Review each section to make sure your assets meet RZR's size, format, and file requirements before submitting.

Need a hand getting your native ads configured? Reach out to your RZR Account Manager or Account Coordinator and we'll help.


# Playable Ads

RZR Playable and Interactive End Card creatives are **html based creatives** which give a much richer ad experience using gameplay from the app itself. RZR can upload most third party playable creatives providing they meet the our asset requirements.

<div align="left"><figure><img src="/files/aswMrT0EkAA6QS76BVe0" alt="" width="450"><figcaption></figcaption></figure></div>

***

### <mark style="color:$primary;">Requirements for Assets Designed by Client</mark>

#### Ad Creative Specs

<table><thead><tr><th width="369.93359375">Asset Requirements</th><th>Exchange Support</th></tr></thead><tbody><tr><td><p></p><ul><li>Playables must be a single html file under 5 MB and not use any external scripts or resources.</li><li>Should open window.open on any CTA actions.</li><li>Luna playables should have a fall back image for low power mode (this will prevent the default play icon from displaying if a user device is power saving).</li></ul></td><td><p></p><p>Playables and IEC’s are currently supported on the following exchanges:</p><ul><li>Applovin</li><li>Vungle</li><li>Unity</li><li>Fyber</li><li>Chartboost</li></ul></td></tr></tbody></table>

***

### <mark style="color:$primary;">Requirements for Assets Designed by RZR Creative</mark>

#### General Asset Requirements

High resolution and Brand Assets (must be at least 150-300 DPI)

* Key Arts
* Logos
* Splash Screen
* App UI
* Marketing Collaterals
* Font Files
* Screen Captures & Recordings
* Brand Guideline

File Formats

* Layered PSD or PSB files are preferred for responsiveness and animation on RZR Studio.

Additional Brand Assets

* Audio (.MP3) of App Background Music and App Sound Effects

***

This page covers the complete specs and setup details for playable ad creatives. Review each section to make sure your assets meet RZR's size, format, and file requirements before submitting.

Need a hand getting your playable ads configured? Reach out to your RZR Account Manager or Account Coordinator and we'll help.


# Creative Best Practices


# MMP Postback Export for Retargeting

Need to share historical postback data with RZR? This guide covers how to export up to 90 days of user-level event data from your MMP and get it into RZR's hands for retargeting activation.

Step-by-step instructions, required fields, and export methods — all in one place.

#### 📤 What's Inside:

* Exporting raw postback data from your MMP
* Required data fields and format
* How to share the data with RZR

#### **Get Started:**

Choose your MMP below to begin setup:

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Adjust</td><td><a href="/pages/VKhCM0iSeXn46QPMQEFc">/pages/VKhCM0iSeXn46QPMQEFc</a></td></tr><tr><td>AppsFlyer</td><td><a href="/pages/Zw6zzsoIf6Pk6HssfIwF">/pages/Zw6zzsoIf6Pk6HssfIwF</a></td></tr><tr><td>Singular</td><td><a href="/pages/QkrlaULlVMDNsQdx963h">/pages/QkrlaULlVMDNsQdx963h</a></td></tr></tbody></table>


# Exporting from Adjust

## Who is this for

Clients/Advertisers using Adjust who want to share 90 days worth of non-attributed postback data to RZR for retargeting.

### Process

We received feedback from the Adjust team, and there are essentially two main ways to access the data:

#### 1. Raw Data Export

Clients can configure Raw Data Export in Adjust as outlined here, and then share the exported data with you based on their preferred method.

[<mark style="color:$primary;">https://help.adjust.com/en/article/raw-data-exports</mark>](https://help.adjust.com/en/article/raw-data-exports)

**Server Callbacks & Cloud Storage Options**

* **Server Callbacks:** The client can request the Adjust team to send the data directly to their BI tool, from which they can  then export and then share with RZR.
* **Cloud Storage (S3, GCP):** The client can ask Adjust to upload the raw data to a cloud storage service such as an Amazon S3 bucket or Google Cloud Storage. They would then need to share the necessary access credentials with us.

#### 2. Reports Service API (Aggregated Data)

<https://dev.adjust.com/en/api/rs-api/>

Details of Adjust’s Reports Service API for aggregated data can be found here. Please note that access to this API depends on the client's package, as it’s a paid feature and not included by default. If available, the client will need to share authentication tokens and provide access

**Data requirements**

* Event\_value - for e.g IAP - the revenue value in USD
* Attribution - Flag mentioning whether its attributed to Aarki / RZR or not
* advertising\_id
* Event\_name (Ex. install, purchase, etc)
* event\_time
* Purchase\_currency (Ex. USD, EUR, etc) without amount
* country\*
* region
* dma
* Carrier (Ex. Verizon, AT\&T, T-Mobile US)
* Platform (iOS/Android)
* device\_os\_version\*
* install\_time
* user\_ip\*
* device\_model\*
* device\_language
* idfv\*
* useragent\*

The client can receive device-level info such as <mark style="color:$primary;">`ip_address`</mark>, <mark style="color:$primary;">`os_version`</mark>, <mark style="color:$primary;">`device_name`</mark>, etc. in the raw data export as well as in the real-time callbacks from Adjust.&#x20;

For reference, you can find the full list of placeholders available for the clients for raw data export here: [<mark style="color:$primary;">https://help.adjust.com/en/marketer/placeholders?src=search\_page</mark>](https://help.adjust.com/en/marketer/placeholders?src=search_page).

If you need assistance, reach out to your **RZR Account Manager** or **Account Coordinator**.


# Exporting from AppsFlyer

### Steps for AppsFlyer Postback Data Export

1. Log in to your AppsFlyer dashboard.
2. Navigate to the relevant app.
3. Go to Reports > Export Data.

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

4. Under Raw Data Reports, select all Organic and Inorganic Install and Events.
5. Select the Raw data report > Customize > Install dates >Maximum rows per file > Create

<img src="/files/bive0SO1kEQbY37Vfc1e" alt="" height="396" width="680">

6. Choose the desired time frame and export format (CSV/Excel).
7. Click Download.

***

### Data Requirements

Please ensure the data available is for 90 days and also include the below mandatory fields:

{% code overflow="wrap" %}

```
  "ccid": "AbCdEfGhIjKlMnOpQrStUv==",
  "event_time": "1747842054",
  "event_name": "install",
  "event_value": "",
  "user_ip": "123.45.67.89",
  "country": "TH",
  "current_locale": "th-TH",
  "advertising_id": "11111111-2222-3333-4444-555555555555",
  "idfv": "AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE",
  "tracker_user_id": "1747841894171-ABCDEF1234",
  "netw": "00AABBCCDDEEFFGGNW",
  "app_store_id": "id123456",
  "bundle_id": "com.sample.app",
  "can_claim": "0",
  "event_id": "aaaa1111-bbbb-2222-cccc-3333dddd4444-1747842054",
  "app_id": "123456Xy789Zlmno123456",
  "from_imp": "0",
  "user_agent": "SampleApp/1234 CFNetwork/1234.567.890 Darwin/24.3.0",
  "language": "th-TH",
  "device_model": "iPhone14,3",
  "city": "SampleCity",
  "carrier": "SampleCarrier",
  "os_version": "18.3.1",
  "wifi": "false",
  "imp_id": "",
  "is_reattribution": "0",
  "is_reengagement": "0",
  "clk": "",
  "click_time": "",
  "exchange": ""
}
```

{% endcode %}

If there are any data point/s missing, there is always the option to manually add them in the export settings under Fields.

<img src="/files/einJkBrz02oGHKVGIrlx" alt="" height="1035" width="642">

<div><img src="/files/FJdYCY3mUNt6HFaGqiSw" alt="" height="696" width="624"> <img src="/files/3gBRFX5BUyxqJvOqiq0P" alt="" height="407" width="624"></div>

***

If you need assistance, reach out to your **RZR Account Manager** or **Account Coordinator**.


# Exporting from Singular

This document outlines how advertisers can pull up to 90 days of data using the Singular Data Export feature.

### Methods

Advertisers can retrieve user-level data from Singular using the following methods:

#### 1. Export Logs Page

**Path:** Reports & Insights > Export Logs

The Export Logs page in the Singular platform allows manual downloads of user-level data, including:

* Clicks
* Installs
* Re-engagements
* In-app events
* Postbacks
* Fraud-related data

The exported data is generated as a **CSV file.**

#### 2. Data Destinations (ETL)

Singular’s **Data Destinations (ETL)** enable automated data transfers directly to an internal BI platform, data warehouse, or storage service.

**Supported data types include:**

* User-level conversions
* In-app events

#### 3. Configuring Internal BI Postbacks

By configuring Singular to send postbacks to an internal BI system, advertisers can receive **real-time data** for:

* Installs
* Re-engagements
* In-app events
* Fraud decisions

***

### Data Requirements

The following fields are required in the export:

* event\_value (e.g., IAP revenue value in USD)
* attribution\_flag (indicates whether the event is attributed to Aarki/RZR)
* advertising\_id
* event\_time
* purchase\_currency
* country\*
* region
* dma
* carrier
* platform (iOS / Android)
* device\_os\_version\*
* install\_time
* user\_ip\*
* device\_model\*
* device\_language
* idfv\*
* useragent\*

\*Fields marked with an asterisk are mandatory where available.

***

### Process

#### Exporting Logs

1. Navigate to **Reports & Insights** > **Export Logs**.
2. Select the relevant **date range**.
3. Logs can be exported up to the **beginning of the previous month**.
4. Keep the date range as narrow as possible to avoid record limits per download.
5. Select the **app**, **app site**, and **log type**.
6. Choose the required fields by dragging them into the **Selected Fields** section.

<img src="/files/hpsY4WAqXpVyesu02vxb" alt="" height="406" width="622">

7. Download the generated **CSV file**.

#### Types of Logs Available

* **Clicks** - optional
* **Conversions** (All including installs and re-engagements) - needed
* **Events** - needed&#x20;
* **SKAN postbacks** - optional
* **Postbacks** - optional

***

### Limitations

Data retention limits in Singular are as follows:

* **Impression Data:** 14 days from date of collection
* **Click Data:** 30 days from date of collection
* **Postback Data:** 30 days from date of collection
* **Event Data:** From the start of the previous month (up to 60 days)
* **Attribution Data:** From the start of the previous month (up to 60 days)
* **Fraud Data:** From the start of the previous month (up to 60 days)

<mark style="color:red;">**Note:**</mark> Due to limitations in the data retention policy, exports are available for up to 30 days and upto maximum 60 days for some cases. For any historical data beyond this period, the client would need to share the data from their internal systems, as Singular shares postback data with the client in real time.

***

#### References

* Source 1: [<mark style="color:$primary;">https://support.singular.net/hc/en-us/articles/360001216992-Export-Logs-and-User-Level-Data-FAQ</mark>](https://support.singular.net/hc/en-us/articles/360001216992-Export-Logs-and-User-Level-Data-FAQ)
* Source 2: [<mark style="color:$primary;">https://support.singular.net/hc/en-us/articles/360001216992-Export-Logs-and-User-Level-Data-FAQ#data\_retainment?support=true</mark>](https://support.singular.net/hc/en-us/articles/360001216992-Export-Logs-and-User-Level-Data-FAQ#data_retainment?support=true)

***

If you need assistance, reach out to your **RZR Account Manager** or **Account Coordinator**.


