Apple Setup
Smart App Banner: the meta tag, the gotchas, and when it silently fails
The Smart App Banner meta tag is one line, but it silently does nothing in five common situations. The correct tag, the parameters, and why yours isn't showing.
The Smart App Banner is the strip Safari shows at the top of a web page advertising your iOS app (“Open in the App”). It’s a single <meta> tag — and it silently does nothing in at least five common situations, with no error to tell you why. This is the correct tag, what each parameter does, and the reasons yours isn’t appearing.
For where this fits in your overall App Store web setup, see every URL and file Apple requires for an iOS App Store submission.
The meta tag
Place this in the <head> of the page you want the banner on:
<meta name="apple-itunes-app"
content="app-id=1234567890, app-argument=https://yourdomain.com/path, affiliate-data=myAffiliateToken">
Parameters:
| Parameter | Required | Purpose |
|---|---|---|
app-id |
Yes | Your numeric App Store ID (the digits in apps.apple.com/app/id1234567890). Not the bundle ID. |
app-argument |
No | A URL passed to your app when launched from the banner — use it to deep-link to the same content. Read it in application(_:open:options:) / userActivity. |
affiliate-data |
No | Apple Services affiliate token for attribution. |
Apple’s reference: Promoting apps with Smart App Banners.
The five reasons it silently fails
1. You’re testing on desktop or in a non-Safari browser
Smart App Banners are Safari on iOS only. They do not appear in Chrome for iOS (uses a different mechanism), desktop Safari, or any Android browser. If you’re QA-ing on a Mac, you’ll never see it. Test on a physical iPhone in Safari.
2. The app isn’t on the App Store yet
The banner reads live App Store data for the app-id. If the app is still in review or TestFlight-only, the banner has nothing to render and silently omits itself. It only works once the app is publicly live.
3. You previously dismissed it
Once a user taps the × on the banner for a site, Safari suppresses it for that site for a while. During testing this looks like “it stopped working.” Test in a fresh Safari (or clear website data) to see the first-visit behavior.
4. The app-id is wrong (bundle ID instead of numeric ID)
app-id must be the numeric App Store ID, not com.yourcompany.app. Find it in App Store Connect (Apple ID field) or in the store URL. A bundle ID here = silent no-op.
5. Smart App Banner vs. a self-built banner conflict
If you also ship a hand-rolled “open in app” interstitial, or a third-party deferred-deep-link SDK that injects its own banner, they can suppress or conflict with the native one. Pick one. The native Smart App Banner is the only one Apple endorses and the only one that won’t get flagged under the App Store Review Guidelines interstitial rules if you also have an app.
Smart App Banner vs. Universal Links
They solve different halves of the same problem:
- Universal Links make a tapped link to your domain open the app directly (no banner) — requires the AASA file.
- Smart App Banner is for users who land on your web page in Safari and you want to nudge them to the app — it’s a promotion strip, not a redirect.
Use both: Universal Links for inbound links, Smart App Banner for organic web visitors. The app-argument URL should point at the same content so a banner tap deep-links correctly.
App Clip variant
The same meta tag promotes an App Clip instead of (or alongside) the full app:
<meta name="apple-itunes-app"
content="app-id=1234567890, app-clip-bundle-id=com.yourcompany.app.Clip, app-clip-display=card">
app-clip-display=card shows the richer App Clip card. See App Clips invocation URLs and the AASA appclips key.
How OrbitKit handles it
OrbitKit injects the apple-itunes-app meta tag into every hosted page when you set your App Store ID (and optional affiliate data / app-argument) in the dashboard — so your privacy policy, support, and other hosted pages double as app-promotion surfaces without you editing HTML. App Clip banner variant supported too. Start free or see features.