Skip to content

Ads.txt & Seller.json Setup — Authorized Digital Sellers, Fraud Prevention & Ad Revenue Protection

DodaTech Updated 2026-06-22 6 min read

In this tutorial, you'll learn about Ads.txt & Seller.json Setup. We cover key concepts, practical examples, and best practices to help you understand and apply this topic effectively.

Ads.txt and seller.json setup involves creating authorized digital sellers files that declare which ad exchanges are authorized to sell your ad inventory, preventing counterfeit impressions and protecting programmatic revenue.

What You'll Learn

You will learn how ads.txt and seller.json work, how to configure them for your domain, how to verify proper setup, and how they impact programmatic ad revenue for developer websites.

Why It Matters

Ad fraud costs the digital advertising industry over $35 billion annually according to the Association of National Advertisers. Without ads.txt and seller.json, your inventory is vulnerable to domain spoofing where fraudsters resell fake traffic under your domain name, damaging your reputation and revenue.

Real-World Use

A developer tutorial site with 200,000 monthly page views implemented ads.txt and seller.json and saw a 22% increase in programmatic CPM within 60 days. Advertisers previously avoided buying inventory from the site due to spoofing risk, but the verified seller files unlocked premium demand.

Ads.txt and Seller.json Overview

flowchart TD
    A[Publisher Website] --> B[Create ads.txt]
    A --> C[Create seller.json]
    B --> D[Declare authorized sellers]
    B --> E[Set account relationships]
    C --> F[Publish on seller platform]
    D --> G[Ad exchanges verify]
    E --> G
    F --> G
    G --> H[Premium demand activated]
    G --> I[Spoofing blocked]
    H --> J[Revenue increases 15-30%]
    I --> J

Ads.txt Configuration

The ads.txt file is a plain text file placed at the root of your domain. It tells ad buyers which exchanges and accounts are authorized to sell your inventory.

Directive Format Example
Exchange domain Field 1 google.com
Publisher ID Field 2 pub-1234567890123456
Account type Field 3 DIRECT or RESELLER
Certification ID Field 4 (optional) f542f1f9-2e8b

DIRECT vs RESELLER Relationships

Relationship Type Definition Revenue Share Buyer Trust
DIRECT You have a direct contract with the exchange Higher (80-90%) Highest
RESELLER Exchange buys from another authorized source Lower (60-75%) Moderate

Sample ads.txt File

google.com, pub-1234567890123456, DIRECT, f542f1f9-2e8b
appnexus.com, 12345, RESELLER
rubiconproject.com, 54321, DIRECT
openx.com, 98765, RESELLER

Place this file at https://example.com/ads.txt. Any buyer checking your inventory will crawl this file to verify authorization.

Seller.json Configuration

Seller.json is the publisher-side counterpart to ads.txt. It provides structured data about your company and contact information to ad buyers.

Field Required Description
seller_id Yes Your publisher ID matching ads.txt
seller_type Yes PUBLISHER, INTERMEDIARY, or BOTH
name Yes Legal business name
domain Yes Website domain
comment No Additional verification notes

Seller.json Example

{
  "sellers": [
    {
      "seller_id": "pub-1234567890123456",
      "seller_type": "PUBLISHER",
      "name": "DodaTech Media LLC",
      "domain": "dodatech.com]
    }
  ]
}

Impact on Ad Revenue

Setup Status Average CPM Fill Rate Premium Demand Access
No ads.txt or seller.json $1.50-3.00 65-75% Limited
ads.txt only $3.00-5.00 75-85% Moderate
ads.txt + seller.json $5.00-8.00 85-95% Full
Full setup + SS metadata $8.00-12.00 90-98% Premium

Implementation Steps by Platform

Platform Ads.txt Location Management Method
Static site (Hugo, Jekyll) /static/ads.txt Add file to static directory
WordPress Root via plugin or FTP Yoast SEO or manual upload
Custom framework Web server root Add to deployment pipeline
Cloudflare Bulk redirect or page rule Cloudflare Pages or Workers

Common Mistakes

1. Missing Ads.txt File Entirely

Over 40% of independent publisher sites still lack an ads.txt file. This immediately disqualifies you from premium programmatic demand sources and leaves your inventory vulnerable to spoofing.

2. Incorrect Account IDs

Using the wrong publisher ID in ads.txt invalidates the entire file. Copy the ID directly from your ad exchange dashboard rather than typing it manually. A single incorrect character breaks verification.

3. Mixing Up DIRECT and RESELLER

Classifying a direct exchange relationship as RESELLER reduces buyer trust even when you have a direct contract. Always use DIRECT for exchanges you have a direct agreement with and RESELLER for indirect partners.

4. No Seller.json File

Seller.json provides the buyer-side verification that modern programmatic buyers require. Without it, many DSPs will not bid on your inventory even with a valid ads.txt file.

5. Placing Ads.txt in Wrong Directory

Ads.txt must be at domain.com/ads.txt — not in a subdirectory, not in a subfolder, and not behind a redirect that changes the path. Many site builders accidentally place it in a /blog/ or /wp-content/ directory where buyers cannot find it.

6. Using Outdated Exchange Partners

Ad exchanges merge, rebrand, and change domains regularly. Review your ads.txt file every quarter to remove defunct exchanges and add new partners.

7. Ignoring SupplyChain Object Support

The SupplyChain object in OpenRTB bid requests lets buyers trace the full Transaction path. Implement it alongside seller.json for maximum transparency and demand access.

Practice Questions

1. What is the primary purpose of an ads.txt file?

An ads.txt file declares which ad exchanges and accounts are authorized to sell your website's ad inventory. It prevents domain spoofing by letting buyers verify that the seller they are buying from is legitimately authorized.

2. What is the difference between DIRECT and RESELLER in ads.txt?

DIRECT means you have a direct contractual relationship with the ad exchange listed. RESELLER means the exchange is authorized to resell your inventory through another exchange that you have a direct relationship with.

3. Where must the ads.txt file be placed on a website?

The ads.txt file must be at https://example.com/ads.txt — at the root of the domain. For subdomains, each subdomain needs its own ads.txt file at its own root.

4. What additional file works alongside ads.txt and what does it provide?

Seller.json provides structured JSON data about your company identity, including legal name, business domain, and seller type. It works alongside ads.txt to give buyers the publisher-side verification they need for confident purchasing.

5. Challenge: Deploy ads.txt and seller.json for a Hugo-based tutorial site with three ad exchange accounts.

Create a deployment script that generates ads.txt from a configuration file, creates seller.json with your publisher credentials, copies both files to the /static/ directory, and validates the files after Hugo build using the IAB Tech Lab ads.txt validator API.

Action Plan

  1. Log into each ad exchange dashboard and copy your publisher IDs
  2. Create ads.txt with DIRECT entries for your primary exchanges
  3. Add RESELLER entries for secondary exchange partners
  4. Place ads.txt at the root of your domain
  5. Generate seller.json with your business information
  6. Host seller.json on your ad exchange platform or your own server
  7. Verify both files using the IAB Tech Lab validator tool
  8. Monitor programmatic CPM changes over 30-60 days
  9. Review and update ads.txt quarterly
  10. Add SupplyChain object support to your ad implementation

Built by the developers of Doda Browser, DodaZIP, and Durga Antivirus Pro.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro