How Zurla works

Auctions
under 100 ms.

Zurla, a large language model made for advertising, takes every ad request through five steps in under 100 ms: consent, checks, price, auction and report. Here’s one, step by step, and why its ad won.

One ad request, start to finish

Illustrative data

On a websiteZurla SDK

On a website: consent at 0 ms, checks at 5 ms, price at 9 ms, auction at 68 ms, and the ad is in its slot at 74 ms.

In an appInterstitial

In an app: consent at 0 ms, checks at 12 ms, price at 16 ms, auction at 74 ms, and the winning bid is back in the app at 94 ms.

  1. ConsentChoices read
  2. ChecksBots and brand rules
  3. PriceFloor set
  4. AuctionEvery buyer at once
  5. ReportLogged with what it earned

Plain words

Six words that explain
every auction.

Auction
A contest for one ad slot, held the moment the slot is about to show. Buyers bid, and the highest bid that meets your rules wins.
Bid
A buyer’s offer for that one ad, stated as a price per 1,000 views. Each buyer decides on its own what the ad is worth to it.
FloorAlso called: price floor, reserve price
The minimum price you accept for the slot. In the open auction, every buyer gets the same one. More in Price floors.
Private dealAlso called: PMP, private marketplace
A price agreed ahead with one buyer. It runs in the same auction, at the price in the deal.
TimeoutAlso called: time limit, tmax
How long buyers have to answer. Every buyer asked gets the same limit, and Zurla’s auctions finish in under 100 ms.
Late answer
A bid that arrives after the time limit. It doesn’t count in that auction, and it’s logged, so you can see who answers in time.

One ad request

Ask why any ad won.
Zurla walks you through it.

Every ad request runs the same five steps on Zurla’s RTB (real-time bidding) infrastructure: consent, checks, price, auction and report, in under 100 ms. Ask Zurla why an ad won, or tap a step to see the standards behind it.

Ad in its slot

Zurla · Pellbrook Media Live

Why did the Tovrin & Co. ad win the feed slot just now?

It beat four other bids, from $2.10 to $3.10, over your $1.80 floor (the minimum you accept). Here’s the whole request: 74 ms from your page reaching me to the winning ad going back.

  • Consent: read the reader’s choices (IAB TCF v2.3)
  • Checks: known bots filtered, your brand rules met
  • Price: floor set toward your goal, the same for every buyer
  • Auction: a private deal (a price agreed ahead with one buyer) won at $3.40 per 1,000 views
  • Report: logged with what it earned

Ad in its slot

Ask Zurla why an ad won

Step 01

Consent

Zurla reads the choices the reader made in your consent tool, through the SDK or Prebid, before anything is sent. Over OpenRTB, your auction passes them in each request.

IAB TCF v2.3
Consent from your consent tool for readers in Europe and the UK
GPP
US state privacy choices
Global Privacy Control
The browser’s “don’t sell or share” signal is honored
No consent for personalized ads
Ads chosen from the page, not the person
Children’s pages
Flagged (COPPA), no personalized ads

Step 02

Checks

Before any of Zurla’s buyers see the request, Zurla filters out known bots and checks the page against your brand-safety rules.

Invalid traffic
Known bots filtered before the auction (GIVT), with deeper checks (SIVT) after the ad serves
Page categories
IAB Tech Lab Content Taxonomy
Your blocklists
Advertisers and categories you never want
Ad scanning
Creatives scanned for malware and forced redirects before they serve

Step 03

Price

On the SDK and hosted Prebid, Zurla sets a floor for this slot, on this page, right now, aimed at your goal. In the open auction, every buyer gets the same floor.

Floors
Per request on the SDK and hosted Prebid; as floor rules through the Price Floors module on Prebid; your own floors when Zurla just bids or gets OpenRTB requests
Speed budget
Applied to every auction Zurla runs, on the SDK and hosted Prebid
Hard rules
Minimum prices Zurla never goes under

Step 04

Auction

Premium buyers and the deals you set up through Zurla bid at the same moment, inside the same time limit. Every request carries its full supply path, a short, direct route to your site, which is what buyers look for.

Time limit
The same for every buyer. A bid that arrives late is logged and doesn’t count
OpenRTB 2.6 and Native 1.2
The formats buyers already use
Deals
Open auction, private deals and fixed-price deals, all in one place
ads.txt
Your line for Zurla marks a direct relationship
sellers.json and supply chain
Zurla lists you as the seller, and each request carries its supply chain
bid-request.json · sourceOpenRTB 2.6
{
      "source": {
        "schain": {
          "ver": "1.0",
          "complete": 1,
          "nodes": [{ "asi": "zurla.com", "sid": "ZRL-000000", "hp": 1 }]
        }
      }
    }
The supply chain every buyer receives.

Step 05

Report

The winning ad goes back to its slot and is logged with what it earned.

Sealed ads
Banners run in a sealed frame that can’t read or change your page. Native ads are drawn from plain parts, and any tracking script a buyer sends runs in a sealed frame, or is refused.
Viewability
Counted the way buyers count it (MRC): half the ad on screen for at least one continuous second, or 30% for large ads such as 970×250
Auction log
Every bid, when it arrived and how it did, by buyer
Live reports
By site, section, slot, format and buyer
Change log
What Zurla changed, why and what it earned, with one-click undo

Illustrative data

Format

Winning bid back in your app · 94 ms

Illustrative data

Ask Zurla · Brindle Blocks

What happens when Brindle Blocks asks for a level-break ad?

Here’s one, timed from your app’s call. The winner waits on the device for the break:

  • Read the player’s consent and tracking answers · 0 ms
  • Screened for known bots, checked your blocklists · 12 ms
  • Set the floor (minimum price) at $8.50 · 16 ms
  • Ran the auction, every buyer at once · 74 ms
  • Winning bid back in your app · 94 ms

Winning bid back94 ms

Ask Zurla about an ad request

IAB TCF v2.3: the ad industry standards body’s consent framework.

Illustrative data

Step 01

Consent

Before any request goes out, Zurla reads the choices stored in your app: the answer to Apple’s tracking prompt, your consent tool’s answers, and whether the app or user is child-directed.

The standards behind it
ATT (App Tracking Transparency)
Apple’s prompt asking whether an app may track a person across other companies’ apps and websites. Your app shows it if you choose; Zurla reads the answer
IAB TCF v2.3
The ad industry standards body’s consent framework for people in Europe, the UK and Switzerland, read from the keys your consent tool saves on the device
GPP
The Global Privacy Platform: US national and state privacy choices from the same consent tool; opt-outs of sale, sharing and targeted ads are honored
Google UMP
If Google’s User Messaging Platform is your consent tool, Zurla reads its saved answers the same way
Children
Child-directed requests carry the COPPA flag (COPPA is the US children’s online privacy law): contextual ads, no advertising ID

Step 02

Checks

Before any buyer sees the request, Zurla filters known bots and invalid devices and checks the request against your rules. Deeper checks for emulators, device farms and SDK spoofing run after the ad serves, and traffic they flag is kept out of later auctions.

The standards behind it
Invalid traffic
Known bots and invalid devices filtered before the auction (GIVT, general invalid traffic), with deeper checks after the ad serves (SIVT, sophisticated invalid traffic) for emulators, device farms and SDK spoofing (fake requests that pretend to come from a real app)
App identity
Your bundle ID and store listing, matched to your app-ads.txt (a public file on your developer website that tells buyers who may sell your ad space)
Age rating
Ads held to what suits your app’s age rating
Your blocklists
Advertisers, categories and competing apps you never want to promote
Ad scanning
Creatives scanned for malware and forced redirects, including jumps to an app store without a tap

Step 03

Price

Your caps were already checked on the device. Zurla sets a floor (the minimum price a bid must meet) for this placement, format and country, aimed at your goals.

The standards behind it
Floors
Set per request by placement, format and country; in the open auction, the same floor for every buyer, and private deals carry the price agreed in the deal
Caps and pacing
Counted on the device, so they work without an advertising ID. Pacing applies when an ad would show, so a preloaded ad waits if it’s too soon
Hard rules
Minimum prices Zurla never goes under

Step 04

Auction

Buyers bid at the same moment, inside the same time limit: no waterfall, no tiers. Zurla builds each request from the SDK’s call, with its full supply path: a short, direct route to your app, which is what buyers look for.

What Zurla sends buyers · bid-request.json · app, imp, sourceOpenRTB 2.6iOS

Your app calls the SDK; Zurla builds this request for buyers. You never write or send it.

{
      "app": {
        "bundle": "<App Store ID>",
        "storeurl": "<App Store URL>",
        "publisher": { "id": "ZRL-000000" }
      },
      "imp": [{
        "id": "1",
        "tagid": "level_complete",
        "instl": 1,
        "secure": 1,
        "bidfloor": 8.5,
        "bidfloorcur": "USD",
        "banner": { "w": 320, "h": 480, "api": [6, 7] }
      }],
      "source": {
        "schain": {
          "ver": "1.0",
          "complete": 1,
          "nodes": [{ "asi": "zurla.com", "sid": "ZRL-000000", "hp": 1 }]
        }
      }
    }
app.bundle names your app (the App Store ID on iOS, the package name on Android). instl marks a full-screen ad, rwdd one where the player earns a reward for watching, bidfloor the floor from the Price step, and schain a direct path to your app.
The standards behind it
OpenRTB 2.6 and Native 1.2
The formats buyers already use, with an app object that names your app. Zurla builds the request; your app never sends one
instl and rwdd
Tell buyers an ad is full screen, or that the player earns a reward for watching it
VAST, MRAID and OM SDK
The IAB standards for video ads, interactive ads and measuring whether ads were seen
app-ads.txt
Your line for Zurla marks a direct relationship
sellers.json and supply chain
Zurla lists you as the seller, and each request carries its supply chain
SKAdNetwork
iOS requests list the attribution IDs your app supports, so advertisers can measure installs without identifying anyone

Step 05

Report

The winning ad waits on the device until its moment. At the next natural break, if your caps allow, it shows full screen with an Ad label, a clear close button and a Report ad option. Each ad is logged with what it earned.

The standards behind it
Impression-level revenue
What each ad earned, sent to your analytics so you can see ad revenue per user and the return on your user-acquisition spend
Reward check
Signed server-side callbacks confirm each reward to your server
Viewability
Measured with the IAB Tech Lab’s OM SDK (Open Measurement), counted to the guidelines of the MRC (Media Rating Council) that buyers use
Auction log
Every bid, when it arrived and how it did, by buyer
Change log
What Zurla changed, why and what it earned, with one-click undo

Reference

Five steps,
at a glance.

The same five steps run on every request, on a website or in an app. Each time shows how far into the request the step happens, counted from the moment the request reaches Zurla.

StepWhat happensWebsiteAppStandards
01ConsentZurla reads the choices people made in your consent tool, before anything is sent.0 ms0 msIAB TCF v2.3, GPP, COPPA
02ChecksKnown bots are filtered, and the request is checked against your brand rules.5 ms12 msInvalid traffic (GIVT), IAB Tech Lab Content Taxonomy
03PriceZurla sets a floor for this slot, right now, aimed at your goal: the same floor for every buyer.9 ms16 msFloors, your hard rules
04AuctionBuyers bid at the same moment, inside the same time limit, and the highest bid that meets your rules wins.68 ms74 msOpenRTB 2.6, Native 1.2, ads.txt and sellers.json, SupplyChain
05ReportThe winning ad goes back to its slot, and every bid is logged with how it did.74 msAd in its slot94 msWinning bid back; the ad shows at the breakMRC viewability, auction log

Illustrative data · website on the Zurla SDK, app interstitial

Fair by design

Same rules
for every buyer.

Every auction Zurla runs keeps four rules, on the SDK, through Prebid and over OpenRTB. Buyers know where they stand, so they bid what an ad is worth to them.

  1. The same floor for every bidder

    In the open auction, every buyer gets the same floor (the minimum price a bid must meet), including Zurla when it bids in your Prebid setup.

  2. No last look

    No buyer sees another’s bid before it bids. Zurla uses past bids to set floors, and never to price its own bid.

  3. Private deals at their agreed price

    A private deal carries the price agreed with its buyer, and it runs in the same auction, inside the same time limit.

  4. A full auction log

    Every bid, when it arrived and how it did, by buyer: the winner, the bids it beat and any late answer. A buyer is never dropped without your approval.

Auction logPellbrook Media · feed slot

Floor, the same for every bidder$1.80

BidderBidArrivedResult
Private dealTovrin & Co.$3.4031 msWon
Buyer A$3.1038 msOutbid
Buyer B$2.7544 msOutbid
Buyer C$2.4052 msOutbid
Buyer D$2.1058 msOutbid
Buyer E—LateNot counted
Bids per 1,000 viewsSame time limit for every bidderAuction closed at 68 ms

Illustrative data

Guide

Auction timeouts,
explained.

A timeout is the time buyers get to answer. Here’s who sets it, what happens to a late answer, and why asking every buyer at once keeps auctions under 100 ms.

From the ad request to the winning bid

One after anotherA bidding round, then a waterfall of price tiers

About 1.5 s

Every buyer at onceZurla’s auction

94 ms

A typical older app setup and Zurla’s auction, on the same scale · Illustrative data

What a timeout is

When an ad slot is about to show, Zurla sends a bid request to its buyers, and each one gets a time limit to answer. Every buyer asked gets the same limit, so no one is waited on longer than the rest.

Who sets it

  • On the Zurla SDK and hosted Prebid: Zurla does, inside the speed budget you approve, and its auctions finish in under 100 ms.
  • In your own Prebid setup: your Prebid timeout is your setting, and Zurla answers inside it.
  • Over OpenRTB: your platform sends its limit with each request (the tmax field), and Zurla answers inside it.

What happens to a late answer

It doesn’t count in that auction. The auction closes on time, the bids that arrived compete under the same rules, and the late answer goes into the auction log by buyer, so you can see who answers in time.

Why every buyer at once

A waterfall asks one source after another, so a buyer in a lower tier can miss an ad it would have paid more for. Zurla asks every buyer at the same moment: the auction stays short, and every bid gets its chance.

Questions

Good to know.

What happens when a buyer answers late?

The auction closes on time without that bid. Every buyer gets the same time limit; a late answer is logged by buyer and doesn’t count in that auction. More in Auction timeouts, explained.

How fast is an auction on Zurla?

Zurla’s auctions finish in under 100 ms, on Zurla’s RTB (real-time bidding) infrastructure. On this page, a website’s ad is in its slot at 74 ms, and an app’s winning bid is back at 94 ms.

Can a buyer see the other bids?

No. No buyer sees another’s bid before it bids (no last look). Zurla uses past bids to set floors, and never to price its own bid when it bids in your Prebid setup.

Does a private deal skip the auction?

No. A private deal carries the price agreed with its buyer and runs in the same auction, inside the same time limit, so the auction log shows what won and why.

Is it the same through Prebid or OpenRTB?

On Zurla’s side of the bid, yes: the same steps run before Zurla bids, under the same rules. In your Prebid setup, your ad server still picks the final winner. See Works with Prebid and OpenRTB 2.6.

Who sets the floor?

On the SDK and hosted Prebid, Zurla sets it for each request, aimed at your goal and never under the minimum prices you set. See Price floors.

Can I see why any ad won?

Yes. Ask Zurla in chat, as above, or open the auction log: every bid, when it arrived and how it did, by site, slot, format and buyer.

Every auction in under 100 ms.
Same rules for every buyer.

Book a demo, and we’ll show you Zurla, a frontier model built for advertising, running the auctions on your setup.

Zurla
Ask Zurla