Skip to content
PlacementGraph™
Supply path

Which ads.txt errors matter to a buyer, and which should stop a deal?

Part of Supply path transparency

A reader browsing on a laptop with a coffee.
Photo: Vlada Karpovich, Pexels

The short answer

ads.txt errors range from cosmetic to blocking. A duplicate line or missing contact is a warning. A wrong field count, malformed account ID or bad relationship value can stop a line working, and a redirect chain or corrupt file can stop the whole file. A deal should pause when the seller it relies on is no longer authorized.

Key takeaways

  • Google's Ad Manager tools sort ads.txt problems into errors that stop parts of the file from working and warnings that do not.
  • The specification tells crawlers to ignore a file that is obviously corrupted or malformed, so one bad edit can cost every line.
  • Google's own help pages disagreed in October 2026 on whether a second redirect inside the same root domain is followed.
  • A fixed file is not read at once: the specification's default expiry is 7 days, and Google crawls about once a day.
  • Only errors that touch the seller on the deal's own path are a reason to stop the deal.

Which errors can an ads.txt file contain?

Hand editing can introduce errors: a partner sends a product code instead of an account ID, someone types RESELLLER, and a year later the file still lists an exchange the site dropped. Google's Ad Manager syntax guide (opens in a new tab) marks rows red when the problem will stop parts of the file from working as expected, and yellow for issues that will not necessarily stop it. The table follows that split and adds problems a validator cannot see.

ads.txt errors, how they show up and what each means for a buyer
ErrorHow it shows upWhat it means for a buyer
Wrong number of fieldsA record with two fields, or five; Google requires exactly 3 or 4 comma separated fields on every non-comment lineThat line authorizes nobody. If it names the seller on your path, the path is unauthorized
Malformed account IDFor Google accounts, anything but pub- plus 16 digits, such as a leftover ca- or ca-video- prefixThe ID will not match bid requests, so that seller reads as undeclared
Bad relationship valueField 3 is not DIRECT or RESELLER, for example a typo or a word like PARTNERThe relationship is unreadable; ask which one the publisher meant
Wrong ID for the right exchangeThe system domain is correct but the account number belongs to another accountGoogle says it runs no auction for a request when its own ID in the file is incorrect
Stale lineAn exchange or reseller the publisher no longer works with is still listedThe file still authorizes a seller the publisher has dropped
Mislabeled DIRECTA reseller's account listed as DIRECTA path looks shorter than it is until sellers.json is checked
Duplicate lineThe same record appears twiceCosmetic; Google lists it as a warning
No contact lineNo CONTACT variable anywhere in the fileCosmetic, but there is no one to ask when another error appears

The last four rows pass a syntax checker without comment. A stale or mislabeled line is well formed but wrong about the business. IAB Tech Lab's ads.txt 1.1 implementation guidance (opens in a new tab) asks publishers to validate that all DIRECT entries reference seller accounts they have direct account control of, the check that catches both.

How does a syntax error affect an ads.txt file?

The ads.txt 1.1 specification (opens in a new tab) asks crawlers to be forgiving about some things and strict about others. Consuming systems should ignore any sequence of whitespace or tabs and accept CR, LF or CRLF line endings. But if the data is obviously corrupted or malformed, the specification says the contents of the file should be ignored. That is the difference between a bad line, which costs one authorization, and a bad file, which costs all of them.

  • The # character ends the data on that line. The specification says any line containing # should tell the consumer to ignore everything after it, so a stray # inside an account ID silently truncates the ID.
  • Fields may not contain tabs, commas or spaces. Anything of that kind should be URL encoded, otherwise the field count changes.
  • Invisible characters break parsing. Google's crawl guidance (opens in a new tab) warns that invalid whitespace characters may be hard to detect but can get a file ignored, and advises against pasting from a rich text editor.
  • Variables need the equals sign. A variable line takes the form VARIABLE=VALUE, and the specification names the equals sign as the only supported separator.

What happens when an ads.txt file redirects?

Redirects are allowed within limits, and Google's documentation describes those limits in two ways. The specification lets crawlers follow any number of redirects that stay within the original root domain, plus a single redirect to a third party domain for hosting. Google's Ad Manager ads.txt FAQ (opens in a new tab) agrees, listing example.com to www.example.com and to a subdomain as supported. Google's crawl guidance, checked the same day in October 2026, says that if a second redirect is included, even if it's for the same domain, the file will not be crawled.

How ads.txt redirect patterns are treated (IAB Tech Lab specification and Google help pages, checked October 2026)
Redirect patternSpecificationGoogle help pages
domain.com to www.domain.comFollowed, same root domainSupported; crawling starts at the root domain
HTTP to HTTPS on the same domainFollowed, same root domainSupported, though Google also asks for the file on both protocols
One hop to a hosting partner's domainAllowed once, as delegationSupported
Two hops, both inside the root domainFollowedThe FAQ says supported; the crawl guidance says not crawled
Second hop after leaving the root domainTreated as an errorNot crawled

For a buyer, the safe reading is the strict one. If a site's file sits two hops away, ask the publisher to point the root address straight at the final location, then confirm in the platform's authorization status that the file is read.

How long do buyers cache an ads.txt file?

Every consuming system keeps a copy, which is why an error and its fix both take time to show. The specification says systems that cache the file must periodically verify the copy is fresh, should respect HTTP cache-control and Expires headers, and should default to an expiry of 7 days when no directives are present. When a later fetch fails with an error other than 404, they should keep using the last successfully retrieved data.

What happens to a cached ads.txt file after server events
Event on the publisher's serverSpecificationGoogle, per its Ad Manager help pages
File updatedPicked up when the cached copy expires; default 7 daysCrawled about every 24 hours; changes may take up to 48 hours
Hard 404 on a file seen beforeNo declarations existPrevious entries purged
Soft 404 (a normal page at the address) or server errorKeep the last good data for non-404 errorsPrevious entries kept for up to five days
404 on HTTP or HTTPS onlyHTTPS data preferred when both existA 404 on either protocol purges previous entries

Two consequences follow. A publisher that breaks its file may keep delivering for days on cached data, then stop at once. And a fix may take several days to reach buyers' platforms; Google's AdSense troubleshooting page (opens in a new tab) says verification can take up to a month for a site with few ad requests.

Which ads.txt errors should stop a deal?

Judge an error by whether it touches the path the deal actually uses. Google's Display & Video 360 help (opens in a new tab) says the platform checks every seller identified in the bid request's SupplyChain object, intermediaries included, against the publisher's file and automatically excludes unauthorized sellers. An error on the deal's own seller line therefore stops delivery whether or not anyone pauses the deal. An error on a line the deal does not use leaves that path unaffected.

Grading an ads.txt error before a deal
Grading an ads.txt error before a dealGrade each error against the seller account and exchange the deal will use, not against the file as a whole. 1. Stop: Deal's seller missing, malformed or file ignored. 2. Hold and ask: Deal's seller mislabeled or listed twice differently. 3. Fix before renewal: Stale or broken lines for other sellers. 4. Note only: Duplicate line, no contact, no TAG IDMORE RESTRICTIVEStopDeal's seller missing, malformed or file ignoredHold and askDeal's seller mislabeled or listed twice differentlyFix before renewalStale or broken lines for other sellersNote onlyDuplicate line, no contact, no TAG IDMORE PERMISSIVE
Grading an ads.txt error before a dealGrade each error against the seller account and exchange the deal will use, not against the file as a whole. 1. Stop: Deal's seller missing, malformed or file ignored. 2. Hold and ask: Deal's seller mislabeled or listed twice differently. 3. Fix before renewal: Stale or broken lines for other sellers. 4. Note only: Duplicate line, no contact, no TAG IDMORE RESTRICTIVEStopDeal's seller missing, malformed orfile ignoredHold and askDeal's seller mislabeled or listedtwice differentlyFix before renewalStale or broken lines for othersellersNote onlyDuplicate line, no contact, no TAG IDMORE PERMISSIVE
Grade each error against the seller account and exchange the deal will use, not against the file as a whole.

ads.txt error checklist before a deal goes live

  • The exchange domain and seller account the deal uses appear on one well formed line with 3 or 4 fields.
  • That account ID matches the ID in the exchange's sellers.json exactly, with no stray prefix, space or # character.
  • The relationship on that line agrees with the seller_type the exchange reports, or the publisher has explained the difference.
  • Every intermediary in the deal's supply chain is declared in the file, since unauthorized intermediaries are blocked too.
  • The root address returns the file with HTTP 200 on both HTTPS and HTTP, in no more than one redirect.
  • No line authorizes a partner the publisher says it has dropped.
  • The file has a CONTACT line, or the publisher has named an ad operations contact for the deal.
  • The date of the check is recorded, along with the platform's last crawl time if it shows one.

What does an ads.txt error review look like on a real plan?

Fictional example

A window blinds retailer in Michigan

A fictional retailer of custom window blinds and shades, with showrooms in Detroit and Grand Rapids, asks its agency for a private marketplace deal on 30 home decor, interior design and local lifestyle sites. Before the deal is set up, the trading desk runs every site's file through the checklist.

Twenty-six files are clean or carry only warnings: four have duplicate lines and nine have no contact line, which the planner notes. A home decor blog's line for the deal's exchange has five fields, so that seller reads as undeclared; it is graded stop until the publisher corrects it.

An interior design magazine serves its file through two redirects inside its own domain, which one Google page accepts and another does not, so it is graded hold until the publisher shortens the chain. Two lifestyle sites still list a reseller they dropped last spring; the deal runs on their direct lines, and the stale entries go on the renewal list.

How does PlacementGraph show ads.txt problems on a site list?

PlacementGraph reads each candidate's file and reports the selling path in plain words.

Frequently asked questions

Does a missing CONTACT line make an ads.txt file invalid?

No. CONTACT is an optional variable in the specification, and Google's Ad Manager tools show a missing contact as a yellow warning, not an error. It still matters in practice: when a buyer finds a real error, the contact line is the fastest way to reach the person who can fix it.

Should an ads.txt file declare which version of the specification it follows?

No. The specification says a version number and a last updated date are not official variables, and that there have been no breaking changes since ads.txt was created in 2017. Crawlers judge freshness from the Last-Modified header and a checksum of the contents, and support new variables as they appear.

Do exchanges warn publishers about ads.txt errors?

The specification suggests they should. It recommends that exchanges provide a tool that generates the exact lines a publisher needs, and that they consider crawling publisher domains and notifying publishers when a file or a declaration is missing. Google's Ad Manager shows errors and warnings per row in its ads.txt management tool.

Are app-ads.txt errors read the same way?

Largely yes. Google's Ad Manager syntax guide applies the same errors and warnings to ads.txt and app-ads.txt files. The extra failure point for apps is the store listing: the developer website named there must be a valid URL, and Google warns that the file should not sit on a subdomain.

Sources

  1. ads.txt Version 1.1 specification (opens in a new tab)IAB Tech Lab, 2022 (GitHub)
  2. Ads.txt Implementation Guidance (ads.txt 1.1) (opens in a new tab)IAB Tech Lab (GitHub)
  3. Validate ads.txt/app-ads.txt syntax (opens in a new tab)Google, Ad Manager Help
  4. Ensure ads.txt/app-ads.txt can be crawled (opens in a new tab)Google, Ad Manager Help
  5. ads.txt/app-ads.txt FAQs (opens in a new tab)Google, Ad Manager Help
  6. Authorized Digital Sellers (opens in a new tab)Google, Display & Video 360 Help
  7. Resolve common ads.txt issues (opens in a new tab)Google, AdSense Help

Researched and written by PlacementGraph Research. Read how we research, source and update these pages. Corrections: diana@placementgraph.com.

HOW AGENCIES WORK WITH US

From your first brief.
To your next campaign.

Share a brief in plain language. Get contextual websites and YouTube channels that fit it, with the evidence behind every pick and a deal ready for your usual buying platform.

  1. 01

    Share your brief

    The campaign in plain language.

  2. 02

    Get your shortlist

    The strongest contextual sites and channels, with the evidence behind each.

  3. 03

    We build the deal

    Your shortlist becomes a curated deal through our exchange partners.

  4. 04

    Activate and grow

    Buy in your usual platform. Agencies earn benefits as their investment grows.

LET’S WORK TOGETHER

Your next campaign starts here.

Your details will only be used to respond to your enquiry.

Prefer email? diana@placementgraph.com

YOUR PRIVACY

You choose whether to allow optional analytics. You can use the whole website either way.

Change or withdraw consent at any time using “Cookie preferences” in the footer. Turning analytics off stops future collection and removes this site’s analytics cookies; it does not erase information already sent. The page may refresh to apply withdrawal.