Back
GUIDES
Posted on Apr 5,  2022

How to Authorize Sellers in Smarthub Using Sellers.json and Ads.txt?

Like every medium that generates a lot of money, the digital advertising ecosystem rapidly attracts fraudsters. By the end of 2024, advertising across all digital channels will increase by 65.1% and the global ad spend will soar to US$873bn. Likewise, the fraudulent schemes multiply with a breakneck speed becoming more sophisticated and hard to spot. 

At the same time, statistics indicate that ad fraud rates are rapidly decreasing in comparison to previous years. In 2021 they were lower than in any quarter of 2020 according to Pixalate. The rates of IVT on CTV, for example, barely reached 15% while the year before (2020) this rate accounted for 24%. The same dynamics were evident across desktop and mobile web displays worldwide. The first initiatives against ad fraud delivered by IAB were ads.txt, soon after IAB delivered Sellers.json and OpenRTB SupplyChain Object, which, for sure played a big role in ad fraud elimination. What are those standards, how do they work, and how to apply them to verify sellers and resellers of inventory on SmartHub, time to find out.

What is ads.txt?

In simple terms, adx.txt is a text file stored in the main folder of a website that contains a list of companies that are authorized to sell the publisher’s inventory. 

This anti-fraud standard was developed by IAB in 2017. First and foremost, Ads.txt was designed to resolve the problem with so-called “domain spoofing” – a scheme that allows fraudsters to sell low-quality traffic as premium ones. This phenomenon was quite common several years ago: many advertisers were fooled into thinking they buy ad impressions at prestigious websites while in fact ads were broadcasted on other, much cheaper inventory.

Ads.txt solves this problem easily: the file lists all platforms that are allowed to sell the publisher’s inventory. (App-ads.txt is a variation of this standard created for the mobile ecosystem).

What is Sellers.json?

Sellers.json is a logical continuation of the ads.txt developed by IAB in 2019. Sellers.json serves as a mechanism thanks to which buyers can find out who are the entities that offer inventory at RTB auctions – direct sellers or resellers. There are two required things that Sellers.json file should contain – the ID of the seller and the type of the seller (indicates whether it is a direct seller, a reseller of the inventory, or both). The rest of the data can change. 

This way, together with ads.txt, Sellers.json authorizes inventory and makes the digital advertising ecosystem transparent and safe for advertisers. 

Worth pointing out that Sellers.json is closely related to SupplyChain Object which is a part of the OpenRTB bid request. SupplyChain Object consists of nodes that represent all sellers that are paid for an individual bid request. This way with a bid request advertisers can identify the final reseller and also find out if such an entity is really authorized to sell the publisher’s inventory. 

What is Sellers.json, and how it works?

Why are these standards so important?

Domain spoofing and unauthorized resale of advertising inventory are the most common types of fraud plaguing the advertising landscape these days. As the programmatic advertising market grows, the number of fraudulent schemes multiplies so it becomes very important to ensure transparency and reliability of transactions between all participants.

Sellers.json and ads.txt create greater transparency for everyone involved in programmatic media trading: publishers, advertisers, and ad exchanges.

From an advertiser’s point of view, the standards help to easily determine the trustworthiness of partners on the supply side and thus exclude potential fraudsters. Publishers also benefit: Since the Sellers.json file is a public file, publishers can easily notify the ad exchange which entities have the right to sell their inventory. 

How to set up Sellers.json and ads.txt on SmartHub?

Ads.txt. As we already covered in the previous article, it is fairly easy to generate ads.txt in your SmartHub. For this, you need to go to the ‘Companies’ section in your dashboard, select the company and download the ads.txt file for it.

How to generate ads.txt in your SmartHub

After this, the most important step is to send this file to this SSP partner. Ask them to add your lines from ads.txt to their ads.txt hosted on the websites of publishers. 

Sellers.json. In order to set up Sellers.json you need to select the company in the ‘Companies’ section. Pay attention to the Domain column. Note that some companies do not have domains:

How to set up Sellers.json in your SmartHub

Companies without domains appear in Sellers.json with an ID but without the domain.

Open the profile of each SSP company without the domain, and add it:

Open the profile of each SSP company in SmartHub

Then, open Settings.

To set up the Sellers.json correctly on SmartHub, you will need to fill in the fields with your contact details and main company domain.

Fill in the fields with your contact details and main company domain.

Click ‘Download file’ and move to the next step: place the file on your domain.

How to use Sellers.json. After the Sellers.json file is downloaded in the settings of Sellers.json it should be placed on the company domain.

Together the ads.txt and sellers.json files should have unified IDs that are passed in the Schain object in the requests, that can be checked on public domains, for inventory transparency of the market players like advertisers, publishers, and resellers.

Sellers.json must contain records listed as JSON objects:

{
"contact_email":"smarthub@smart-hub.io",
"contact_address":"New York 5555",
"version":1,
"identifiers": [
{
"name":"TAG-ID",
"value":"a23a4238a0b927520dcc519a6f55841b"
}
],
"sellers": [
{
"seller_id":"7ceab3a1649fda2b3ff8d02edfd5659f",
"seller_type":"INTERMEDIARY",
"name":"SSP_1_Banner_12",
"domain":"Ssp1.com may be for sale - PerfectDomain.com "
},
{
"seller_id":"69add1e107d7f7d035d7dafd4342e1ca",
"seller_type":"INTERMEDIARY",
"name":"SSP_5_Video",
"domain":"ssp5.com"
}
]
}

The main object contains the contact info of the Sellers.json issuer, the version of the file, and identifiers, such as TAG-ID.

The sellers’ array must contain objects for each partner. Such an object consists of fields seller_id, seller_type, seller_name, and domain, and also an optional is_passthrough field.

If everything is correct, place the file in the root directory of your main domain, so your partners can scan the file, and scan other Sellers.json files down the supply chain.

For example, if the platform URL company.com, Sellers.json should be added to the http://company.com  domain, so the resulting address should be company.com/sellers.json.

Supply Chain Object

If set, each bid request will contain the Schain object that reveals the entire supply chain The request will look like this:

"bidrequest" : {
"id": "BidRequest2",
"app": {
"publisher": {
"id": "aaaaa"
}
}
"source": {
"ext": {
"schain": {
"ver":"1.0",
"complete": 1,
"nodes": [
{
"asi":"directseller.com domain name is for sale. Inquire now. ",
"sid":"00001"
"rid":"BidRequest1",


"hp":1
},
{
"asi":"Reseller Solutions at Name.com ",

The Schain object, as shown above, contains the specification version, the completion flag, and an array of nodes. Each node corresponds to a reseller that is a link in a supply chain. The first node represents the initial advertising system that received the request.

Let’s take a closer look at the object. It contains such fields:

asi – The domain name of the advertising system intermediary.

Note: This should be the same value as used to identify sellers in an ads.txt file if one exists.

sid – The identifier of the seller or reseller account within the advertising system.

rid – The request ID as issued by the seller or reseller.

hp – Flag of involvement in the flow of payments.

Note: This field is required and should always be set to 1.

An example of building a supply chain object:

The website1.com issues a bid request.

The request was received by SSP1.

Then, the request transmitted sequentially:

  • to Exchange Platform 1
  • to Exchange 2

And finally, the request comes to DSP1, which responded with a bid response.

The final supply chain object will look like:

"nodes": [
{
"asi":"http://ssp1.com ",
"sid":"website1com-id-within-ssp1"
"rid":"BidRequest1",
"hp":1
},
{
"asi":"http://adx1.com ",
"sid":"id-of-ssp1-in-adexchange1"
"rid":"BidRequest2",
"hp":1
},
{
"asi":"reseller2.net",
"sid":"adex1-id-within-reseller2"
"rid":"BidRequest3",
"hp":1
}
]

What’s next?

Ads.txt and Sellers.json are the solutions that increase the transparency of the entire programmatic ecosystem, prevent fraud, and authorize inventory sellers and resellers.

More specifically, these standards improve the monetization of a publisher’s inventory and instill confidence in programmatic trading among advertisers. 

We want to remind you that SmartHub also ensures your security through data privacy-compliant data processing (GDPR and CCPA) and anti-fraud traffic scanners. As well, SmartHub also offers cookie syncing to enable timely and smooth information sharing between platforms.

Our account managers will also help you to conduct ads.txt lines so that you could pass them to your SSP partners. As well, we will help you to generate a Sellers.json file so that it could be placed on your domain. With these standards in place, you will create a transparent and highly-trusted media-trading space that translates into the quick achievement of payback and ROI.

Want to Learn More?

Error message
Error message
Error message
Choose your select
Ad Tech / Media Startup
Ad Network
Media Agency
Error message
Error message