What the heck is sellers.json?
Sellers.json was introduced by the IAB with the goal to increase the trust of the supply-side of real-time bidding and programmatic buying.
If implemented correctly, sellers.json serves as a mechanism to enable buyers to discover who are the entities that are either direct sellers or intermediaries in the selling of programmatic digital advertising.
What is the OpenRTB Supply Chain Object?
The second part alongside sellers.json is the OpenRTB SupplyChain object. This allows buyers to see all parties who are selling or reselling a given bid request. Imagine this as a record of what exactly happened to an impression.
It uses a node system that identifies every single vendor who participates in the selling of a bid request, including the final buyer.
The OpenRTB Working Group finalized the specifications for industry adoption on July 31, 2019.
How does sellers.json work?
In the file, SSPs and exchanges will have to list all their authorized reseller partners along with their seller ID and any detail on the legal entity that owns that company.
For example: Imagine I’m a buyer buying through an ad exchange. Let’s say I’m bidding $1 through Publisher Paradise Network. What sellers.json allows me to do is see which channel I essentially buy through. The node system with sellers.json will show me (the advertiser) which channels are taking the least amount of “cuts” in the buying process. Without that type of transparency, shady players might be in the mix who are buying and reselling those impressions and ultimately are devalued by the time then bid reaches the final seller. In turn, this means the more cuts that are taken from that initial dollar bid also reduce the publisher’s payout.
The main reason the IAB created sellers.json and the OpenRTB supply chain object was that they wanted a protocol that everybody could use wasn’t too technically difficult to implement.
So putting just a .json file on a website was an easy way of accomplishing that goal. In the same way that ads.txt is the easiest way to stamp your ad inventory for sale by a list of approved sellers. So that’s the supply side and then the demand-side is sellers.json.
Why is sellers.json important?
sellers.json is important because it creates more trust on the seller’s side. Fewer hands of middlemen in the mix often lead to better outcomes for both the advertiser and the publisher.
That being said, sometimes these middlemen can add value, right?
It depends. If a special targeting cookie is the reason you’re going through Oath DSP. You might not be able to get through an Ad Exchange. But in general, and in the vast majority of circumstances, if the entity is just reselling an ad exchange impression that way they aren’t probably adding any value.
Let’s take a look at two different scenarios in the buying and selling process to illustrate why sellers.json is important:
Note: Keep in mind that the processes that are described in both scenarios actually happen instantaneously in programmatic buying (around 100ms)
A visitor hits a publisher’s website. This action triggers a bid request. The bid request carries user data that may contain things like demographics, retargeting for browsing history, and more goes to the Ad Exchange (Google’s Ad Exchange for this example). This data gets passed to all the advertisers and they all place bids in real-time. The advertiser with the highest bid wins. A sellers.json file would show the advertiser the direct path of the selling. Which might look like:
Visitor hits website > Bid request goes to Ad Exchange > Advertiser wins bid > Ad is served on publisher’s website.
Advertiser works with TheBestMedia Ad Network. An impression becomes available on Google’s Ad Exchange (AdX). So they bid and buy the impression. Then, it turns out that the impression was getting listed on AdX from a reseller named XYZMedia who bought it from the publisher through header bidding. This looks like:
Visitor hits website > Reseller purchased impression through header bidding > Listed impression on AdX > Advertiser wins bid > Ad is served on publisher’s website.
Rubicon Ad Network could have bought it for their advertiser directly through AdX which would have then gone directly to the publisher.
With Scenario 2, there’s an extra intermediary in the middle between the advertiser and the ad exchange. sellers.json would give you an idea of how many paths you’re going through to purchase that ad inventory. So, as an advertiser, if you bid a dollar, what are the chances it’s going to get cut down to 60 cents before it gets to the publisher?
If intermediaries are siphoning value from the mix, you might not be competitive at that price as an advertiser. This is why sellers.json is important.
In general, the digital advertising space is filled with hundreds (if not thousands) of players who siphon value yet the value they give back to publishers is vague and often hard to quantify. This is why the Display Lumascape is so bloated.
Trust has continued to erode among various players in the Display Lumascape. The link between advertisers and their agencies has weakened. The same is true with agencies and DSP, and publishers with SSPS.
The biggest thing to understand with some of these shady players in the Display Lumascape is that Google’s first-price auction has taken a big bite out of their relevance to publishers. You’re going to see DSPs and SSPs start to use new, creative buzzwords to try to hide what they actually do; few are actually adding value, and even when they are, the value that these ad demand sources provide are incremental at best (and likely not worth it).
sellers.json vs. ads.txt
The best way to describe the difference between sellers.json and Ads.txt is that sellers.json is a way to enable buyers to discover and verify sellers or intermediaries of the digital advertising opportunity for purchase. Whereas Ads.txt is on the publisher’s side, and it’s a list of their authorized digital sellers.
Simply put, sellers.json is a .json file that functions as a way of tracking where the advertising money went. And on the other hand, ads.txt is a text file that the publisher has to put on their page that shows who is selling their ad inventory.
Both sellers.json and Ads.txt were created to add trust and transparency in programmatic advertising.
Do publishers need to implement sellers.json?
No. It’s important to remember that publishers themselves do not need to have sellers.json on their sites. The entities selling their inventory are the ones who have to implement sellers.json. Additionally, publishers can opt to have their information confidential.
If you’re an entity selling inventory from a publisher, you are expected to add the sellers.json file to your root domain and then list all the publishers you work with (i.e. http://examplesite.com/sellers.json).
Additionally, once you set up sellers.json, you need to upgrade the OpenRTB integrations to version 2.3 or higher to support the RTB SupplyChain object.
For publishers who use Ezoic, the ad inventory has been verified server-side. Since Ezoic sits as a reverse-proxy between the publisher’s website and the origin server, Ad Tester serves the ads on the page with the goal of optimizing for both user experience and ad revenue.
Optimizing for a visitor’s attention, rather than just the response from advertisers, ultimately will increase the value of your ad inventory over time.
Ezoic takes care of sellers.json so our publishers don’t have to. We sit on the supply side, so we put a sellers.json file in our root domain to represent our relationship with the publisher’s supply and who our publishers are. Since we are a Certified Google Publishing Partner, Google also lists us on their sellers.json file.
The supply chain and path looks like this:
Publisher’s inventory > Ezoic > Google AdX (or other ad demand)> Bid request gets filled and the ad is served.
But rather than taking value, Ezoic’s multivariate testing is powered by real A.I. optimizes your ad inventory on a per-user, per visit basis and over time increases revenue and improves user engagement.
Wrapping it all up
In conclusion, the reason that tools like sellers.json (and ads.txt) have been introduced is to provide advertisers with a cleaner environment where they can buy inventory without ad spoofing and without shady intermediaries siphoning out value from advertisers and publishers.
Having sellers.json and ads.txt as these stamps of transparency allows the industry to use them as identifiers of quality on both the supply and the demand side of programmatic advertising.
Thank you, Allen, for writing the detailed guide on the seller.js. it is really useful for people like me who are afraid to publish their seller information.