Real-Time Ads: Advertising in an Instant

Things change quickly. So should your advertising. That’s why Adnuntius Advertising is designed to have any updates serving to your site instantly. Any update to your advertising is out the door and serving well before you’ve hit refresh on your site.

Got an advertising order promoting Beyoncé’s just-announced tour? That’s serving as soon as you upload your creative.

Need to A/B test a new ad format? Upload and the experiment is running.

With real-time ads, your workflow is made easy and there’s no guesswork about when or even if your changes have been made. What ads you see uploaded into Adnuntius Advertising are exactly the ads you’ll see serving on your site. Instantly.

The Secret Sauce: Instant Indexing

An indexer is the software that transforms the ads and ad units inputted into the platform into those that are served onto your site. Our handcrafted indexer is designed to make that transition happen instantly, so any changes are made visible on your site immediately with no wait in between.

Instant Indexing and the Ad Server

The ad server is the brain of the Adnuntius platform, making rapid decisions to match users with relevant advertisements.

Indexing and ad serving are the central processing core of any advertising platform. The ad server is the software that runs auctions between competing ads and delivers ads to users. The ad server is like the brain of the Adnuntius platform, making rapid decisions to match users with relevant advertisements, and the indexer acts as the brain’s librarian, organising memories to provide quick retrieval and updates.

Instant indexing means that the Adnuntius brain has immediate recall. By contrast, an ad server without instant indexing is akin to recognising an old friend’s face an hour after seeing them.

The Technical Details

Our indexer translates each advertising change into the format which is most efficient for an ad server to work with. For example, rather than representing device targeting instructions as a text string, we encode it into a number for the ad server to match against the device the user is browsing with. As part of this process, we validate and reject invalid data in order to guarantee a set of invariants for each ad server that we run in the cloud. This means our ad server will never receive invalid data, which simplifies the job and greatly reduces failures.

The biggest impact, however, is on performance. Our design means our ad server never needs to look up data stored in an external database, which is an incredibly slow process compared to holding all the information in the ad server’s memory.

This means that not only does our indexer work incredibly quickly, it also protects our ad server from failing, which makes it a big part of our RAMS (Reliable, Available, Maintainable, and Safe) strategy.

Any changes made to line items or ads, when viewed from the ad server’s perspective, must be:

  1. Consistent – all ad servers see the same results for each change.
  2. Distributed – because we run multiple ad servers on separate computers in the cloud to handle all the traffic, a single ad server must read those changes independently to others running elsewhere.

As a result, an ad server can independently and quickly read queued changes whenever it is up and running. This means shutting down a single ad server on a cloud computer for maintenance is no big deal. Combined with our very responsive load balancer that shares traffic across all our ad servers, any single ad server can go down without impact. When an ad server is back up and running, it will read up to the latest queued change and be back in sync with the other ad servers before it starts serving ads again.

How is it Going?

In 2019, we have had 100% uptime for all of our externally measured ad server checks. We make the current and historical status of our most important services available at

The short batches of changes we send to our ad servers result in changes made to advertising material being acted upon in under a second. And because of their structure and lack of lookups, in a typical day our ad servers will respond to 50% of its impression requests within 9 milliseconds and 99% within 50 milliseconds. The full round-trip time from the browser and back again depends on a user’s location, network speed and use of https, which adds around 30 milliseconds in central Europe. For example, users in many European cities will get an ad impression served to them within 50 milliseconds of a request being made.