VRM / Targeting Rule Prioritization Logic

The following diagram and explanation describe how the VRM Targeting Rule Selection Logic operates:


1. VRM Request & Analysis
When a Player is set to use Video Rights Management (VRM), it sends out a request to the VRM server after loading on a web page. This VRM request includes a set of identification parameters that the VRM Prioritization Logic uses to retrieve eligible Targeting Rule that will be sent back to the Player.

The VRM request undergoes an initial 'Request Analysis' that determines which parameters and values have been passed. This includes information such as: the Player ID, Player Company ID, Video ID, Video Company ID and many more.

Note: To learn what parameters are passed in the VRM Request, please see VRM Request Parameters.

2. Selection Logic
After the request has been analyzed, the relevant parameters and values are passed to a 'Selection Logic' layer. This layer performs four stages to determine which Targeting Rules will be eligible and sent back to the Player: Scoping, Filtering, Sorting and Scoring.

  • Scoping - Using the parameters passed in the VRM request, the Selection Logic first retrieves all Targeting Rules that are owned by the Company, Parent Company & Company Group Root Company of the Player and Video. After the scoping stage is complete, an initial list of Targeting Rules are passed to Filtering stage.

    For example: Let's say we have 2 White labels, 'Company A' and 'Company B'. 'Company A' has a Publisher Affiliate named: 'Company A1', and 'Company B' has a Content Owner Affiliate named 'Company B2'. 
    If a Player by the Publisher Affiliate 'Company A1' plays back a video by the Content Owner Affiliate 'Company B2', VRM will retrieve all the Targeting Rules from all the Affiliate and Parent White Label Companies: A, B, A1 and B2. In addition, VRM will also retrieve Targeting Rules from all the Group Root Companies of any Company Groups that were assigned on any of the companies listed above (both Affiliates and White Labels).

  • Filtering - The initial list of Targeting Rules is then Filtered by checking the specific restrictions set in each Targeting Rule (Destination, Content and Advanced settings of each Targeting Rule). This means that each Targeting Rule is checked to see if any Geo, Device, Company, Domain or any other restriction are applied in relation to the VRM Request data. Rules that are prohibited due to a restriction are removed from the list, and the remaining eligible Targeting Rules are passed to the sorting stage.

  • Sorting - The list of eligible Targeting Rules are then split into two categories according to their Rights Types:
    • Other Rules - A category that contains all Targeting Rules that have a 'No Ads', 'Exclusive' or 'Standard' rights type.
    • Reseller Rules - A category especially for 'Reseller' rights type Targeting Rules.

After the categories have been split, VRM evaluates the 'Other Rules' category to determine if there are any 'No Ads' or 'Exclusive' rights type Targeting Rules in the list. 

If either a 'No Ads' and/or 'Exclusive' Targeting Rule is found, then the 'Reseller Rules' category is discarded completely as the ad requests there are lower in priority. On the other hand, if there aren't any 'No Ads' or 'Exclusive' Targeting Rules, the 'Reseller Rules' list is kept. 

Either way, the remaining list/s are passed to the last stage for prioritizing. 

  • Prioritizing - This stage prioritizes each category according to the defined 'Weight' (0 to 1000) defined in each Targeting Rule. The higher the Weight setting in the Targeting Rule, the higher it's priority.
    In action this stage has two main scenarios:
    • When Only the 'Other Rules' category is passed - When either a 'No Ads' and/or 'Exclusive' Rights type Targeting Rule is present. In this case, all the 'No Ads' and/or 'Exclusive' Targeting Rules are prioritized according to their Weight, and only the one with the highest weight is passed to the Grouping Process.

      Note: This logic has been placed to ensure that No Ads/Exclusive (FRoS) Targeting Rules are given the highest priority every time.
    • When Both the 'Other Rules' & 'Reseller Rules' categories are passed - When the 'Other Rules' list consists only of 'Standard' Rights type Targeting Rules. In this case, each category is prioritized separately according to their Weight. Then, the top 5 Targeting Rules from each list are passed to the Grouping Process.


3. Grouping Process & VRM Response
This stage is similar in essence to the grouping process performed for Ad Campaigns with a few minor changes. Here again we are faced with two main scenarios: 

  • Either a 'No Ads' or 'Exclusive' Targeting Rule has been passed - This scenario is easy as only one Targeting Rule is eligible to be passed back to the Player. In this case, only one group is created that includes the single Targeting Rule.
  • Two prioritized categories have been passed ('Reseller Rules' and 'Standard Rules')  - In this case, we have the 5 top 'Standard' Rules and all the eligible Reseller Rules in separate categories.

    The grouping process takes each 'Standard' Targeting Rule and places it in a Group of its own.

    For example: If we have the following 'Standard' Targeting Rules:
    • STANDARD 1 (weight: 700).
    • STANDARD 2 (weight: 650).
    • STANDARD 3 (weight: 600).
    • STANDARD 4 (weight: 550).
    • STANDARD 5 (weight: 500).

The grouping process will group the Targeting Rules with the highest weight first:

    • Group 1 -> STANDARD 1 (weight: 700).
    • Group 2 -> STANDARD 2 (weight: 650).
    • Group 3 -> STANDARD 3 (weight: 600).
    • Group 4 -> STANDARD 4 (weight: 550).
    • Group 5 -> STANDARD 5 (weight: 500).

After the groups have been successfully created, the 'Reseller' Targeting Rules are added. Because 'Reseller' Targeting Rules have a 'Weight Range' and not just one value, each Reseller rule is matched to the appropriate Standard Rule according to it's max Weight setting.
Additionally, the Reseller rules are added using the following 'Odd' number relationship (1:0, 1:1, 1:3, 1:5 etc.).

For example: If we have the following Reseller rules:

    • RESELLER 1 (200-800).
    • RESELLER 2 (250-700).
    • RESELLER 3 (250-650).
    • RESELLER 4 (200-600).
    • RESELLER 5 (200-600).
    • RESELLER 6 (200-550).
    • RESELLER 7 (250-550).
    • RESELLER 8 (300-550).
    • RESELLER 9 (350-550).

The grouping process will group the Reseller Targeting Rules according to the Maximum weight:

    • Group 1 -> STANDARD 1 (700) -> [First Group always without Reseller Rules]
    • Group 2 -> STANDARD 2 (650) + RESELLER 1 (200-800)
    • Group 3 -> STANDARD 3 (600) + RESELLER 2 (250-700) + RESELLER 3 (250-650) + RESELLER 4 (200-600)
    • Group 4 -> STANDARD 4 (550) + RESELLER 5 (200-600) + RESELLER 6 (200-550) + RESELLER 7 (250-550) + RESELLER 8 (300-550) + RESELLER 9 (350-550)
    • Group 5 ->STANDARD 5 (500)

After the 'Standard' and 'Reseller' Targeting Rule groups are complete, VRM creates the response and sends it to the Player.

4. Player Requests Ads
After the Player receives the VRM Response (that includes all the relevant Targeting Rules groups), the Player starts by sending out each group of Targeting Rules one by one. The ad server responses are then picked up by the Player's 'Ad Response Timeout Logic'. 

5. Ad Response Timeout Logic
Identical to the Ad Response Timeout Logic described here, The Ad responses are timed to see which one returns fastest. For further details, please see Ad Response Timeout Logic.



Have more questions? Submit a request