Auto refresh triggers

Auto refresh triggers describe what makes an ad slot load a new ad without a new page view: a user action, a content event, or a timer. OpenRTB 2.6 sends the value in RefSettings.reftype, inside imp.refresh.refsettings, where it defaults to 0. Buyers use it with the refresh count and minimum interval to price refreshed impressions.

List: Auto Refresh Triggers4 valuesUsed by imp.refresh.refsettings.reftype

Values

ValueNameWhat it means
0UnknownThe slot refreshes, but the trigger is unknown or not reported; this is the default when reftype is absent.
1User ActionThe refresh follows something the user did, such as scrolling, swiping or changing a tab.
2EventThe refresh follows a change in the content, such as a live score update, with no user action.
3TimeThe slot refreshes on a fixed timer, whether or not the user is active.

Fields that use this list

How to use it

Declare refresh on every impression from a slot that refreshes, including the first one with a count of 0, so buyers can see how the slot behaves. Imp.refresh holds Refresh.count, the number of refreshes since the page loaded, and an array of RefSettings objects. Each entry pairs a reftype with RefSettings.minint, the minimum seconds the creative stays on screen before the next refresh. A slot with more than one trigger, for example a timer plus refresh on scroll, sends one entry per trigger. A timed slot looks like {"count": 2, "refsettings": [{"reftype": 3, "minint": 30}]}. If a slot never refreshes, leave Imp.refresh out instead of sending 0.

Common mistakes

  • Sending reftype 0 for a slot that does not refresh. The value says a refresh exists but its cause is unknown.
  • Declaring 3 (Time) without RefSettings.minint. The interval is what most buyers price on.
  • Hiding refresh by omitting Imp.refresh on refreshed impressions. Buyers can often spot refresh from impression patterns, and undeclared refresh undermines trust in the seller's other signals.
  • Counting a new page view as a refresh. Navigation to a new page resets Refresh.count; it is not a trigger.

Validation

On OpenRTB 2.6 snapshots, RTBlint reports a value outside this list as openrtb.value.invalid. Paste a request into the tester to check the values you send.

Related lists

All lists are on the enumerated lists index.