Impression win notifications

NOTE: Even though we use the OpenRTB terminology, this solution does not strictly follow the IAB OpenRTB API Specification.

To recap the basics, RTB (Real-Time Bidding) responses contain bids that reference specific impressions within a bid request. The bid response consists of the top-level bid response object that can contain multiple SeatBid objects, each on behalf of a different bidder seat and containing one or more individual bids. A SeatBid object contains one or more Bid objects, each of which relates to a specific impression in the bid request and constitutes an offer to buy that impression for a given price. For details, see Bid Response object model.

The following sections outline the bidding and decisioning workflows and explain the relevant terminology.

Bid winning workflows

Each bid contains the win notice URL (the nurl attribute) and other relevant information. As its name suggests, the primary purpose of the win notice is to inform a bidder that they won an auction. Exchanges are strongly encouraged to disclose their event triggers, billing policies, and any other relevant details they associate with the win notice to their bidders. If the bidder wins the impression, the exchange calls the win notice URL to inform the bidder of the win. It also communicates specific details, including the clearing price, through substitution macros such as ${AUCTION_PRICE}. See also Bid request and response examples.

IMPORTANT: Win notices must be sent immediately, within seconds of the bid.

Notification types

A win notification, however, does not guarantee that the ad will be successfully delivered to the client or that it will meet viewability expectations. This win notification announces only a provisional win and is also sometimes referred to as a provisional notification. Most exchanges consider an ad billable upon some form of ad delivery or rendering versus the auction win alone. This aligns with the buyer’s goal of ensuring that the impressions they pay for are actually displayed. A billable event is also known as an actual win or billable win. Many buyers use their own tracking URL placed within their ad markup to signal rendering independent of the OpenRTB auction win notice. A win notification that signals an actual win is also sometime referred to as a billing notification. All types of notifications from the exchange might sometimes be referred to as feedback.

The following diagram illustrates the bidding process with the winning bid notification workflow highlighted in purple and the alternate loss notification workflow highlighted in orange.

Decisioning and waiting time

When we receive a provisional win notice, we hold the budget until we get the billing notification. If the billing notification is not received within a predefined waiting time from the bid, the impression expires, the auction gets cancelled, and the amount of the auction price from the bid is returned to the budget. At The Trade Desk, we sometimes refer to this waiting time between the auction and the billing notification as delayed feedback and to expired win notices as invalid feedback.

The waiting time might vary significantly, depending on real-time conditions at the time of bid and certain types of inventory prone to long delays in sending win notices. For example, CTV publishers may pre-cache their ads, which means they send requests for all ad breaks at the beginning of the content, to ensure a seamless viewing experience and competitive separation.

IMPORTANT: Ideally, we prefer the billing notification within seconds of the bid. This would eliminate the need for provisional notifications. If you cannot send the billing notification immediately, you must send a provisional notification with the clearing price, still within seconds of the bid. For details, see What you need to know and How to avoid losing impressions.

The following diagram illustrates the decisioning steps in the bidding workflow.

What you need to know

Here's a summary of what you need to know about the effect of delayed feedback on bidding efficiency and decisioning:

IMPORTANT: If a significant portion of your feedback is more than a minute late, we'll stop buying your inventory.

How to avoid losing impressions

There are many ways one can implement win notifications. For example, the provisional win URL can be placed in the adm field of the response and the billable win URL placed in the burl field of the response. To avoid unnecessary delays and pacing issues, we recommend the standardized way of implementing and firing the following two notifications (impression trackers), especially across the inventory that is subject to long delays.

Win Notification Bid Object Field Description Firing Expectation
Provisional nurl Indicates that The Trade Desk bid has won the SSP auction and enables us to better budget, pace, and account for the delay while we wait for the final billing notification. Should be fired upfront (within seconds or faster of receiving the bid) every time you know The Trade Desk has won the auction.
Billing adm Indicates a billable event when the impression is rendered. Should be fired at the end of a session or as close to the rendering (billable event) of the impression as possible.

NOTE: Separate notices for provisional and actual wins are sometimes referred to as split feedback.

To accurately account for discrepancies for reporting and testing purposes, be sure to do the following when setting up your integration:

Align impressions and ad starts.
Specify your preferred maximum waiting time for a billable notice before the impression expires.

Terms and definitions

The following table provides an alphabetical summary of the industry and The Trade Desk internal terms used in this article.

TIP: For general inventory terms, such as viewability, QPS, NBR, see our Glossary. See also Inventory policies, which include NBR code examples and inventory blocks.

Term Definition
Billing notification A win notification from the exchange that announces an actual win. It indicates that the winning bid is billable because the ad has been successfully rendered or viewed. For details, see Notification types.
BURL BURL, or a billing notice URL, is a notice of an actual win in an OpenRTB auction that the exchange sends to a bidder. It indicates that the winning bid is billable because the ad has been successfully rendered or viewed.
IMPORTANT: Since a lot of SSPs do not support BURL, The Trade Desk recommends using ad markup (the adm field) for billing notifications. For details, see How to avoid losing impressions.
Delayed feedback Delayed feedback is the term that we sometimes use to refer to the waiting time between the auction and the actual win (billable) notifications, based on bid time. For details, see Bid winning workflows.
Feedback Any types of notices that the exchange sends to a bidder in an OpenRTB auction.
Invalid feedback Invalid feedback is the term that we sometimes use to refer to win notices that expire after the specified maximum waiting time between the auction and the billing notification elapses.
NOTE: Other issues with bid requests might also result in invalid feedback. For example, an invalid winning price, invalid signature, duplicate feedback, or missing creative approval.
LURL LURL, or a loss notice URL, is a notice of a loss in an OpenRTB auction that the exchange sends to a bidder.
NOTE: An exchange-specific policy might preclude support for loss notices or the disclosure of winning clearing prices, in which case the macros are removed, and the values are replaced with a zero-length string.
NURL NURL, or a win notice URL, is a notice of a provisional win in an OpenRTB auction that the exchange sends to a bidder. This notice does not guarantee that the ad will be successfully delivered to the client or that it will meet viewability expectations. For details, see How to avoid losing impressions.
Provisional notification A win notification from the exchange that announces a provisional win. This notice does not guarantee that the ad will be successfully delivered to the client or that it will meet viewability expectations. For details, see Notification types.
Split feedback Split feedback is the term that we sometimes use to refer to the two separate win notifications: provisional and billing. For details, see How to avoid losing impressions.

FAQs

The following is a list of commonly asked questions.

What's the difference between split feedback and delayed feedback?

The term "split feedback" refers to the two separate win notifications (provisional and billing), while the term "delayed feedback" refers to the waiting time between the auction and billing notification for the actual win.

Can I set up my win notifications with specific inventory attributes? For example, on in-app, display inventory for a given publisher ID.

To ensure timely responses, we prefer the standardized approach described in this article. If you need to set win notifications differently, contact your Technical Account Manager.

What are the default waiting time settings for billing win notifications?

IMPORTANT: All win notifications must be sent within seconds of the bid. If a significant portion of your feedback is more than a minute late, we'll stop buying your inventory.

Although we strongly discourage relying on the default values when waiting for billing notices, in some unique cases, we may make the following exceptions for the predefined waiting times:

Can I set a different maximum waiting time between the auction and billing win notifications?

Our default predefined waiting time is a maximum of 120 minutes for billing notifications preceded by prompt provisional notifications within seconds of the bid. While you can set a different waiting time in the exp field in the bid object, we strongly recommend sending your billing notifications within seconds of the bid. For details, contact your Technical Account Manager.

IMPORTANT: If a significant portion of your feedback is more than a minute late, we'll stop buying your inventory.

Will I extend the waiting time by sending a provisional win notice later?

No. Delayed feedback is the waiting time between the auction and the billing notification, and our expiration (the exp attribute) is based on bid time. For example, with the expiration set to 70 minutes, we will not accept a billing notification sent 71 minutes after the auction regardless of when the provisional notice was sent.