# Feed Advertiser

# Important Information

Response

Even in case you are not bidding on a request, we expect you to answer with either 200 OK or 204 No Content . Every other status code won't be processed by our system.

# Feed Advertiser UI

# Basic Settings

This part contains all the settings related to the Request and Response.

basic settings 1

Name: The name of your feed.

Amount of Traffic: If your server can't handle the full amount of traffic, you can tweak it by setting the amount between 1-100%, representing the percentage based on your targeting we will be sending you.

Keywords: Switch between receiving one or multiple keywords in your request and choose how you want your keywords to be sent to you:

  • Delimiter - Seperate keywords using a custom delimiter (default is ,)
  • JSON - Keywords as a JSON string

In case of our example, we would be sending the keywords like this:

With Delimiter formatting ,:

these,are,some,keywords.

With JSON formatting:

["these", "are", "some", "keywords"]

basic settings 2

IP Version: Choose if you want to receive IPv4+IPv6 (dualstack) or IPv4-only traffic. In the case of dualstack you will receive requests with IPv6 addresses in the %ip% placeholder.

Traffic Category: Select the type of traffic you want: adult, non-adult or both.

Response Format: Select the format you will send us the bids in. We prefer JSON if possible.

Cost Model: Select if you bid on CPC or CPM basis. Please notice that we always process bids on a per click basis. If you select CPM here, we will divide your bid by 1000.

response mapping Response Mapping:

  • Container Path - Specifies the container in which the bid and URL can be found.
  • Bid Path - Specifies the path with which the bid can be found.
  • URL Path - Specifies the path with which the URL can be found.

Example Mapping:

These are what the responses based on the mapping should look like:

JSON with container:

Container Path: result,container

Bid Path: bid

URL Path: url

    {
        result: {
            container: [
                bid: 0.02,
                url: "http://test.url.com/ad?id=1234343242"
            ]
        }
    }

JSON without container:

Container Path: Empty

Bid Path: bid

URL Path: url

    {
        bid: 0.02,
        url: "http://test.url.com/ad?id=1234343242"
    }

XML with values as text:

Important: For XML we use XPath to find the information we require, so make sure to use the right syntax for the mapping.

Container Path: /results/bids

Bid Path: //bid/text()

URL Path: //url/text()

<results>
    <bids>
        <bid>0.02</bid>
        <url>http://test.url.com/ad?id=1234343242</url>
    </bids>
</path>

XML with values as attributes:

Container Path: /results/item

Bid Path: //@bid

URL Path: //@url

<results>
    <item bid="0.02" url="http://test.url.com/ad?id=1234343242" />
</path>

# Feed URL

This Section contains settings related to the URL, we will be sending the traffic to and what information the request will contain.

URL Parser (Optional): With this tool you can enter the URL of an existing Feed, including parameters and it will automatically be parsed and inserted into the Query Parameters Table and Basic URL Settings below.

Example:

feed url

param table

This is how the actual URL would look like with all placeholders replaced:

http://my.url.com/ad?ip=96.202.206.25&auth=test&ua=Mozilla%2F5.0+(Windows+NT+6.1%3B+WOW64%3B+rv%3A17.0)+Gecko%2F17.0+Firefox%2F17.0&click_id=r.23432423423243&internal_id=mynonadultfeed&query=car%2Ccars%2Cauto%2Cvoiture

Warning: Please note that using the URL Parser will override the existing parameters in the table.

Protocol: Set the kind of protocol you want AND support, HTTP or HTTPS (default HTTP).

*Host: Set the host you want us to send the request to, e.g. my.url.com.

Port: Set the port you want us to send the request to (default 80).

*Path: Set the path you want us to send the request to, e.g. /bids.

Query Parameter Input:

  • key - The key of the query parameter.

  • *value - The value of the query parameter.

Query Parameter Table:

This table lists all the parameters we will be including in our request. You can open the edit menu by clicking on the text or delete them by clicking on the trash icon.

When using special characters, a warning may appear assuming you might want to use one of our placeholders.

special icon

This hint's purpose is to make you aware of how to use our placeholders in case you intend to, so that we can avoid any possible complications later on.

*This field supports our placeholders, you can either write them yourself, e.g. %ip% or click on the dropdown menu (downward arrow to the right), to select one of them.

List of TONIC. placeholders:

Name Placeholder Description
Country %country% Country the visitor is from, e.g. DE, FR, IT.
Device %device% e.g. mobile, desktop, tablet
Ad Type %adtype% Traffics Ad type, e.g. PPR, POP.
Traffic Category %traffic_category% e.g. adult, non-adult
Carrier %carrier% e.g. tmob_de
Browser %browser% e.g. chrome, safari
User Agent %ua% User Agent belonging to the visitor.
IP %ip% IP belonging to the visitor.
Click ID %clickid% Unique identifier for each visitor. Optional but mandatory in case of debug requests on log-level.
Keywords %keywords% Keywords tied to the visitor in the format specified in the Basic Settings.
Operating System %os% e.g. windows, android, macintosh
Source ID %sourceid% Unique identifier that represents the origin of the traffic.
Unique Count %uniquecount% Counter representing how unique the visitor is (min. 1)
X-Forwarded-For %xff% The value of the XFF header (usually set by proxies).
XFF/IP %xff_or_ip% Either XFF if it is set or the IP.
Results %results% How many bids we want in the response (currently always set to 1).

All placeholders are URL encoded.

We also support conditional values based on the traffic's targeting e.g. country, device, browser etc. . You can use this feature by clicking on the three dots to the right and setting:

Example: conditional placeholders

  • IF - Targeting option you want to use for this condition.
  • IS - Value you want the IF value to be compared to.
  • THEN - Value you want to be inserted in case the comparison is truthy.
  • ELSE - Value you want to be inserted in case the comparison is falsy.

# Targeting

In this Part, you pick the kind of traffic you would like to receive.

targeting

⚠️ Ad Type: Select one Ad Type.

Default is All for these settings.

Device: Select which devices you would like to receive traffic from.

Countries: Select which countries you would like to receive traffic from or not using either a whitelist or a blacklist.

Browser: Select which browsers you would like to receive traffic from.

Operating System: Select which Operating Systems you would like to receive traffic from.

⚠️ This Setting can not be changed afterwards, so make sure this is what you want.

# Saving

After you have entered all necessary information, you can create your Feed by clicking on save. There is also the option of getting a JSON object, representing the feed you are about to create. This option provides you with a blueprint, in case you want might want to use our API directly, now or in future.

Afterwards you will be redirected to the Dashboard, where your feed should be listed and will have to await approval to be able to go live.

Last Updated: 5/20/2021, 8:35:16 AM