Back to Blog
Technical7 min read

Why AdMob Keeps Rejecting Your App-ads.txt (The "Invisible Character" Bug)

Is your AdMob fill rate zero? It might be a hidden formatting error in your app-ads.txt file. Learn how to validate your file headers and fix rejection instantly.

If AdMob cannot verify your app-ads.txt, your ad revenue drops to zero. The most common cause is not the text itself, but the encoding of the file. Web servers like Vercel or Netlify often serve text files with the wrong HTTP headers.

⚠️ The Nightmare Scenario

"I recently lost a chunk of revenue because my AdMob account couldn't verify my domain. The file looked fine in Chrome—I could see my publisher ID perfectly. But the crawler rejected it."

The Solution (Curl Command)

Run this in your terminal:

curl -I https://yourdomain.com/app-ads.txt

If the Content-Type says text/html instead of text/plain, AdMob will reject it. This often happens when you put a text file in a Next.js public folder without configuring the headers.

Common Mistakes That Break app-ads.txt

Wrong Content-Type Header

Server sends file as text/html instead of text/plain. This is the #1 cause of rejection.

Hidden Unicode Characters

Copy-pasting from Word or PDFs adds invisible BOM (Byte Order Mark) characters that corrupt the file.

Wrong File Location

File must be at yourdomain.com/app-ads.txt (root level), not in a subdirectory.

SSL Certificate Issues

AdMob crawler requires HTTPS. HTTP-only domains get rejected automatically.

How to Verify Your File is Correct

  1. 1

    Check Content-Type

    Run curl -I https://yourdomain.com/app-ads.txt

  2. 2

    Validate Format

    Use Google's app-ads.txt validator tool to check syntax

  3. 3

    Test Encoding

    Open file in a hex editor to check for BOM characters (EF BB BF at start)

  4. 4

    Wait 24 Hours

    AdMob crawler checks once per day. Changes take time to propagate.

The Fix

I built Launchinseconds to solve this specific engineering headache. We auto-generate your app-ads.txt and host it with the exact headers and encoding Google requires. Stop debugging text files and start earning revenue.

✓ Automated Solution

Launchinseconds automatically generates, hosts, and maintains your app-ads.txt with correct headers, encoding, and format—guaranteed to pass AdMob verification.

🚀2026 Launch Special40% OFF

Generate your app-ads.txt and App Store requirements

New here? Start your app journey with 40% off! Use promo code at checkout.

Launch Your App