---
title: "Epom PMP deal types compared — First price, Second price and Bid-floor (fixed) deals"
description: "A decision table for Epom's three PMP auction types and the Private-auction toggle — what each means commercially, how the win price is set, and why there is no programmatic-guaranteed type."
type: "concept"
audience: [network-manager]
keywords: [PMP, deal type, auction type, first price, second price, bid floor, fixed price, private auction, preferred deal, programmatic guaranteed, homepage takeover]
ui_path: "Account → Advertisers → advertiser → campaign → PMP deals"
---

Fetch the complete documentation index at: https://epom.com/ad-server/docs/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# Epom PMP deal types compared — First price, Second price and Bid-floor (fixed) deals

Every PMP deal row on a campaign carries an **Auction type**, and Epom implements exactly three:
**First price**, **Second price**, and **Bid floor price** (a fixed-price deal). On top of that,
the **Private auction** toggle changes *what is allowed to compete* on the campaign. This page is
the one-screen comparison — pick the auction type that matches the commercial agreement, decide
whether to flip Private auction on, and understand what Epom deliberately does *not* offer. For the
step-by-step setup of a deal row, see [Manage PMP deals on a campaign](https://epom.com/ad-server/docs/guides/advertising/pmp-deals.md); for the
end-to-end selling recipe, [Sell premium inventory through PMP private deals](https://epom.com/ad-server/docs/use-cases/pmp-private-deals.md).

## Who this is for

Network managers structuring a deal with a buyer and choosing its auction type. The **RTB PMP
deals** card needs the *RTB PMP Deals* permission — ask your network admin if you don't see it.
You should already know how a PMP deal attaches to a campaign: this page is about the *choice*, not
the mechanics of adding a row.

## The three auction types at a glance

The Auction type is a per-row field on the Add/Edit deal modal. Its three values map to three
commercial shapes:

| Auction type | Commercial meaning | How the win clears | Reach for… |
|---|---|---|---|
| **First price** | Standard preferred deal — the buyer gets first look at a negotiated floor and pays what they bid. | The buyer pays their own bid (any bid at or above the deal floor is accepted). | The default preferred-deal arrangement; the buyer accepts pay-what-you-bid. |
| **Second price** | A preferred deal billed second-price — the buyer never pays more than just above the next offer. | The win clears one cent above the higher of the deal floor and the runner-up bid, never above the buyer's own bid. | Buyers who negotiated second-price billing on the deal. |
| **Bid floor price** | A **fixed-price deal** — one agreed CPM, full stop. The classic "homepage takeover at $X CPM". | Epom replaces the bid's price with the deal floor before the auction, so the win clears at exactly the floor — see the corner cases below. | Sponsorships and takeovers sold at a flat, pre-agreed CPM. |

All three are gated by the same rule: **a deal bid must reference your Deal ID, come from the
negotiated Buyer seat, and meet the deal floor** — otherwise it is rejected. A valid deal bid then
uses the **deal floor in place of your open-auction placement/site floors** (the deal terms are the
contract). The auction-mechanics detail — including how a lone deal bid vs. multiple bids clears —
is documented in the recipe's
[How the auction treats deal bids](https://epom.com/ad-server/docs/use-cases/pmp-private-deals.md#how-the-auction-treats-deal-bids).

> **Note:** the **Bid floor** *field* (the price) and the **Bid floor price** *auction type* are
> different things. Every deal row has a Bid floor value; only the *Bid floor price* auction type
> makes that value the fixed clearing price. Under First/Second price the same field is a floor, not
> the settlement price.

## The Private auction toggle — what competes

Private auction is a **card-level** switch on the campaign (it applies to the whole campaign's bid
requests, not to one row), and it saves the moment you click it. It changes *which bids are
eligible*, independent of the per-row auction type:

| Private auction | What is allowed to compete on the campaign's bid requests |
|---|---|
| **Off** (default) | Deal bids **and** open-auction bids from the same partner compete side by side. The deal is a *preferred* arrangement layered over the open auction. |
| **On** | **Only deal bids** are accepted — open-auction bids referencing no valid deal are rejected. The campaign becomes deal-only. |

Turn it **on** when the buyer expects exclusivity or a guaranteed-access feel and you don't want
open demand undercutting or crowding the deal. Leave it **off** when the deal is just a
better-priced lane alongside your normal programmatic fill.

## Putting it together — pick by intent

| Your intent | Auction type | Private auction |
|---|---|---|
| "Give this buyer first look at a floor; they pay their bid." | First price | Off |
| "Same, but bill them second-price." | Second price | Off |
| "Sell the slot to this buyer at a flat $X CPM." | Bid floor price | On (usually) |
| "This inventory is reserved for this buyer only." | any | On |
| "Preferred pricing, but keep open demand competing too." | First / Second price | Off |

## There is no programmatic-guaranteed deal type

Epom's PMP is **auction-based only**. There is **no** programmatic-guaranteed / reservation deal
type that locks a fixed impression volume, and no automated curated-package construct. The three
auction types above are the whole menu.

If a buyer wants a *guaranteed* takeover, you approximate it with the tools Epom does have, not with
a deal type:

- a **Bid floor price** deal for the fixed CPM,
- **Private auction on** so nothing else competes,
- tight **campaign linking, targeting and limits** on the dedicated campaign to reserve exactly the
  inventory and volume you promised (link only the covered placements, target only the agreed geo,
  cap to the agreed impressions).

That combination is Epom's stand-in for a guarantee — the platform enforces the price and the
exclusivity, and your linking/limits enforce the volume.

## Corner cases and gotchas

> **Corner case:** **Bid floor price is enforced by Epom, not left to the buyer.** The auction type
> travels to the DSP inside the deal object of the bid request, where it means "the floor is the
> agreed price". When a deal bid comes back, a bid below the floor is rejected, and for a Bid floor
> price deal the bid's price is set to the floor before it competes — whatever the buyer's bidder
> sent above it. First price keeps the bid as sent.

> **Corner case:** the **auction type is per row**; **Private auction is per campaign**. You can
> have several deal rows with different auction types, but the private/open decision is one switch
> for the whole campaign — you cannot make one deal private and another open on the same campaign.

> **Corner case:** **Private auction on with only country-scoped deal rows sends no bid request at
> all** for traffic outside those countries — a private auction with no eligible deal is an invalid
> request and is dropped before sending. Add a **Global** (`*`) deal row if the deal must ride along
> on all traffic. (See the recipe's corner cases.)

> **Corner case:** a **Bid floor price** deal clears at the deal floor **even if the buyer bids
> higher**, and it competes at that floor against other bids — you leave money on the table if you
> priced the fixed deal below what the buyer would pay. Use First price if you want upside from a
> high bid.

> **Corner case:** the deal floor **overrides your open-auction floors in both directions**. A
> generous placement Bid Floor does not protect you from a deal you priced too low — under any of
> the three types a valid deal bid clears at deal terms, skipping your open floors.

> **Corner case:** there is **no per-deal dimension in analytics**. Regardless of auction type, if
> you attach several deals to one campaign their delivery blends into one set of numbers — one
> campaign per deal is the only way to measure each deal separately.

## Per-role notes

- **Network manager, advertiser** — the card appears only once your network administrator grants *RTB PMP
  Deals*; whoever holds it picks the auction type. The deal terms come from the network's side of the buyer relationship and the DSP partner
  behind them from your network administrator.
- **Can view share** — the auction-type field and the **Private auction** toggle are visible but
  disabled: you can read the deal structure, not change it.

## Related

- [Manage PMP deals on a campaign](https://epom.com/ad-server/docs/guides/advertising/pmp-deals.md) — the field-by-field card and row lifecycle
- [Sell premium inventory through PMP private deals](https://epom.com/ad-server/docs/use-cases/pmp-private-deals.md) — the end-to-end recipe
- [Create and edit a campaign](https://epom.com/ad-server/docs/guides/advertising/campaigns.md)
- [OpenRTB (DSP) banners](https://epom.com/ad-server/docs/guides/advertising/banner-openrtb-dsp.md)
- [Configure DSP partners](https://epom.com/ad-server/docs/guides/admin/dsp-partners.md)