DSPs must include the ${AUCTION_PRICE} win notification macro and optionally the ${SUPPLY_FEE} macro in the adm or burl field of the Bid object. Bids without a win notification macro are rejected. The macro is replaced only if you win the auction and the creative is served to a user.
Include the following win notification macros in the creative that you send to Index Exchange (Index):
| Macro | Scope | Description |
|---|---|---|
| Required | The winning price for the impression, in dollars. |
| Optional | The revenue share percentage (%) that Index takes as margin from the buyer's bid. Note: If the seller does not allow fee disclosure, Index will not substitute the |
If the DSP wins the auction, the win notification macro is evaluated and the bid price is sent to the DSP when the ad markup or burl is consumed by the browser, video player, or ads SDK. If the Media Owner supports OMID, the burl is sent to the DSP when at least one pixel of the mobile app banner is painted into the device's viewport. If the Media Owner allows fee disclosure and the ${SUPPLY_FEE} macro is included, the Index revenue share for that transaction is also provided. For more information, see win notification examples.
Encrypting clear prices
Some Media Owners require that any pricing information that is visible on the page to be encrypted. We support encryption of the clear price embedded in DSP win notifications using Google's encryption algorithm, HMAC_SHA1.
Bid Response
To support encryption, you must append a custom suffix such as IEX to the clear price notification macro in the bid response using the OpenRTB standard in the following format:
price=${AUCTION_PRICE:IEX}
Index advises that all DSP partners support clear price encryption. Bid responses that do not support this are excluded from all auctions where a publisher requires encryption.
Win notification
Use Google's algorithm to decrypt an encrypted clear price. For more information, see Decrypt Price Confirmations in Google's Authorized Buyers documentation. Index provides hex-encoded encryption and integrity keys, which are of 32 bytes. You need to hex-decode the keys to decrypt the clear price. The decrypted values are displayed in micro USD. Refer to the decryption output below for an example:
Integrity Key: ed81b2e9466ec5fa4f1384272f634a0cb5262d2085e3b5262810eabc96051537
Value to Decode: Vs3pLAAAAADhyo6uRlLOWOL_BrmQYsSx-Uinbw
Decoded Value: 4534896 micro dollars = 4.534896 dollarsDSPs are notified of a winning bid (and the results) after each impression is served.
Creative testing and audit signaling
As a part of our ad quality standards, Index will often test and audit creatives to ensure that they meet our exchange standards. During this time, Index does not count impressions, and signals to the DSP that the creatives are being tested or audited.
In accordance with the OpenRTB 2.6 specification on Substitution Macros, Index substitutes the ${AUCTION_PRICE} macro in the adm or burl provided by the DSP with a value of "0.00" or a custom value such as "AUDIT" to signal that the creative is being tested or audited. For more information about custom values, contact your Index Representative.
If a DSP has price encryption enabled with Index, the value "0.00" is replaced with its encrypted equivalent to maintain compatibility with the DSP's decryption process. Custom values will not be encrypted.