Cómo alojar app-ads.txt si no tienes sitio web
Qué necesita realmente el rastreador, tres formas de darle un host sin construir un sitio, las trampas de redirección de cada una y cómo confirmar que funciona.
No necesitas un sitio web, solo un nombre de host que controles y que sirva /app-ads.txt como texto plano, con HTTP 200 y sin redirección. Pon esa dirección en el campo de sitio web del desarrollador de tu ficha de la tienda (la Marketing URL en el App Store) y el rastreador leerá el archivo allí. AdMob menciona Firebase Hosting como opción aceptable.
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.
No necesitas un sitio web, solo un nombre de host que controles y que sirva /app-ads.txt como
texto plano, con HTTP 200 y sin redirección. Pon esa dirección en el campo de sitio web del
desarrollador de tu ficha de la tienda (la Marketing URL en el App Store, el Website en Store
listing contact details en Google Play) y el rastreador leerá el archivo allí.
AdMob lo dice sin rodeos: “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 no tienes un sitio web adecuado que permita subir un archivo app-ads.txt al nivel raíz, puedes usar Firebase Hosting para alojar tu archivo app-ads.txt.) El hosting de una plataforma es la respuesta esperada, no un apaño.
Qué necesita realmente el rastreador
El rastreador no busca tu app por nombre de paquete. Toma el sitio web del desarrollador de tu ficha
de la tienda, se queda con el nombre de host y descarga /app-ads.txt en su raíz. Las reglas de
AdMob:
- La raíz, no una ruta. Una ficha que apunta a
example.com/myappse comprueba enexample.com/app-ads.txt. - Un nivel de subdominio. El 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).
www.ym.cuentan como el propio dominio. - Servido tal cual.
200 OK,Content-Type: text/plain, sin redirección, sin inicio de sesión y sin nada enrobots.txtque lo bloquee.
Así que la tarea es: una dirección que no vaya a cambiar, que sirva un archivo de texto, correctamente, durante años. Las tres opciones siguientes lo cumplen; se diferencian en cuánto mantenimiento exigen.
Opción 1: Firebase Hosting
La que menciona AdMob. Un proyecto gratuito de Firebase te da un nombre de host como
your-project.web.app.
- Crea un proyecto en la consola de Firebase e instala Firebase CLI.
- En una carpeta vacía, ejecuta
firebase init hostingy deja el directoriopublicpor defecto. - Pon tu
app-ads.txtenpublic/, junto alindex.htmlgenerado. - Ejecuta
firebase deploy --only hosting. - Configura
https://your-project.web.appcomo sitio web del desarrollador en cada ficha de la tienda.
La trampa: si más adelante conectas un dominio personalizado y eliges redirigir la dirección
web.app a él, la dirección de tu ficha pasa a responder con una redirección. O mantienes la ficha
en la dirección que sirve el archivo directamente, o actualizas la ficha al nuevo dominio.
Opción 2: GitHub Pages u otro hosting estático
Cualquier hosting estático sirve si el archivo acaba en la raíz del nombre de host que declaras.
En GitHub Pages ese detalle importa: un sitio de proyecto vive en username.github.io/repo/, pero
el rastreador solo comprueba username.github.io/app-ads.txt. El archivo tiene que estar en el
sitio de usuario (el repositorio llamado username.github.io), o el proyecto necesita su propio
dominio personalizado.
Se aplica la misma trampa de redirección: una vez configurado un dominio personalizado, GitHub Pages
redirige la dirección github.io a él. Declara la dirección que sirva el archivo sin saltos.
Opción 3: una página de cumplimiento alojada
Si además necesitas una política de privacidad, una página de soporte o una URL de eliminación de
cuenta (y una app con anuncios casi siempre necesita lo primero), el mismo host puede servirlo todo.
Eso es lo que hace AppFoyer: cada app recibe su propio subdominio, que sirve app-ads.txt como texto
plano sin redirección, junto a las páginas que piden las tiendas. AdMob informa “app-ads.txt file
found and verified” para apps de ambas tiendas cuyo sitio web de desarrollador es una dirección de
AppFoyer (comprobado en octubre de 2026). Todavía no tenemos ningún resultado de rastreo propio de
otras redes publicitarias.
Compruébalo antes que el rastreador
curl -i https://your-host.example/app-ads.txt
Lo que quieres ver es HTTP/2 200 (o HTTP/1.1 200 OK), content-type: text/plain, ninguna
cabecera location: y tus líneas en el cuerpo. Un 301 o 302 aquí es el fallo invisible más
común.
Luego, espera. AdMob dice “it can take up to 24 hours for AdMob to crawl and verify your app-ads.txt files” (AdMob puede tardar hasta 24 horas en rastrear y verificar tus archivos app-ads.txt). Su estado está en Apps → View all apps → app-ads.txt; si después de un día sigue diciendo que no se encontró, la guía sobre «not found» repasa las causas en orden.
Las fuentes oficiales
- Set up app-ads.txt — Ayuda de AdMob. La frase sobre Firebase Hosting, las reglas de raíz y subdominio y la cifra de 24 horas salen de esta página.
- Understand app-ads.txt file statuses — Ayuda de AdMob. Dónde se ve el estado y qué significa cada uno.
- ads.txt / app-ads.txt specification — IAB Tech Lab.