Prebid 2024 — Trade-offs

Emil Hein
Ad-tech
Published in
4 min readJan 4, 2024

Most software development is about trade-offs. It simply means that few things are only good or only bad. Therefore, one has to balance the pros and cons to determine the best solution. Prebid is no different, and I will here list some of them.

Trade-off

Firstly, if you want to know the basics about prebid, read here:

I will outline 3 aspects worth considering when dealing with prebid.

  1. Should you even use prebid?
  2. Should you use client-side prebid?
  3. Should you use server-side prebid?

Should you even use prebid?

This seems odd, but hear me out!
The reason for using prebid in the first place is to increase demand and therefore revenue. So why on earth wouldn’t we want to use prebid?

  • The design of Prebid makes your site slow. That might sound a little scary, which it is. Prebid will undoubtedly delay your ads from being shown (known as Prebid timeout).
    Moreover, Prebid will cause your user's network bandwidth to be closer to maximum, than if you didn’t run Prebid.js.
    Prebid will initiate network requests and download resources to your users, and therefore you should be very aware that it will not slow your site, to a degree where users might bounce away.
  • Whether you choose one or the other prebid options, it will add to your general workload to maintain this setup. — What if I told you, that you could make 5$ extra for each marathon you ran? — would you do it? — nah!
  • If you have advertisers that are willing to pay a good price for all your inventory (this is very rare, but it does happen), then you don't need the extra demand Prebid can offer

Assuming you have chosen to use Prebid to expand your demand and drive a bigger competition for your inventory. In that case, you now have roughly two options unless you just buy the service from a 3rd party. You can either use the client-side version or the server-side version. Below you can read about some of the trade-offs.

Should you use client-side prebid?

Client-side prebid is way easier to get started with. “All” you have to do is to include a prebid script on your website along with some configurations for your ad units. At least that's how it starts :)

  • Maintaining an up-to-date prebid file is at first glance easier, but will over time require you to constantly update it. There are several reasons why you might want/need to update it:
    1. It could be you want to add a new bidder, thereby increasing the competition.
    2. It could be a new version or feature is needed, which is only available in the newer prebid versions.
    In any case, you will most likely end up adding more and more “stuff” (modules and adapters) to your prebid file, which will make the file bigger and take more resources from your users.
  • Since creating a prebid file is so easy, it can almost be done by non-developers. This is not only a good thing as non-developers tend not to have the site's performance as their highest priority.
  • Depending on the size of your site, hosting your prebid file might become costly. This is an aspect rarely touched, but it should be considered.
  • If you manage multiple sites, they most likely will require different prebid files and configurations, which can make scaling and versioning a bit difficult, depending on how many different files you need.
  • As a developer maintaining a website, you should be highly cautious when adding 3rd party libraries. You don’t have any control over how they might behave on your site, or what other resources they might require.
  • Prebid was created with the idea of making it fairer and easier for more demand to bid on the same inventory. This is largely achieved, but over time scaling problems have occurred. Adding 20 different bidders is not recommended for many reasons (mainly because your site will become super slow) and therefore adding more demand by using client-side prebid is only partly a solution.

This brings us to the last case.

Should you use server-side prebid?

Server-side prebid solves some of the scaling and performance issues of client-side prebid, but it also comes at a price.

  • With client-side prebid, you have a scaling problem when you reach a certain amount of bidders. That ceiling virtually doesn't exist in er server-side setup (read more here). However, a problem arises, when a certain bidder only exists in the client-side version. What then? Should you use client-side, a mix of the two, or drop that bidder altogether?
  • Maintaining a server to handle your prebid traffic comes with a significant technical overhead. This means that for small publishers it's a relatively big task to set up servers, load balances, domains, etc. For a server-side setup.

Stay hydrated!

You might also like:

--

--

Emil Hein
Ad-tech

Fullstack developer. I enjoy prototyping and testing new services. I like working with JavaScript, Nodejs, AWS and Vue, Browser API's, adtech, Go + more