How to Set Up app-ads.txt for iOS Apps
Setting up app-ads.txt for iOS apps requires configuring your Marketing URL in App Store Connect. This guide walks through every step, from Apple metadata to file verification.

Key Takeaways
- iOS app-ads.txt setup relies on the Marketing URL field in App Store Connect. This is the developer website URL that DSPs use to locate your app-ads.txt file. It's the single most important configuration for iOS verification.
- The file format is identical to Android. Same structure, same entries, same plain text format. If you already have app-ads.txt for Android, the file content works for iOS too.
- Apple App Store Connect handles developer URLs differently than Google Play. Google Play uses a dedicated "developer website" field in Store Settings. Apple uses the "Marketing URL" field, which many developers leave empty or set to a generic landing page.
- Your app must be publicly listed for verification to work. DSP crawlers access app store metadata to find your developer URL. If your app isn't live in the App Store, the verification chain can't start.
- Verification takes 24 hours minimum. After setup, allow at least a full day for AdMob and other DSPs to crawl and confirm your file.
---
How to Set Up app-ads.txt for iOS Apps
Setting up app-ads.txt for iOS apps follows the same general process as Android: host a text file on your developer website listing your authorized ad sellers. But iOS has a specific configuration step that trips up many developers: the Marketing URL in App Store Connect.
On Google Play, the developer website URL is a straightforward field in your store listing contact details. On the Apple App Store, the equivalent field is the Marketing URL in your app's metadata, and it serves a dual purpose. It's both a link for users who want to learn more about your app and the URL that DSP crawlers use to locate your app-ads.txt file.
Many iOS developers either leave this field blank, set it to their App Store listing URL (circular), or point it to a social media page. Any of these means DSPs can't find your app-ads.txt file, and your in-app inventory stays unverified.
This guide covers the iOS-specific setup process end to end.
Prerequisites
Before starting:
- An active Apple Developer account with access to App Store Connect
- An iOS app published (or ready to publish) on the App Store
- A developer website you control, with the ability to host files at the root path
- Access to your ad network dashboards (AdMob, AppLovin, Unity Ads, etc.)
- A plain text editor for creating the file
If you don't have a developer website yet, set one up before proceeding. Firebase Hosting, Netlify, or any static hosting service works. The site needs to serve one file at its root: app-ads.txt.
Step 1: Set Up Your Developer Website
Your developer website is the anchor for the entire verification chain. DSP crawlers will fetch https://yoursite.com/app-ads.txt based on the URL they find in the App Store listing.
Requirements for the website:
- Must use HTTPS. No HTTP-only sites. DSP crawlers expect SSL.
- Must serve files at the root path. The file needs to be accessible at
yourdomain.com/app-ads.txt, not in a subfolder. - Must be publicly accessible. No login walls, no password protection on the app-ads.txt path.
If you use Firebase Hosting, your URL will look like https://your-project.web.app. This is acceptable as a developer URL in App Store Connect.
Step 2: Configure the Marketing URL in App Store Connect
This is the critical iOS-specific step.
- Sign in to App Store Connect
- Navigate to My Apps and select your app
- Go to the App Information section (under General)
- Find the Marketing URL field
- Enter your developer website URL:
https://yoursite.com - Save changes
Key details:
- The Marketing URL must point to the exact domain where your app-ads.txt is hosted. If you enter
https://www.yoursite.combut your file is athttps://yoursite.com/app-ads.txt(no www), crawlers may not find it. Match the URL form exactly. - Don't use a deep link. Enter the root domain (
https://yoursite.com), not a specific page (https://yoursite.com/apps/my-game). Crawlers construct the app-ads.txt URL by appending/app-ads.txtto the domain. - This field affects all versions of your app. You only need to set it once, and it persists across app updates.
- The change requires a metadata update submission. App Store Connect may require you to submit the metadata change for review. The review is typically fast (hours, not days) since you're only changing a URL field, not app binary.
If the Marketing URL field is currently empty: Fill it in. An empty Marketing URL means no DSP can locate your app-ads.txt file for your iOS app, regardless of whether the file exists on your website.
If it currently points to a social media page or App Store URL: Change it to your actual developer website where app-ads.txt is hosted.
Step 3: Collect Ad Network Entries
Gather app-ads.txt entries from every ad network your iOS app uses. The entries are the same regardless of platform (Android or iOS).
AdMob (Google)
- Sign in to AdMob
- Go to Apps > View all apps > app-ads.txt tab
- Copy your personalized entry
textgoogle.com, pub-1234567890123456, DIRECT, f08c47fec0942fa0
Other Networks
Each network provides their entries through their publisher dashboard:
- AppLovin: Dashboard > Account > app-ads.txt
- Unity Ads: Dashboard > Monetization > Setup > app-ads.txt
- ironSource (Unity): Account settings > app-ads.txt section
- InMobi: Publisher dashboard > Setup > app-ads.txt
- Meta Audience Network: Monetization Manager > app-ads.txt
If you use a mediation platform, include entries for the mediation SDK AND every network in your waterfall or bidding setup. Each network needs its own authorized entry.
Step 4: Create the app-ads.txt File
Open a plain text editor and create the file:
text# Google AdMob google.com, pub-1234567890123456, DIRECT, f08c47fec0942fa0 # AppLovin applovin.com, abc123def, DIRECT # Unity Ads unity.com, 112233, DIRECT, aaa111bbb222 # Meta Audience Network facebook.com, 998877665544, RESELLER # Mediation partners inmobi.com, 445566, RESELLER, 83e75a7ae333ca9d chartboost.com, 778899, RESELLER
Save the file as app-ads.txt (exact filename, lowercase). Use UTF-8 encoding. Don't save as .doc, .rtf, or any other format.
Step 5: Upload to Your Developer Website
Upload the file to the root of your developer website. After upload, verify by visiting:
texthttps://yoursite.com/app-ads.txt
You should see the raw text of your file in the browser. No HTML wrapping. No login page.
Verify the HTTP response:
textcurl -I https://yoursite.com/app-ads.txt
Expected response:
HTTP/2 200content-type: text/plain
If you see a 404, the file isn't at the root path. If you see text/html, your server is serving it with the wrong content type.
Step 6: Verify the Complete Chain
Before waiting for DSP verification, manually trace the full chain that a crawler will follow:
- App Store listing check. Go to your app's App Store page (the public listing, not App Store Connect). Verify the developer website link points to the correct URL. You can find this by scrolling down on the app's App Store page or using the "Developer Website" link.
- Developer URL check. Visit the developer URL shown on the App Store listing. Verify it loads correctly.
- app-ads.txt check. Append
/app-ads.txtto the developer URL and verify the file is accessible.
If any step in this chain fails, DSP verification will fail. The most common iOS-specific issue: the Marketing URL in App Store Connect doesn't match the domain where the file is hosted.
Step 7: Wait for Verification (24+ Hours)
After completing the setup:
- AdMob verification: Typically within 24 hours. Check status in AdMob under the app-ads.txt tab.
- Other DSPs: 24-72 hours for most major DSPs to re-crawl.
- Full propagation: Allow up to a week for all DSPs in the ecosystem to pick up your file.
If verification fails in AdMob after 24 hours, the most common causes for iOS:
- Marketing URL not set or pointing to wrong domain. Go back to App Store Connect and verify.
- App Store metadata not yet updated. If you just changed the Marketing URL, it may need to go through a brief review.
- File not accessible. SSL error, wrong path, or server misconfiguration.
- Publisher ID mismatch. The pub-ID in your file doesn't match your AdMob account.
iOS-Specific Considerations
App Store Connect Metadata Reviews
Unlike Google Play, where metadata changes are often instant, Apple sometimes reviews metadata changes. Changing the Marketing URL is a metadata-only change and typically goes through quickly, but plan for a possible 24-hour review period on top of the 24-hour crawler wait.
Universal Links and app-ads.txt
If you use Universal Links (Apple's deep linking feature), your apple-app-site-association file also lives at the root of your website. This isn't a conflict. Both files coexist at the root, served at different paths (/.well-known/apple-app-site-association vs /app-ads.txt).
Multiple iOS Apps Under One Developer Account
If you publish multiple iOS apps, they can all point to the same Marketing URL. Your single app-ads.txt file covers all apps that reference that developer website. Just make sure the file includes entries for all ad networks used across all your apps.
TestFlight and Pre-Release Apps
app-ads.txt verification only works for apps that are publicly available in the App Store. TestFlight builds and apps in review don't have public store metadata that crawlers can access. Set up app-ads.txt before your app goes live, but expect verification to complete only after the app is publicly available.
Frequently Asked Questions
What if my iOS app and Android app use the same developer website?
They can and should share the same app-ads.txt file. Ensure the Marketing URL (iOS) and the Developer URL (Android) both point to the same domain where the file is hosted.
Is the Marketing URL visible to users?
Yes. The Marketing URL appears on your app's App Store listing page. Users can tap it to visit your developer website. This is another reason to use a proper developer website rather than a placeholder page.
Can I change the Marketing URL after my app is live?
Yes. Go to App Store Connect, update the Marketing URL, and submit the metadata change. Apple may review the change briefly. After approval, DSP crawlers will start using the new URL on their next crawl cycle.
What if I don't have a website and don't want to create one?
You need a website to host app-ads.txt. There's no alternative for iOS. The minimum viable option is a single-page site on Firebase Hosting or Netlify (both have free tiers) that exists solely to serve your app-ads.txt file. Setup takes 15 minutes.
Why is my app-ads.txt verified on Android but not iOS?
The most common reason: different developer URL configurations. Check that the Marketing URL in App Store Connect matches the domain where your file is hosted. It's possible for Google Play to point to the right URL while the App Store points to a different (or empty) URL.
Related Articles

Delegated vs. Direct ads.txt Hosting: Which Is Right for You?
Should you manage your own ads.txt or let someone else handle it? Direct hosting gives you control. Delegated hosting gives you convenience. Here's how to choose.

TAG Certification and the TAG-ID (CAID) Field in ads.txt
TAG-certified sellers get preferential treatment from DSPs. The TAG-ID field in ads.txt proves certification status at the entry level. Here's how it works.

ads.txt Verification Status: Verified, Unverified, Mismatch, Indeterminate
DSPs don't just check if your ads.txt exists. They verify every entry against sellers.json. The result is one of four statuses. Here's what each means for your revenue.
Ready to optimize your ads.txt?
Check your domain's supply chain health instantly, free.
Check Your Domain Free