Por qué AdMob dice que no encontró tu app-ads.txt
Cómo encuentran el archivo los rastreadores, las seis cosas que suelen impedirlo y cómo distinguir un problema real de un rastreo que aún no se ha hecho.
Un resultado «not found» casi siempre es mecánico: no hay sitio web de desarrollador en tu ficha de la tienda, la URL apunta a donde no está el archivo, hay una redirección, el tipo de contenido es incorrecto, una línea está mal formada o el rastreo aún no se ha hecho; AdMob se da 24 horas. AdMob verifica los archivos en subdominios de AppFoyer.
Hazlo en unos minutos
AppFoyer aloja las páginas de las que trata esta guía —política de privacidad, términos, soporte, eliminación de cuenta y app-ads.txt— en su propio subdominio, sin que necesites dominio ni servidor propios. Una app es gratis, y nada de lo que exige una tienda está nunca detrás de un muro de pago.
Comprobado el 12 de octubre de 2026. Las políticas de las tiendas cambian, a veces sin aviso. Todo lo que sigue enlaza la documentación oficial, y esa página —no esta— es la que manda. Si no coinciden, la tienda tiene razón. Esta guía está traducida del inglés; las citas de la documentación de las tiendas se mantienen en el inglés original.
Cuando una red informa que app-ads.txt no se encontró, casi siempre se debe a una de seis causas
mecánicas: no hay sitio web de desarrollador en la ficha de la tienda, la URL del sitio apunta a
un lugar donde no está el archivo, hay una redirección delante del archivo, el tipo de contenido es
incorrecto, una línea está mal formada o, simplemente, el rastreo aún no se ha hecho. Ninguna tiene
que ver con tu app, tu cuenta ni tus bloques de anuncios.
app-ads.txt es un estándar del IAB que permite a una red publicitaria confirmar que quien vende el
inventario de tu app está autorizado para hacerlo. La red lo encuentra a través de la URL del
sitio web que aparece en tu ficha de la tienda; por eso todas las causas anteriores tienen que ver
con esa URL y no con la app.
Cómo encuentra el archivo el rastreador
La cadena tiene tres eslabones, y si se rompe cualquiera de ellos aparece el mismo mensaje:
- La red lee la URL del sitio web del desarrollador de tu ficha de la tienda.
- Descarga
/app-ads.txten la raíz de ese dominio. - Busca una línea que nombre a la red y tu ID de editor.
Es decir, el archivo no se encuentra a través de tu app, tu nombre de paquete ni tu cuenta de AdMob. Se encuentra a través de la URL del sitio web que aparece en la ficha de la tienda. Si esa URL está mal, nada más importa.
Las seis causas habituales
No hay URL de sitio web en la ficha. La más común. Si la ficha de la tienda no tiene sitio web de desarrollador, el rastreador no tiene por dónde empezar. En el App Store ese campo es la Marketing URL, que es opcional, no la Support URL obligatoria; consulta app-ads.txt para apps de iOS.
La URL apunta a un lugar sin el archivo. La ficha dice example.com pero el archivo está en
www.example.com, o en una ruta de página en lugar de en la raíz del dominio.
Una redirección. La especificación espera que el archivo se sirva directamente. Una cadena de
redirecciones, incluso http → https o del dominio raíz a www, es una causa frecuente de fallo.
Sírvelo con 200, en la dirección que indica la ficha.
El tipo de contenido incorrecto. Debe servirse como texto plano. Un archivo servido como
text/html, o una plataforma de hosting que lo envuelve en una página, no se podrá analizar.
Una errata en la propia línea. El formato es estricto
(domain, publisher id, relationship, certification id) y una coma que falta o un espacio de más
rompen la línea.
El rastreo simplemente aún no se ha hecho. Las redes vuelven a rastrear según su propio calendario, que normalmente se mide en días, no en minutos. Un archivo subido hace una hora que aparece como ausente casi siempre es solo cuestión de tiempo.
Cómo comprobarlo tú mismo en diez segundos
curl -i https://your-domain.example/app-ads.txt
Lo que quieres ver es 200 OK, Content-Type: text/plain, ninguna cabecera Location: y tus líneas
en el cuerpo. Si curl está conforme y la red sigue sin estarlo, el problema está antes: la URL de
la ficha o el calendario de rastreo.
Una nota sobre los subdominios
La especificación se refiere a la raíz del dominio declarado en la ficha de la tienda, y un
subdominio tiene su propia raíz. Por tanto, servir el archivo desde
yourapp.example.page/app-ads.txt es conforme a la especificación cuando esa dirección exacta es la
que declara la ficha.
AdMob documenta la regla en la que se basa esto: su rastreador “probe[s] up to one subdomain level from the developer website” (explora hasta un nivel de subdominio a partir del sitio web del desarrollador), y menciona el hosting de plataformas como Firebase Hosting como un lugar aceptable para el archivo.
AdMob verifica los archivos en subdominios de AppFoyer. En octubre de 2026, AdMob informó “app-ads.txt file found and verified” para apps de ambas tiendas cuyo sitio web de desarrollador es una dirección de AppFoyer. Un rastreo anterior, del 23 de septiembre de 2026, había informado que una de esas mismas apps no se encontraba; ahora pasa sin que hayamos cambiado nada. Si AdMob dice «not found» para tu dirección de AppFoyer, revisa las causas anteriores y dale al rastreo sus 24 horas. Todavía no tenemos ningún resultado de rastreo propio de otras redes publicitarias.
Qué hace AppFoyer aquí
Servimos el archivo como texto plano, sin redirección y con las cabeceras que pide la especificación, te damos plantillas para las redes más comunes y validamos cada línea mientras la escribes. No prometemos que una red concreta lo vaya a aceptar; consulta el párrafo anterior.
Las fuentes oficiales
- Set up app-ads.txt — Ayuda de AdMob
- app-ads.txt / ads.txt specification — IAB Tech Lab