Sending the loss notice URL (lurl) in bid responses

DSPs
Last Updated: October 15, 2026•

The lurl (loss notice URL) field lets a DSPClosed Demand-Side Platform (DSP). A software platform that automates bidding decisions in real-time and efficiently connects buyers and audiences through an ad exchange or SSP. Also known as a buy-side platform. receive a callback reporting the outcome of a losing bid in the Index auction.

DSPs typically use loss notices to:

  • Tune bid pricing, by comparing your bids against the winning bid.

  • Manage pacing, by learning which Index auctions were lost and why.

  • Diagnose integration problems, such as bids rejected for technical or policy reasons rather than price.

Note: Loss notices are diagnostic. They are not billing events and are never counted as impressions. See How Index counts impressions.

How to send it

Include the lurl field on the Bid object in your bid responseClosed An OpenRTB response that is sent by the DSP in response to the SSP's or ad exchange's bid request. It is an event directed back to the seller expressing a valuation for the request and conditions of sale.. The value must be a URL that Index can call.

A loss notice is sent per losing bid, not per bid response. If your response contains several bids and more than one loses, Index fires the lurl for each losing bid separately.

Supported macros

Index supports the following macros in lurl:

MacroDescription

${AUCTION_LOSS}

The loss reason code for the bid. See Loss reason codes.

${AUCTION_MIN_TO_WIN}

The minimum bid needed to tie the winning bid in the Index auction, in dollars. Applies only when your bid lost to another bid.

Note: Index does not support ${AUCTION_PRICE} in lurl. That macro applies to winning bids only. See Auction price macros.

Delivery behavior

  • The notice is delivered as an HTTP callback, fired after the Index auction completes.

  • If the DSP does not accept the callback, Index retries until the notice expires.

  • A notice expires 30 minutes after it is generated. If it has not been accepted by then, it is not sent again.

Examples

An example bid response containing a lurl:

{
  "id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
  "seatbid": [
    {
      "bid": [
        {
          "id": "bid-002",
          "impid": "1",
          "price": 1.40,
          "adm": "<script src=\"http://adserver.dsp.com/ad.js?price=${AUCTION_PRICE}\"></script>",
          "lurl": "http://adserver.dsp.com/loss?id=bid-002&reason=${AUCTION_LOSS}&mintowin=${AUCTION_MIN_TO_WIN}"
        }
      ],
      "seat": "dsp-seat-1"
    }
  ],
  "cur": "USD"
}

If the bid loses on price, Index calls the following URL:

http://adserver.dsp.com/loss?id=bid-002&reason=102&mintowin=2.75