Dynamic Ads

Guidelines for Dynamic Ads

Find out how we utilize Dynamic Template Ads to serve your users the best possible creatives

Table of Contents

  •  What are Dynamic Ads?
  •  Feasibility & Setup
  •  Implementation of Event Attributes
  •  Feed Availability Guidelines
  •  Feed Format Guidelines
  •  Feed Image Guidelines

What are Dynamic Ads?

Dynamic Ads are ads based on and customized to a user's journey within a specific app. These ads are created in real-time by filling an ad template with images and product information from a regularly updated (product) feed. The feed is a list of all client offerings and details on each product. 

For each client, RevX prepares a unique Ad Template, filled with product details taken directly from their feed. Clients are then able to review the template and see what their potential users should see upon an ad display.

RevX has the capability to run Dynamic Ads as HTML banners. Additionally, we employ the Native traffic format, which in turn allows the best use of all existing mobile traffic. No additional work is required from your side for the Native format. 

How does it work? 

1. Event Forwarding

We collect information about how products are viewed/used from the in-app events, forwarded to us by your attribution provider or your internal BI system. 

Once you activate the event stream on your attribution provider's dashboard, we automatically receive both the events and attributes associated with said events from your attribution provider. The event attribute is a piece of additional information concerning a specific event. 

For example, if an event is: User Views a Product, then a possible attribute to that particular event could be Product ID. This Product ID specifies the product viewed by the user. Among the various attributes that could be describing this event, there needs to be one unique attribute that can also be found in your feed. In this example, the unique attribute would be Product ID, and it should be found both in the event attributes and product feed. 

2. We use that knowledge to create engaging and relevant ads (Dynamic Ads)

Based on the knowledge we have accumulated from the in-app events, we select items from the product feed. We then utilize these items to create a custom HTML ad for each unique user (impression) in real-time. This ensures that we only show your users relevant and individualized content. 

3. Deep Linking: bring users to the correct landing page on your app

Once users click on any of the products displayed in the custom ad, they are deep linked to the specific page of the product they clicked on earlier. In order to ensure a smooth user experience, we need to test both your deep links and tracking links ahead of time. 

Feasibility & Setup

Below is an overview of the five feasibility and setup aspects you should consider before starting to run Dynamic Ads. 

1. Event Forwarding 

The first prerequisite to running Dynamic Ads is RevX receiving your in-app events, which you can achieve by utilizing the services of an attribution provider. 

2. Feed URL 

  • Access to your product feed via a URL.
  • Time and timezone of the feed's daily update. 

Please note: We use a list of keywords to blacklist any prohibited content from the feed. Ideally, we prefer that you exclude said content from the feed as soon as possible.

3. Deep Links

Please confirm internally that your app contains deep links in general and universal links for iOS. You may either create universal links internally or leverage an attribution provider with whom you have implemented universal links for iOS.

Please note:

  • Universal links require deep links to function.
  • In order to ensure a smooth deep linking process, we need to be able to test all links. Please make sure to provide the links at your earliest convenience.

4. iOS & Android Trackers 

Apart from deep links, we also need the click and (if possible) impression trackers from your attribution provider. 

5. Preferred Ad Template

We kindly ask you to provide your logo and creative guidelines as well as an Ad Template that fits your vertical and offerings. We then create a personalized Ad Template for you, which you can review before going live.

Please note: We implement Google Web-safe fonts in our creatives. For more information on Google-web-safe fonts please visit https://fonts.google.com/

Implementation of Event Attributes

Event attributes* provide additional insight, which RevX utilizes for the purpose of setting up campaigns. These attributes are implemented during a standard SDK integration with your attribution provider. This means that once you toggle Event Forwarding on your attribution provider's dashboard, said attributes are automatically sent to RevX. 

In-depth guides on event attribute implementation with the various attribution providers can be found here: 

* Naming convention is subjected to partner's preferences (also known as "rich in-app events", or "events with arguments").

Feed Availability Guidelines

 1. URL vs Server 

Please provide the feed URL, alongside any necessary credentials. The access to your feed can be provided to us via one of the following options:

  • FTP, FTP with password and username security, HTTP or HTTPS server.
  • An external S3 bucket. In this case, we need the exact location and password. 
  • Alternatively, we may host your feed on the RevX Amazon S3 bucket. Upon request, an Amazon S3 bucket and credentials (key and secret access key) will be created for you to upload your feed daily.

Please note: 

  • Feed size should not exceed 40 GB. 
  • The files should be in CSV, TSV or XML format only.


  • Please be advised that regardless of the feed's location, the feed can be password-protected, but it is not mandatory that it is so.
  • RevX also supports IP whitelisting. That being said, we strongly encourage password-protection and prioritize it over IP whitelisting. This is due to the fact that our IP addresses might change and in that case, we need to contact you with the new IPs to implement the change on your side. The following are RevX IP addresses for feed whitelisting:

2. Speed Requirements

The feed must be available via HTTP/HTTPS or FTP at a certain uplink speed:

  • 1mb/s uplink is a minimum of up to 1GB feed size.
  • 10mb/s or more uplink for 1GB+ feed size.

3. Update Protocol 

The feed needs to be updated regularly (e.g., every 24h) and we need to be informed of the exact time & time zone of the update. This is important as the feed needs to match your in-app offerings. 

Feed Format Guidelines

1. File Format

RevX supports a variety of formats and as such the feed can be an XML, CSV or TSV file.

Please note:

  • Feed size should not exceed 40 GB. 
  • The files should be compressed with GZIP (*.gz extension).
  • CSV file - Column delimiter should be a comma.
  • TSV file - Column delimiter should be a tab.
  • RevX does not support an API feed. 
    • Don’t: API Feed Support
    • Do: XML, CSV or TSV                                        

2. Encoding

Unicode (UTF-8) should be used as a character set.

  • Don’t: euc-kr, gb2312
  • Do: utf8                                             

3. Obligatory Header

The file must contain a header with column names.

  •  Don’t:
34fx5 "Amazing Sofa" "Awesome Sofa, Get it Now!" https://... myapp://product/view/34fx5
  • Do:
id title description  image_url deep_link
34fx5 "Amazing Sofa" "Awesome Sofa, Get it Now!" https://... myapp://product/view/34fx5

Header Requirements:

Column names should be alphanumeric and begin with an alphabetic character.

  • Don’t: 345
  • Do: description         

Column names can be written in a camel or snake case format.

  • Don’t: awesome phone, Awesome Phone
  • Do: awesome_phone, AwesomePhone                         

Column names should not contain spaces or any other special characters.

  • Don’t: Awesome Phone
  • Do: AwesomePhone

4. Consistency in Number of Columns

Each row must contain the same number of columns.

Please note: Although the number of columns should be identical, some columns may be empty of content.     

  • Don’t                                                            
id title description image_url deep_link category sales_price
34fx5 "Amazing Sofa" "Awesome Sofa, Get it Now!" https://... myapp://product/view/34fx5 "Sofa" 3209.00
45fx8 "Awesome Sofa, Get it Now!" https://... myapp://product/view/34fx5 "Sofa" 3209.00
  • Do:
id title description image_url deep_link category price sales_price
34fx5 "Amazing Sofa" "Awesome Sofa, Get it Now!" https://... myapp://product/view/34fx5 "Sofa" 5500.00 3209.00
45fx8 "Awesome Sofa, Get it Now!" https://... myapp://product/view/34fx5 "Sofa" 5500.00 3209.00

5. Quoted Fields

Fields can be quoted in double-quotes only. Example: 

  • Don’t: 'Awesome Phone'
  • Do: "Awesome Phone"      

6. Quotes in Quotation Marks

Fields containing a comma (in case of comma-separated files) or quotes, must be quoted with double quotation marks. Example:

  • Don’t: Say hi to your new phone.
  • Do: ""Say "hi" to your new phone.""

Feed Image Guidelines

 Please adhere to the below feed image guidelines: 

1. Consistency

Consistency in the way your product pictures are taken (e.g., retail products on a white background, houses in daylight, food in close-up, and same format pictures).

2. Frames

Focus on the product and refrain from using black/white spaces or frames around the photo.

3. Size

Product images in the feed should not surpass 300KB each. Lighter images decrease the loading time. Preferred sizes: Between 480x480px & 700x700px.          

  • Don’t: 5 MB
  • Do: 250 KB

Please note: We support image resize API.

  • Don’t: 1350x1254px
  • Do: 600x600px                                                                           

5.  SSL

Image path MUST support HTTPS (in case a link starts with HTTP, please check in the browser whether the said link works with HTTPS).

 6.  Prohibited Content

Refrain from utilizing any content or pictures that resemble the ones mentioned in the prohibited content list. Let us know if you have an extra column (e.g., adult, alcohol) that can help us filter out this data. Otherwise, RevX employs a keyword search list to blacklist the content.