Ads.txt Validator
Fetch or paste an ads.txt file and verify every line against the SSP’s sellers.json. Get risk scores, public reports, and a clean summary of ASI domains, sellers and resellers.
Cet outil est en bêta — les résultats peuvent évoluer au fil des améliorations.
Works with a full file or just the lines you want to check.
Paste or fetch an ads.txt file, then click Validate.
Derniers domaines vérifiés
Rapports ads.txt publics les plus récents. Ouvrez un domaine pour la validation ligne par ligne, scores de risque et contacts SSP.
-
csfd.cz17 Oct 202686Excellent764 lignes654OK101Fail9Warn
-
motorpresse.de # symplr by mso16 Oct 202696Excellent763 lignes734OK2Fail27Warn
-
westbridgfordwire.com16 Oct 202693Excellent27 lignes25OK2Fail0Warn
-
rtl.de14 Oct 202672Acceptable545 lignes390OK132Fail23Warn
-
sport1.de14 Oct 202683Excellent715 lignes591OK115Fail9Warn
-
mopo.de14 Oct 202686Excellent740 lignes640OK93Fail7Warn
-
joyn.de14 Oct 202690Excellent413 lignes372OK38Fail3Warn
-
kicker.de14 Oct 202678Acceptable1013 lignes794OK187Fail32Warn
-
bild.de14 Oct 202680Excellent284 lignes226OK54Fail4Warn
-
ct.de14 Oct 202686Excellent334 lignes288OK42Fail4Warn
-
auto-motor-und-sport.de14 Oct 202671Acceptable1046 lignes747OK272Fail27Warn
-
cdns.symplr.de13 Oct 202670Acceptable786 lignes553OK210Fail23Warn
-
flugrevue.de13 Oct 202671Acceptable1046 lignes747OK272Fail27Warn
-
promobil.de13 Oct 202671Acceptable1046 lignes747OK272Fail27Warn
-
bike-x.de13 Oct 202671Acceptable1046 lignes747OK272Fail27Warn
-
runnersworld.de13 Oct 202671Acceptable1046 lignes747OK272Fail27Warn
-
focus.de13 Oct 202692Excellent423 lignes391OK30Fail2Warn
-
abendblatt.de13 Oct 202690Excellent381 lignes343OK33Fail5Warn
-
giga.de13 Oct 202691Excellent342 lignes310OK30Fail2Warn
-
freenet.de13 Oct 202695Excellent384 lignes363OK21Fail0Warn
-
schulferien.org13 Oct 202673Acceptable1218 lignes895OK282Fail41Warn
-
motorradonline.de13 Oct 202672Acceptable1037 lignes747OK263Fail27Warn
-
t-online.de13 Oct 202693Excellent366 lignes339OK26Fail1Warn
-
ixbt.com10 Oct 202653Acceptable228 lignes120OK93Fail15Warn
-
malagahoy.es09 Oct 202666Acceptable1610 lignes1058OK494Fail58Warn
-
sozcu.com.tr23 Sep 2026→
-
daft.ie13 Sep 202698Excellent184 lignes181OK2Fail1Warn
-
abc.es30 Aug 202675Acceptable1824 lignes1366OK414Fail44Warn
-
elpais.es24 Aug 202662Acceptable2613 lignes1610OK872Fail131Warn
-
marca.com24 Aug 202696Excellent1199 lignes1148OK40Fail11Warn
-
as.com24 Aug 202662Acceptable3237 lignes2015OK1071Fail151Warn
-
codepen.io24 Aug 202675Acceptable99 lignes74OK25Fail0Warn
-
teamtalk.com11 Aug 202687Excellent317 lignes277OK34Fail6Warn
-
motor.es08 Aug 202675Acceptable2933 lignes2192OK688Fail53Warn
-
eldiario.es04 Aug 202682Excellent1288 lignes1060OK214Fail14Warn
-
bonviveur.com04 Aug 202685Excellent101 lignes86OK15Fail0Warn
Rapports à la une
Fiches d’éditeurs de référence. Ouvrez un rapport existant, ou cliquez pour générer un scan s’il manque.
-
vogue.com28 Jul 202678Acceptable49 lignes38OK10Fail1Warn
-
washingtonpost.com28 Jul 202692Excellent251 lignes232OK16Fail3Warn
-
wsj.com28 Jul 202688Excellent91 lignes80OK10Fail1Warn
-
nytimes.com28 Jul 202693Excellent29 lignes27OK2Fail0Warn
-
people.com28 Jul 202684Excellent383 lignes323OK54Fail6Warn
-
time.com28 Jul 202693Excellent204 lignes190OK13Fail1Warn
How this tool works
- 1 Fetch or paste the full ads.txt (or a subset of lines).
- 2 We normalize line endings, then group rows by ASI (Advertising System Identifier).
- 3 For each ASI we download that SSP’s sellers.json (with known CDN fallbacks) and look up every Seller ID.
- 4 Each row gets a status, optional flags, and a risk score = sum of flag weights (clamped 0–1).
- 5 Successful validations are stored as a public report URL so Google can index that domain’s ads.txt health.
FAQ
Is my ads.txt correct? +
A correct ads.txt is publicly reachable at https://yourdomain.com/ads.txt, uses IAB line format (ASI, seller_id, DIRECT|RESELLER[, TAG-ID]), and every Seller ID exists in that ASI’s sellers.json. Run this Validator: green rows are verified; red/amber rows need fixes (missing SID, relationship mismatch, domain mismatch, or unreachable sellers.json). Also set ownerdomain= when you manage multiple hostnames.
How many lines should my ads.txt have? +
There is no magic number. A healthy site often has dozens to a few hundred unique ASI+SID+relationship rows — not thousands of duplicates. More lines ≠ more revenue. Buyers practicing SPO prefer short, accurate files with real DIRECT paths and only the RESELLER hops you intentionally authorize. If you have 1,000+ lines, audit for duplicates and unused partners first.
How do I know if my ads.txt is optimized? +
Optimized means: (1) no duplicate ASI+SID+Rel rows, (2) every SID verified in sellers.json, (3) DIRECT only when the seller_type is PUBLISHER/BOTH, (4) TAG-IDs present for exchanges that require them (e.g. Google), (5) ownerdomain/managerdomain consistent, (6) crawlers can fetch the file (use Bot Probe). This tool’s risk score and “Download optimized” export help you get there.
What is SPO (Supply Path Optimization)? +
SPO is how DSPs and exchanges choose the cheapest, cleanest path to your inventory instead of bidding through every reseller hop. They look at ads.txt + sellers.json + SupplyChain (schain) to see who is DIRECT vs RESELLER. Long, noisy, or unverified paths get deprioritized or blocked. Clean ads.txt is the publisher-side foundation of SPO.
How does SPO use ads.txt and sellers.json together? +
ads.txt is your authorization list (“who may sell my inventory”). sellers.json is the SSP’s registry (“this seller_id is a real publisher/intermediary”). SPO systems join both: if you list openx.com, 12345, RESELLER but 12345 is missing or marked confidential/passthrough, that path looks risky. Verified DIRECT to a known publisher domain scores best.
DIRECT vs RESELLER — which should I use for SPO? +
Use DIRECT only when you have a direct business relationship with that advertising system and their sellers.json seller_type is PUBLISHER or BOTH. Use RESELLER when an intermediary is authorized to resell. Declaring DIRECT for an INTERMEDIARY account (DIRECT_INTERMEDIARY flag) is a classic SPO red flag and raises risk in this validator.
Why do buyers care about TAG-ID / certification authority? +
The optional 4th field (TAG-ID) ties the line to a certification authority (commonly Google’s f08c47fec0942fa0). Some buyers require it for trust and for matching against sellers.json is_confidential / account data. Missing TAG-ID where partners expect it can weaken SPO preference even if the SID exists.
What is schain and how does it relate to ads.txt? +
SupplyChain Object (schain) is sent in the bid request listing every hop from publisher to the final seller. Buyers compare schain nodes to ads.txt/sellers.json. If a hop appears in schain but is not authorized in ads.txt — or is authorized as DIRECT incorrectly — SPO algorithms discard or discount that path. Keeping ads.txt aligned with how your stack actually sells is essential.
Should I remove unused SSP lines for SPO? +
Yes, if you no longer work with that partner. Unused RESELLER rows create “open doors” that can be abused and dilute path quality. Keep active DIRECT accounts and intentional resellers only. Re-validate after cleanup so sellers.json still matches.
What does the Ads.txt Validator check technically? +
Each actionable line is grouped by ASI. We fetch that SSP’s sellers.json (canonical URL + known CDN fallbacks), look up the Seller ID, compare relationship vs seller_type, collect flags, and score risk = sum of flag weights (0–1). Comments and ownerdomain/managerdomain are metadata, not inventory rows.
How is the risk score calculated? +
Risk is the sum of weighted flags, clamped 0–1. Weights: DECLARED_NOT_IN_SELLERS_JSON 0.40, DIRECT_INTERMEDIARY 0.35, CONFIDENTIAL / NO_SELLERS_JSON 0.30, DOMAIN_MISMATCH / RESELLER_INTERMEDIARY 0.25, UNKNOWN_SSP / MISSING_NAME 0.20, PASSTHROUGH 0.15, RESELLER_ONLY / NO_TAG_ID 0.10, DUPLICATED / SELLERS_JSON_UNAVAILABLE 0.05. Green ≈ 0–0.14, yellow ≈ 0.15–0.39, orange ≈ 0.40–0.69, red ≈ 0.70+.
Why can sellers.json be “unavailable” even if the domain exists? +
Many SSPs block datacenter IPs, rate-limit, or host sellers.json on a CDN. We try the IAB URL plus fallbacks (e.g. AppNexus on acdn.adnxs.com). HTTP 502/403 means we could not read the registry now — not the same as “SID missing”. That is why SELLERS_JSON_UNAVAILABLE weighs only 0.05.
Can a wrong ads.txt hurt my revenue? +
Yes. Missing DIRECT lines block legitimate demand; wrong DIRECT/RESELLER declarations and unverified SIDs make buyers drop paths under SPO; an unreachable ads.txt means crawlers never authorize you. Fix reachability (Bot Probe), then correctness (Validator), then hygiene (Safe Add Lines / optimized export).
Why do you store a public report for each search? +
So you can share a URL proving what was checked. Each publisher gets a stable, indexable report at /tools/adstxt/report/{domain-slug} (e.g. /tools/adstxt/report/rtve-es). Re-validating the same domain updates that page instead of creating duplicates.
What are the free limits? +
Anonymous visitors get 2 full-file validations per 2 hours. Then we ask for a company email (no Gmail/Outlook/Yahoo). We combine cookie, fingerprint and IP so clearing storage alone does not reset the quota.