Skip to main content

ads.txt Setup

Set up ads.txt on your domain so ad exchanges can verify you as an authorized seller of Zesty ad inventory.

What is ads.txt?

ads.txt (Authorized Digital Sellers) is a standard created by the IAB Tech Lab that lets publishers declare which companies are authorized to sell their ad inventory. Ad exchanges check this file before serving ads — without it, your domain won't receive programmatic ads from Zesty.

Your domain must serve Zesty's ads.txt entries at https://yourdomain.com/ads.txt.

The best approach is to configure your hosting platform to proxy requests for /ads.txt to Zesty's canonical file. This way, the content stays automatically up to date whenever Zesty adds or changes ad exchange entries.

Vercel

Add a rewrite rule to your vercel.json:

{
"rewrites": [
{ "source": "/ads.txt", "destination": "https://www.zesty.xyz/ads.txt" }
]
}

Netlify

Add this line to your _redirects file (or netlify.toml):

/ads.txt  https://www.zesty.xyz/ads.txt  200

The 200 status code makes this a rewrite (proxy) rather than a redirect, so the content is served from your domain.

Nginx

Add a location block to your server configuration:

location = /ads.txt {
proxy_pass https://www.zesty.xyz/ads.txt;
proxy_ssl_server_name on;
}

Apache

Add a rewrite rule to your .htaccess file (requires mod_proxy and mod_rewrite):

RewriteEngine On
RewriteRule ^ads\.txt$ https://www.zesty.xyz/ads.txt [P,L]

Cloudflare

Cloudflare Pages uses the same _redirects syntax as Netlify:

/ads.txt  https://www.zesty.xyz/ads.txt  200

Cloudflare Workers can proxy the request with a fetch() call:

export default {
async fetch(request) {
const url = new URL(request.url);
if (url.pathname === "/ads.txt") {
return fetch("https://www.zesty.xyz/ads.txt");
}
return fetch(request);
},
};

Alternative: Manual Copy

If your hosting platform doesn't support proxying, you can manually copy the file contents:

  1. Download the current entries from zesty.xyz/ads.txt
  2. Create an ads.txt file at the root of your site with those entries
  3. Deploy the file so it's accessible at https://yourdomain.com/ads.txt
caution

If you use the manual approach, you'll need to update your ads.txt whenever Zesty's entries change. The proxy setup above is strongly recommended to avoid outdated entries blocking ad delivery.

Verification

After setting up ads.txt, verify it's working:

  1. Visit https://yourdomain.com/ads.txt in your browser
  2. Confirm the content matches zesty.xyz/ads.txt
  3. Check that the file is served with a 200 status code (not a redirect)

If the content matches, your domain is ready to receive programmatic ads from Zesty.