How to inject your own bid with a fixed CPM into a Prebid auction

Last updated: March 25, 2021 | by Kean Graham
How to inject your own bid with a fixed CPM into a Prebid auction

This post was most recently updated on March 25th, 2021

In this article, we’ll take a closer look at how Prebid works in Google Ad Manager (GAM) and how publishers can inject their own bids with a desired fixed CPM in the auction. This is usually required when publishers want to show their own ads or in-house campaigns below a certain minimum. Here’s an example:

Let’s say you receive approximately 10000 impressions daily, and the average CPM is $3. After you ran a granular report, you found that 2000 impressions paid less than $1, while you have an in-house campaign that pays you a $1 fix CPM based on the Google Ad Manager impressions report.

In this scenario, you would definitely want to stop any ads being served that pay a CPM less than $1 and run your in-house campaign on those impressions instead. You might also want to use your house ads to promote something from your own network and use that as a backfill if in case Prebid or your GAM line items cannot reach a certain CPM.

How to inject your own bid with a fixed CPM?

The easiest and most effective method to inject your own bid with a fixed CPM is using Price Priority line item settings.

Step #1: You need to create an in-house Order and line items in your Google Ad Manager account. You can create only 1 Line item that will run RON or you can create multiple Line items based on your custom dimensions, e.g., different devices, sections on your website, or sizes, etc. Choose Price Priority for this line item, and put your desired rate in there for example $1. You can change the line item rate later in case you need to adjust the CPMs based on your custom requirements.

Step #2: You need to add your creatives. You can upload image creatives in .png, .jpg, or any other supported formats. You can also upload HTML or javascript creatives that fetch the creative from a certain server and process it via GAM. Make sure to go to the preview tab and confirm if the creative is being fetched and delivered properly.

Step #3: Activate the order. Any impressions that can not get a CPM higher than your pre-defined CPM, e.g., $1, would be served with your in-house ads.

The flow of requests in Prebid Wrapper and Google Ad Manager

While we have already discussed the setup, let’s take a look at the flow of requests in the Prebid wrapper and Google Ad Manager. When you’re running Prebid and a user lands on any page on your website. There will be an auction in the header. It will call all the prebid partners and request bids from them against specific PIDs (containing all important data, like, the placement or the sizes). Once bids are received, the highest bid would be selected and passed to Google Ad Manager. GAM will run its internal auction and see if there are any eligible line items that can pay higher than the Prebid bid. There can be three possible situations at this point:

  1. If there are any eligible line items paying higher than the prebid bid and higher than $1, they would be selected and served to the user.
  2. If there are no eligible line items in GAM that could pay higher than the prebid bid while the prebid bid is higher than $1, prebid will take that impression.
  3. If there are no eligible line items in GAM that could pay higher than the prebid bid while the prebid bid is lower than $1, that impression would be served with your in-house ad.

That means you have achieved your desired result that could be interpreted as below:

  • Prebid will only get selected if it pays higher than your pre-defined CPM for your in-house ads and also higher than any other eligible line item in GAM.
  • Your GAM line items will only get selected if they pay higher than the prebid bid and also higher than your predefined bid.
  • For any impression where prebid or your GAM line items pay lower than your predefined CPM, your house ads would take precedence and get served for that specific impression.

The medium of communication between Prebid and the ad server (GAM)

One last thing to note here is that all line items in GAM created for prebid integration are activated based on the value of GAM key hb_pb. Key-value hb_pb is the medium of communication between your ad server (GAM) and prebid. If there is no bid from prebid sent to GAM, then hb_pb key-value will not be set, and no line item will be selected from prebid orders.

In that case, GAM will proceed with its internal auction. If there is any eligible line item paying higher than your predefined CPM, it would get served. Otherwise, your in-house will take precedence.


Injecting fixed CPM bids into Prebid is a good way of increasing your ad revenue and making sure you maintain CPM levels. Are you trying to optimize your ad revenue but not getting the results you want? MonetizeMore is a Google Certified Publisher Partner who has helped hundreds of publishers optimize their ad inventory. Do you want to take your ad revenue to the next level? Sign up to get started today!

More than 1500 publishers see 50-400% ad revenue growth with us.

Don't just take our word for it


Paid to Publishers


Ad Requests Monthly


Happy Publishers

Recommended Reading

Ad Network Reviews, Tips & Guides
April 12, 2024

12 Quick Approval Ad Networks For 2024 – Jumpstart Site Monetization

Read More
Ad Industry News
April 10, 2024

MonetizeMore earns top spot on the Financial Times List for 3 Years Straight

Read More
Ad Exchange Ad Optimization
April 9, 2024

I Only Run Ad Exchange. Do I Need Unified Pricing Rules?

Read More

Trusted by 1,500+ publishers worldwide

10X your ad revenue with our award-winning solutions.

Let's Talk


Ready to 10X your ad revenue with the #1 ad management partner?

Start Now