Ce qu'est app-ads.txt, et où il doit se trouver
Le fichier en un paragraphe, le format de ligne champ par champ, la règle d'emplacement qui décide si tout cela fonctionne, et que faire sans site web.
app-ads.txt est un fichier texte brut qui liste les sociétés publicitaires autorisées à vendre l'inventaire de votre app. Il se trouve à /app-ads.txt sur le site web indiqué dans votre fiche du store, et les réseaux le récupèrent pour vérifier que les vendeurs sont autorisés. Un sous-domaine de plateforme fonctionne : AdMob vérifie les fichiers sur les sous-domaines AppFoyer. Pas de publicité, pas besoin de fichier.
Faites-le plutôt en quelques minutes
AppFoyer héberge les pages dont parle ce guide — politique de confidentialité, conditions, support, suppression de compte et app-ads.txt — sur leur propre sous-domaine, sans domaine ni serveur à vous. Une app est gratuite, et rien de ce qu'exige un store n'est jamais payant.
Vérifié le 12 octobre 2026. Les règles des stores changent, parfois sans préavis. Tout ce qui suit renvoie à la documentation officielle, et c'est elle — pas cette page — qui fait autorité. Si les deux se contredisent, c'est le store qui a raison. Ce guide est traduit de l'anglais ; les citations de la documentation des stores restent en anglais, dans leur version originale.
app-ads.txt est un fichier texte brut qui liste les sociétés publicitaires autorisées à vendre
l’inventaire publicitaire de votre app. Il se trouve à /app-ads.txt sur le site web que vous avez
déclaré dans votre fiche du store, et les réseaux publicitaires le récupèrent pour vérifier que celui
qui propose votre inventaire y est vraiment autorisé par vous. Sans lui, un acheteur n’a aucun moyen
de le confirmer, et c’est toute la raison d’être du standard.
Si vous n’affichez pas de publicité dans votre app, vous n’avez pas du tout besoin de ce fichier. Si vous en affichez, cela prend une dizaine de minutes — dont neuf consacrées à trouver le bon emplacement, la seule partie qui pose régulièrement problème.
Le problème qu’il résout
L’inventaire publicitaire est revendu. Entre votre app et l’annonceur, il y a des plateformes
d’échange, des revendeurs et des intermédiaires, et tant que ads.txt et son équivalent pour les
apps n’existaient pas, un acheteur n’avait aucun moyen peu coûteux de distinguer « c’est bien
l’inventaire de cette app » de « quelqu’un prétend le vendre ». La fraude fonctionnait parce que
l’affirmation était invérifiable.
La solution est volontairement rudimentaire : l’éditeur publie la liste de ceux qui sont autorisés à vendre pour lui, à une adresse que lui seul contrôle. Un acheteur récupère le fichier et compare. C’est tout le mécanisme, et c’est pourquoi l’adresse compte plus que le contenu — un fichier que n’importe qui aurait pu déposer ne prouverait rien.
Le format de ligne
Un vendeur autorisé par ligne, trois champs obligatoires et un facultatif, séparés par des virgules :
google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0
| Champ | Signification |
|---|---|
google.com | Le domaine du système publicitaire — le domaine canonique du réseau, pas le vôtre. |
pub-0000000000000000 | Votre identifiant d’éditeur auprès de ce réseau. Copiez-le depuis son tableau de bord. |
DIRECT ou RESELLER | DIRECT si vous avez un contrat direct avec lui ; RESELLER si vous l’avez autorisé à revendre. |
f08c47fec0942fa0 | Identifiant facultatif de l’autorité de certification, quand le réseau en publie un. |
Tout ce qui suit # est un commentaire. Les lignes commençant par contact=, subdomain=,
inventorypartnerdomain= et similaires sont des variables, pas des enregistrements de vendeurs, et
sont laissées telles quelles.
Deux erreurs expliquent la plupart des fichiers cassés : une virgule manquante, qui rend toute la ligne illisible, et un identifiant d’éditeur copié depuis un forum d’entraide, qui autorise un inconnu à vendre votre inventaire. Le tableau de bord de chaque réseau affiche la ligne exacte qu’il attend — utilisez-la, pas un modèle.
Où il doit se trouver — la partie qui décide de tout
Le crawler ne connaît pas votre nom de package et ne vous recherche pas par app. Il lit l’URL du
site développeur dans votre fiche du store, et récupère /app-ads.txt à la racine de ce domaine.
Si l’URL de la fiche est fausse, un fichier parfaitement correct est invisible.
AdMob documente les règles de recherche, et elles méritent d’être lues une fois plutôt que devinées :
- Le répertoire racine signifie « the directory following the top level domain » (le répertoire qui
suit le domaine de premier niveau) —
example.com/app-ads.txt, pasexample.com/some/path/app-ads.txt. - Les crawlers « probe up to one subdomain level from the developer website when constructing an
app-ads.txt URL » (sondent jusqu’à un niveau de sous-domaine à partir du site développeur pour
construire une URL app-ads.txt). Pour une fiche pointant vers
support.help.example.com/game, l’exemple d’AdMob lui-même montre qu’il essaiehelp.example.com/app-ads.txtetexample.com/app-ads.txt. www.etm.sont exclus en tant qu’emplacements de sous-domaine ; ils se ramènent donc au domaine lui-même.
Au-delà de l’adresse, le service doit être d’une correction sans surprise : HTTP 200,
Content-Type: text/plain, aucune redirection devant, aucune connexion, aucun JavaScript pour
l’afficher, rien dans robots.txt qui le bloque. Un fichier qui n’apparaît qu’après une redirection
de http vers https, ou de l’apex vers www, est un échec courant et totalement invisible.
Vérifiez-le comme le ferait un crawler :
curl -i https://your-domain.example/app-ads.txt
Vous voulez 200 OK, text/plain, pas d’en-tête Location:, et vos lignes dans le corps.
« Mais je n’ai pas de site web »
C’est le cas normal pour un développeur indépendant, et c’est pourquoi tant d’apps n’ont aucun fichier.
L’exigence est un nom d’hôte que vous contrôlez et qui sert un fichier — ce n’est pas une obligation d’avoir un site vitrine, un domaine d’entreprise ou une landing page. AdMob le dit directement : « If you don’t have a suitable website that allows the uploading of an app-ads.txt file at the root level, you can use Firebase Hosting to host your app-ads.txt file. » (Si vous n’avez pas de site web adapté permettant de téléverser un fichier app-ads.txt à la racine, vous pouvez utiliser Firebase Hosting pour héberger votre fichier app-ads.txt.) L’hébergement sur une plateforme est prévu, ce n’est pas un contournement. Le guide sans site web passe en revue les options.
Quoi que vous utilisiez, deux conditions doivent rester vraies bien au-delà de la semaine de lancement : l’adresse doit rester la même, car elle figure dans une fiche du store à laquelle vous ne penserez plus, et elle doit continuer à servir du texte brut sans qu’une redirection ne s’y glisse la première fois que quelqu’un « améliore » la configuration.
Quand vous changez quelque chose, rien ne se passe immédiatement
Les réseaux publicitaires repassent selon leur propre calendrier. AdMob indique que « it can take up to 24 hours for AdMob to crawl and verify your app-ads.txt files » (l’exploration et la vérification de vos fichiers app-ads.txt par AdMob peuvent prendre jusqu’à 24 heures), et d’autres réseaux sont plus lents. Un fichier téléversé il y a une heure qui apparaît encore comme manquant est presque toujours simplement en avance — consultez le guide « not found » avant de changer quoi que ce soit d’autre.
Ce que fait AppFoyer
La page de votre app sert app-ads.txt sur son propre sous-domaine — texte brut, 200, sans
redirection, avec les en-têtes demandés par la spécification — et l’éditeur valide chaque ligne
pendant que vous la tapez, si bien qu’une virgule manquante est repérée avant qu’un crawler ne la
voie. Vous indiquez ce sous-domaine comme site développeur dans votre fiche du store, un niveau
sous appfoyer.page.
AdMob le vérifie à cet endroit : en octobre 2026, il a signalé « app-ads.txt file found and verified » (fichier app-ads.txt trouvé et vérifié) pour des apps dont le site développeur est une adresse AppFoyer. Nous n’avons encore aucun résultat d’exploration de notre côté pour d’autres réseaux publicitaires.
Les sources de référence
- Set up app-ads.txt — Aide AdMob. Les règles du crawler et l’exemple de sous-domaine cités ci-dessus proviennent de cette page.
- ads.txt / app-ads.txt specification — IAB Tech Lab. La spécification elle-même, qui fait autorité sur la grammaire des lignes.