# Auction & Impression Tracking

## Auction

Price model is always first-price, indicated via the `at:1` field in bid requests.

## Impression Trackers 

Impression tracking URL requests are sent immediately upon rendering the impression. There are two options to provide these URL(s) in bid responses: 1) as a URL in the `bid.burl` field, or 2) as an array of URL(s) in the bid response's `seatbid[].bid.ext.imptrackers` field.  There is no difference between the options functionally, so you may use whichever suits your requirements.

<div class="alert alert-warning" role="alert">
  <b>Important:</b> On Chartboost Android SDKs up to version 7.1.0, due to a bug these requests are sent as <code>POST</code> method with a query string (no body); later SDKs are sent as standard <code>GET</code> method with the same query string.  Therefore, please ensure your impression tracking endpoint supports receiving a <code>POST</code> method request with query string parameters.
</div>

## Impression Pixels 

Bidders are free to include impression tracking pixels in their ad markup. However, for billable impression tracking, DSPs must use the `burl` or `ext.imptrackers` URLs.  Pixels embedded in ad markup should not be relied upon as a primary tracking method and may lead to discrepancies.

## Supported ext.imptrackers and burl macros
  * `${AUCTION_ID}`
  * `${AUCTION_BID_ID}`
  * `${AUCTION_IMP_ID}`
  * `${AUCTION_SEAT_ID}`
  * `${AUCTION_AD_ID}`
  * `${AUCTION_PRICE}`
  * `${AUCTION_CURRENCY}`
  * `${AUCTION_LOSS}`
