I Universal Links aprono Safari? Correggili con un flusso ripetibile
Se i tuoi universal links o app links aprono il browser invece dell’app, di solito il problema è un drift di configurazione, redirect o identificatori app non allineati. Qui trovi una checklist operativa riutilizzabile.
In questa guida
Perché succede
Un universal link apre l’app solo quando sono allineati tre livelli: verifica dominio, identità app e routing runtime. La maggior parte dei problemi è ripetibile e diagnosticabile.
Errore tipico: pensare che, se il link si apre nel browser, l’app sia rotta. Spesso l’app è corretta e il problema è su dominio, CDN/proxy o catena redirect.
Tocco da una sorgente di clic
In-app browser di Instagram o TikTok, Safari o Chrome mobile, desktop
- 01
Verifica del dominio
/.well-known/apple-app-site-association · /.well-known/assetlinks.json
Si rompe con un redirect, un muro di login o un controllo anti-bot introdotti da CDN, proxy o strumenti di campagna
- 02
Identità dell’app
Team ID + bundle ID · package name + impronta del certificato
Si rompe con identificatori che non corrispondono alla build nello store
- 03
Routing a runtime
sorgente del clic → decisione di apertura dell’app
Si rompe con un in-app browser o un placement che si comporta diversamente
L’app si apre
Tutti e tre i livelli sono allineati
Si apre invece Safari o Chrome
Spesso l’app è a posto e la configurazione del dominio no
Diagnosi rapida in 10 minuti
- Esegui il dominio nel Universal Link Validator e salva tutti gli errori.
- Verifica i file di associazione iOS/Android da rete pubblica.
- Controlla che i percorsi well-known non siano bloccati da redirect, auth o bot challenge.
- Verifica gli identificatori contro la build production realmente rilasciata.
- Testa da in-app browser Instagram/TikTok, Safari/Chrome mobile e desktop, dove il link deve aprire il tuo sito web.
Cause principali e fix
| Causa | Sintomo | Fix |
|---|---|---|
| File di associazione mancante o non accessibile | Tutti i link aprono browser sulla piattaforma | Verifica che `/.well-known/apple-app-site-association` e `/.well-known/assetlinks.json` rispondano 200 senza redirect. |
| Content-type errato o comportamento CDN | Il file esiste ma la verifica fallisce | Servi JSON via HTTPS e rimuovi trasformazioni su headers/body. |
| Identificatori app non allineati alla release | Funziona in staging, fallisce in produzione | Conferma Team ID + bundle ID (iOS) e package + fingerprint (Android). |
| Catena di redirect prima della destinazione | Alcune campagne funzionano, altre no | Riduci 301/302 e punta direttamente alla destinazione HTTPS finale. |
| Comportamento in-app browser diverso per placement | Link bio ok, click ads no (o viceversa) | Testa per canale/placement e stabilisci con chiarezza dove arriva chi non riesce ad aprire l’app. |
Formati di riferimento
apple-app-site-association (iOS)
{
"applinks": {
"apps": [],
"details": [
{
"appID": "TEAMID.com.example.app",
"paths": ["/promo/*", "/product/*"]
}
]
}
}assetlinks.json (Android)
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example.app",
"sha256_cert_fingerprints": ["AA:BB:CC:..."]
}
}
]Checklist QA pre-lancio
- AASA e assetlinks validati senza errori critici.
- Almeno un iPhone reale e un Android reale aprono correttamente l’app.
- Chi non ha l’app installata arriva allo store o al sito web giusto.
- UTM e parametri campagna non si perdono nella catena.
- Analytics distingue app open, store redirect e visite al sito web.
Workflow consigliato con strumenti
1. Valida
Esegui i check dominio con Universal Link Validator.
2. Correggi
Risolvi headers, identificatori, redirect e percorso senza app in ordine di priorità.
3. Ritesta
Ripeti test su dispositivi reali e canali reali.
Se il problema emerge durante una campagna attiva, assicurati prima che ogni clic porti allo store o al sito web per proteggere conversioni, poi chiudi i fix deep link in parallelo.
Domande frequenti
Perché funziona per alcuni utenti ma non per altri?
Spesso per differenze di versione app/OS o contesto in-app browser. Valida per segmento.
I redirect possono rompere i universal links?
Sì. Redirect aggiuntivi possono rompere la verifica o il comportamento runtime.
Basta testare su simulatori?
No. La validazione finale va fatta su dispositivi reali e contesti reali.
Continua a esplorare
Universal Links e App Links: i codici di errore spiegati
Cosa significano SWCERR00101, SWCERR00301, legacy_failure e 1026, dove trovarli e come correggerli perché Universal Links e App Links tornino ad aprire la tua app.
Universal Links su Shopify, Webflow, Wix e Squarespace: quali piattaforme possono ospitare il file AASA
Se i link della tua app aprono il sito web invece dell’app, di solito iOS e Android non hanno trovato due piccoli file sul tuo dominio. Cosa ti lascia ospitare ogni piattaforma a ottobre 2026, la strada del sottodominio quando la tua dice di no e un link che non ha bisogno di nessun file.
Come i browser in-app gestiscono i deep link: Instagram, TikTok, Facebook, Gmail, Telegram e altri
Il tuo link apre l’app da Safari ma non dentro Instagram. Cosa fanno i browser in-app di Instagram, TikTok, Facebook, Gmail, Telegram e altri, le regole di iOS e Android e come prevedere un fallback.
Cerchi altro? Sfoglia tutti gli argomenti su il blog.
Valida prima di ogni lancio
Passa il dominio nel validator, correggi per priorità e lancia campagne senza sorprese.