Connect your exchange or DSP with OpenRTB
The two ways an ad network connects over OpenRTB 2.6, sending bid requests to LtvAdx or receiving them, what each needs and what is not supported.
An ad network can connect to LtvAdx in two directions. They are separate, they use different pages, and you can use either or both.
| Send requests to LtvAdx | Receive requests from LtvAdx | |
|---|---|---|
| What it is | Your exchange or SSP sends bid requests for a channel. LtvAdx's advertisers bid and the answer comes back with a video ad. | LtvAdx sends your bidder a bid request when a break might go to open auction, or when a publisher's deal with you could win it. |
| Set up in | The OpenRTB supply endpoint card on your dashboard | DSP seats |
| Report | RTB reports, Exchange analytics and Supply paths | The seat's own row on DSP seats |
This article is the overview and the practical steps. The message formats, fields and examples are on the protocol page, OpenRTB integration.
Send requests to LtvAdx
Before you start
- A seat key. LtvAdx sets up a seat for your network and gives you its key, shown once. The key goes in the
X-Rtb-Api-Keyheader of every request. A new seat starts switched off. LtvAdx turns it on when you are ready. If you lose the key, ask for a new one: the old key stops working shortly after the new one is issued. - Channel IDs. Each request must carry a LtvAdx channel ID in
imp.tagid. Publishers have it on their channel page. Your seat can be limited to some publishers, and a request for any other publisher's channel gets no bid. - The endpoint. Your dashboard shows it on the OpenRTB supply endpoint card.
Steps
- Ask your LtvAdx contact, or contact support, for your seat and key if you don't have them.
- Get the channel IDs from the publishers whose inventory you will send.
- Send a test request to the endpoint on your dashboard, with the key and one channel ID in
imp.tagid. - Open RTB Reports. Requests show up there within minutes. See RTB reports for how to read them.
What you get back
| Answer | Meaning |
|---|---|
| 200 with a bid | LtvAdx has a bid. The ad is a VAST document in the bid's adm field. |
| 204, no body | No bid. LtvAdx does not say why. |
| 401 | The key is missing or unknown, or the seat is switched off. |
| 429 | Your seat is sending too many requests. Slow down. |
| 404 | Inbound OpenRTB is not live. |
A 204 can mean any of these: the request had no impression, the channel ID is not one LtvAdx knows, the channel belongs to a publisher your seat isn't allowed, no advertiser has an eligible line item for it, the best bid is below your floor, the floor is not in USD, or the best match is a campaign the publisher sold directly.
What is and isn't supported
- One impression per request. Only the first
impis looked at. - USD only. A floor in another currency gets no bid.
- Your floor is honoured. LtvAdx does not bid below
bidfloor. - The price is the bid. The auction is first price: the price in the response is the bid.
- No reason codes. A no-bid is a bare 204, with no
nbr. - Only LtvAdx's own advertisers bid. A request you send is never passed on to outside DSPs, and publisher direct campaigns and political ads are never offered into your auction.
- Consent is respected. If the consent signals in your request, or the viewer's own opt-out, don't allow it, the request is treated as anonymous and gets a contextual ad. LtvAdx does not use the household ID in that case.
- No win rate. Whether LtvAdx's bid then wins your own auction is not known to LtvAdx when it answers, so the reports have a bid rate and no win rate. When LtvAdx's ad then plays and is billed, that win shows under Exchange fee on inbound wins on RTB reports.
- LtvAdx takes an exchange fee on each win. When LtvAdx's bid wins and its ad plays, LtvAdx's exchange fee for your seat, a percentage of the clearing price (at most 50%), is taken from the clearing price before the publisher's share. LtvAdx sets the percentage for your seat; ask LtvAdx for it, or read it on RTB reports. You don't pay it: it comes out of what the advertiser paid.
Receive requests from LtvAdx
Add your bidder as a DSP seat. The steps, the rules for which requests it gets, and the fields it receives are in Add and manage DSP seats. The short version:
- You give an https address and, if needed, an auth header.
- LtvAdx reviews the seat before it gets traffic.
- Your seat gets requests only for impressions that would otherwise go to open auction, on channels whose publishers opted in, and for the channels of deals publishers agreed with you. See Propose, negotiate and manage a deal.
- Notices for wins, billing and losses are sent to the URLs in your bid.
If something goes wrong
| What you see | What to do |
|---|---|
| Every request gets 401 | Check the X-Rtb-Api-Key header, and that LtvAdx has switched the seat on. |
| Every request gets 204 | Check imp.tagid is a real channel ID, that the channel's publisher is allowed on your seat, and that your floor is in USD. |
| RTB reports are empty | Requests with no impression, an unknown channel, a channel your seat isn't allowed, or over the rate limit are not counted there. They are listed under Refused inbound requests on Supply paths, with the reason, for 7 days. A request with a missing or wrong key can't be matched to your seat, so it isn't listed: check the key, or contact support. |
| The getting-started checklist shows "Bidder approved (reviewed by our team)" | LtvAdx reviews the bidder you added on DSP seats. Nothing more to do on your side; contact support if it is taking long. |