Pre-Fetching - Best Practices
Upsight has created the ability for developers to pre-fetch content into their SDK. The main benefits to this is purely time based, up to 500ms. There are some potholes that may need to be navigated, specifically around frequency capping.

If done improperly and a user triggers a content unit set to multiple placements in a short period of time, the content units will already be pre-fetched and they will be shown successively, not adhering to the appropriate frequency caps.

In order to get around this, the publisher will need to create their content units with the following guidelines to avoid showing multiple content units repeatedly.
  1. Each content unit is only set to a single placement - this will prevent the content from serving repeatedly if the placements are triggered in a short period of time based on game user flow.
  2. Apply Segmentation by "session" in conjunction with segmentation by "time in-game" to direct the user experience.
  3. Apply Limit Impressions Per User Frequency Cap

Example VGP Campaign:

If the publisher originally intended to set up a single VGP campaign at 3 separate placements "game_launch", "end_of_game" and "store_exit" for their users from session 11 to 25, you would create the 3 separate content units with 3 separate segments.
Content Unit Placement Segmentation
VGP Creative 1 game_launch "session" "in between" "11" and "25"
VGP Creative 1 end_of_game "session" "in between" "11" and "25" and "time in-game" "in current session" "is greater than" "10 min"
VGP Creative 1 store_exit "session" "in between" "11" and "25" and "time in-game" "in current session" "is greater than" "15 min"

This method will prevent overlapping content units being returned for the same placement when prefetched at the same moment in time and space out the period of time in which a user is presented with the content unit.

The drawback of this method is multiple content units and multiple segments needed for the same campaign and is difficult to manage when there are multiple campaigns running concurrently.

Other workarounds to avoid this Issue are the following:
  1. Do not implement Prefetching
  2. Implement Prefetching of content at a point in the game closer to the trigger of the placement. Note, this will not prevent the users from seeing multiple content units successively unless there is Time In Game segmentation applied.