# `OpenRtbEcto.V2.BidRequest.Imp`
[🔗](https://github.com/AppMonet/open_rtb_ecto/blob/v1.4.6/lib/open_rtb_ecto/v2/bid_request/imp.ex#L1)

This object describes an ad placement or impression being auctioned. A single bid request can
include multiple Imp objects, a use case for which might be an exchange that supports selling all
ad positions on a given page. Each Imp object has a required ID so that bids can reference them
individually.

The presence of Banner (Section 3.2.6), Video (Section 3.2.7), and/or Native (Section 3.2.9)
objects subordinate to the Imp object indicates the type of impression being offered. The
publisher can choose one such type which is the typical case or mix them at their discretion.
However, any given bid for the impression must conform to one of the offered types.

# `t`

```elixir
@type t() :: %OpenRtbEcto.V2.BidRequest.Imp{
  audio: term(),
  banner: term(),
  bidfloor: term(),
  bidfloorcur: term(),
  clickbrowser: term(),
  displaymanager: term(),
  displaymanagerver: term(),
  exp: term(),
  ext: term(),
  id: term(),
  iframebuster: term(),
  instl: term(),
  metric: term(),
  native: term(),
  pmp: term(),
  rwdd: term(),
  secure: term(),
  ssai: term(),
  tagid: term(),
  video: term()
}
```

# `changeset`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
