Introduction to Our Player Ad Serving Logic

To understand how the system prioritizes and optimizes your ad requests, you must first understand how the Player interacts with two main objects that are used for managing your ads: Ad sets and Ad campaigns. 

 

Player and Ad Objects Flowchart

The following diagram and explanation describe the logical connections between the Player, Ad sets and Ad campaigns.

 

 

In this diagram, we have a classic implementation of a player. The player has been implemented in a publisher's website and has been pre-configured to run ads.

When creating or editing a player (using the Player Wizard), you are able to assign an Ad set to monetize your player.  Ad sets are objects that are responsible for linking one or more Ad campaigns (ad requests) to the player. Each Ad campaign is a single ad request that is defined to interact with a designated Ad server.

Note: It is possible to assign multiple Ad sets to a player.

Note: This example is fairly basic as the Ad set only contains 4 Ad campaigns, but more commonly, typical Ad sets include multiple Ad campaigns. 

Now that we understand the logical connections between the Player, Ad sets and Ad campaigns, we can continue to dive into the Ad serving process.

 

 

Ad Serving Process

The following diagram expands the previous Player and Ad object flowchart, and describes the process of how a Player requests ads and displays ads to the viewer.

Important! The following diagram might be overwhelming at first site. Please read the explanations beneath the diagram to understand each part of the process.

In the diagram above you will notice several numbered lines. These lines represent communications between the different entities and objects that interact during this process. Please follow the following numbered descriptions to understand how this process works.

  1. At first a Player that has been pre-configured to run ads, loads on a publisher's website. When the player reaches an Ad opportunity,  the player will then request ads from the system, according to its assigned Ad set.
    As mentioned before, the Ad set contains several Ad campaigns that represent independent ad requests. In order to send only the most relevant ad requests out first, the Player will communicate its requests for ads to the Priority logic layer in the system.

    Note: It is possible to assign multiple Ad sets to a player. All the assigned Ad campaigns, in the different Ad sets, will undergo the same Priority logic together as one list.


  2. The Priority logic layer then decides which Ad requests will be sent out and in what order. The selection processed is based on several factors such as:
    - What types of Ad campaigns are defined in the Ad set, Direct/Network/Both.
    - How many Ad campaigns are assigned to the Ad set.
    - The 'Expected CPM' of each Ad campaign.
    - The 'Priority boost' field value of each campaign.
    - Each of the Ad campaign's 'Start ratio'.

    Note: For further details, please see Ad prioritization logic.

  3. The relevant prioritized Ad campaigns then send their VAST ad request to their respected Ad servers.

  4. Each of the ad servers that have been contacted will then send their VAST ad responses. These responses are sent back to an additional Ad Response Timeout Logic layer that re-prioritizes them to feed the player with ads.

    Note: For further details, please see Ad response timeout logic.

  5. The Ad response timeout logic layer sends a single ordered queue of ad responses for the player to display. The player then fills the Ad opportunity within the player with the relevant ads.

    Note: As it is possible to assign multiple Ad sets to a player, all the assigned Ad campaigns (in the different Ad sets) will undergo the same Ad response timeout logic together as one list.

Note: This whole process happens at a fraction of a second.

Now that we understand how the Ad serving process works, we can expand on how both the Priority & Optimization Logic and Ad response timeout Logic operate. 

 

 

Related Articles

To learn more, please refer to the following articles:

 

Have more questions? Submit a request