Warum AdMob meldet, dass Ihre app-ads.txt nicht gefunden wurde
Wie Crawler von Werbenetzwerken die Datei finden, die sechs Dinge, die sie meist aufhalten, und wie Sie ein echtes Problem von einem noch ausstehenden Crawl unterscheiden.
Ein „nicht gefunden“ hat fast immer eine mechanische Ursache: keine Entwickler-Website im Store-Eintrag, eine URL, unter der die Datei nicht liegt, eine Weiterleitung, der falsche Content-Type, eine fehlerhafte Zeile oder ein Crawl, der noch nicht gelaufen ist – AdMob nennt 24 Stunden. Dateien auf AppFoyer-Subdomains werden von AdMob verifiziert.
Erledigen Sie das stattdessen in wenigen Minuten
AppFoyer hostet die Seiten, um die es in diesem Ratgeber geht – Datenschutzerklärung, Nutzungsbedingungen, Support, Kontolöschung und app-ads.txt –, auf einer eigenen Subdomain, ohne eigene Domain oder eigenen Server. Eine App ist kostenlos, und nichts, was ein Store verlangt, steht jemals hinter einer Bezahlschranke.
Geprüft am 12. Oktober 2026. Store-Richtlinien ändern sich, manchmal ohne Ankündigung. Alles Folgende verlinkt die offizielle Dokumentation, und maßgeblich ist die dort verlinkte Seite, nicht diese hier. Widersprechen sich beide, hat der Store recht. Dieser Ratgeber ist aus dem Englischen übersetzt; Zitate aus der Store-Dokumentation bleiben im englischen Original.
Wenn ein Netzwerk app-ads.txt als nicht gefunden meldet, liegt es fast immer an einer von sechs
mechanischen Ursachen: keine Entwickler-Website im Store-Eintrag, eine Website-URL, unter der die
Datei nicht liegt, eine Weiterleitung vor der Datei, der falsche Content-Type, eine fehlerhafte Zeile
oder ein Crawl, der schlicht noch nicht gelaufen ist. Keine davon hat mit Ihrer App, Ihrem Konto oder
Ihren Anzeigenblöcken zu tun.
app-ads.txt ist ein IAB-Standard, mit dem ein Werbenetzwerk bestätigen kann, dass derjenige, der
das Inventar Ihrer App verkauft, dazu berechtigt ist. Das Netzwerk findet die Datei über die
Website-URL, die in Ihrem Store-Eintrag steht – deshalb drehen sich alle genannten Ursachen um
diese URL und nicht um die App.
Wie der Crawler die Datei findet
Die Kette hat drei Glieder, und ein Bruch an jeder Stelle führt zur selben Meldung:
- Das Netzwerk liest die URL der Entwickler-Website aus Ihrem Store-Eintrag.
- Es ruft
/app-ads.txtim Root dieser Domain ab. - Es sucht nach einer Zeile, die das Netzwerk und Ihre Publisher-ID nennt.
Die Datei wird also nicht über Ihre App, Ihren Paketnamen oder Ihr AdMob-Konto gefunden, sondern über die Website-URL im Store-Eintrag. Stimmt diese nicht, spielt alles andere keine Rolle.
Die sechs üblichen Ursachen
Keine Website-URL im Store-Eintrag. Die häufigste Ursache. Hat der Store-Eintrag keine Entwickler-Website, hat der Crawler keinen Startpunkt. Im App Store ist dieses Feld die optionale Marketing URL, nicht die Pflichtangabe Support URL – siehe app-ads.txt für iOS-Apps.
Die URL zeigt auf eine Stelle ohne die Datei. Im Store-Eintrag steht example.com, die Datei
liegt aber auf www.example.com oder unter einem Seitenpfad statt im Root der Domain.
Eine Weiterleitung. Die Spezifikation erwartet, dass die Datei direkt ausgeliefert wird. Eine
Kette von Weiterleitungen – selbst http → https oder Apex → www – ist eine häufige
Fehlerursache. Liefern Sie die Datei mit 200 unter genau der Adresse aus, die der Store-Eintrag
nennt.
Der falsche Content-Type. Sie muss als Klartext ausgeliefert werden. Eine Datei, die als
text/html ausgeliefert wird, oder eine Hosting-Plattform, die sie in eine Seite einbettet, lässt
sich nicht parsen.
Ein Tippfehler in der Zeile selbst. Das Format ist streng –
domain, publisher id, relationship, certification id – und ein fehlendes Komma oder ein
überzähliges Leerzeichen macht die Zeile ungültig.
Der Crawl ist schlicht noch nicht gelaufen. Netzwerke crawlen nach ihrem eigenen Zeitplan neu, meist eher in Tagen als in Minuten gemessen. Eine Datei, die vor einer Stunde hochgeladen wurde und als fehlend angezeigt wird, ist meist nur zu früh dran.
So prüfen Sie es selbst in zehn Sekunden
curl -i https://your-domain.example/app-ads.txt
Sie wollen 200 OK, Content-Type: text/plain, keinen Location:-Header und Ihre Zeilen im Body
sehen. Ist curl zufrieden und das Netzwerk trotzdem nicht, liegt das Problem davor: bei der URL im
Store-Eintrag oder beim Crawl-Zeitplan.
Ein Hinweis zu Subdomains
Die Spezifikation bezieht sich auf den Root der Domain, die im Store-Eintrag angegeben ist, und eine
Subdomain hat ihren eigenen Root. Die Datei unter yourapp.example.page/app-ads.txt auszuliefern ist
daher spezifikationskonform, wenn genau diese Adresse im Store-Eintrag angegeben ist.
AdMob dokumentiert die Regel, auf der das beruht: Sein Crawler „probe[s] up to one subdomain level from the developer website“ (prüft bis zu einer Subdomain-Ebene ausgehend von der Entwickler-Website), und es nennt Plattform-Hosting wie Firebase Hosting als akzeptablen Ort für die Datei.
AdMob verifiziert Dateien auf AppFoyer-Subdomains. Im Oktober 2026 meldete AdMob „app-ads.txt file found and verified“ für Apps in beiden Stores, deren Entwickler-Website eine AppFoyer-Adresse ist. Ein früherer Crawl am 23. September 2026 hatte eine dieser Apps als nicht gefunden gemeldet; inzwischen besteht sie die Prüfung, ohne dass sich auf unserer Seite etwas geändert hat. Wenn AdMob für Ihre AppFoyer-Adresse „not found“ meldet, gehen Sie die obigen Ursachen durch und geben Sie dem Crawl seine 24 Stunden. Von anderen Werbenetzwerken haben wir noch kein eigenes Crawl-Ergebnis.
Was AppFoyer hier tut
Wir liefern die Datei als Klartext ohne Weiterleitung und mit den Headern aus, die die Spezifikation verlangt, geben Ihnen Vorlagen für die gängigen Netzwerke und prüfen jede Zeile, während Sie sie eingeben. Wir versprechen nicht, dass ein bestimmtes Netzwerk sie akzeptiert – siehe den Absatz oben.
Die maßgeblichen Quellen
- Set up app-ads.txt – AdMob-Hilfe
- app-ads.txt / ads.txt specification – IAB Tech Lab