Branch.io è una piattaforma commerciale di deep linking e attribuzione che fornisce un'infrastruttura di link unificata per applicazioni mobili su iOS e Android. Secondo Branch Documentation, la piattaforma traccia l'intero ciclo di interazione dell'utente dal clic sul link all'azione target nell'app. Il deep linking in Branch.io funziona su tutte le piattaforme con supporto per deep linking differito e attribuzione delle installazioni.
Punti Chiave
Branch.io è una piattaforma che combina deep linking, attribuzione delle installazioni mobili e analisi di marketing in un'unica soluzione. Permette a sviluppatori e operatori di marketing di creare link intelligenti che indirizzano l'utente all'app o alla pagina web in base alla piattaforma, allo stato dell'installazione e ad altri parametri. Inoltre, Branch collega automaticamente ogni installazione alla sua fonte di origine.
La piattaforma è stata fondata nel 2014 ed è uno dei leader nel mercato della misurazione mobile (MMP) insieme ad AppsFlyer e Adjust. Il vantaggio principale di Branch è l'integrazione completa di deep linking e attribuzione in un unico SDK, eliminando la necessità di utilizzare soluzioni separate per link e analisi.
Firebase Dynamic Links è un servizio gratuito con funzionalità di base, mentre Branch.io è una piattaforma commerciale con attribuzione avanzata che supporta oltre 50 integrazioni con reti pubblicitarie. Branch fornisce analisi end-to-end per ogni punto di contatto dell'utente, inclusi i modelli di attribuzione last-click, first-click e multi-touch.
Branch.io fornisce un'ampia gamma di strumenti per lavorare con i link mobili. Le capacità principali includono Deepview — un'anteprima del contenuto dell'app nel browser web prima dell'installazione, la generazione automatica di Universal Links per iOS e App Links per Android, e il supporto per programmi di referral con premi.
La piattaforma supporta anche Journeys — un costruttore visivo di funnel di coinvolgimento che mostra all'utente un banner che invita a installare l'app durante la visita di un sito mobile. Journeys può essere configurato senza programmazione tramite l'interfaccia web di Branch e supporta il test A/B delle creatività.
| Funzione | Descrizione | Applicazione |
|---|---|---|
| Deep Linking | Link intelligenti con supporto differito | Navigare al contenuto |
| Attribuzione | Attribuzione di installazioni ed eventi | Analisi di marketing |
| Journeys | Banner web per installazione | Acquisizione utenti |
| Deepview | Anteprima dell'app nel browser | Dimostrazione di contenuto |
| Segments | Segmentazione utenti | Personalizzazione |
L'attribuzione delle installazioni in Branch funziona collegando l'identificatore di clic (click ID) con l'identificatore del dispositivo al primo avvio dell'app. Quando un utente fa clic su un link Branch, il sistema genera un identificatore univoco e lo memorizza nel browser o negli appunti di sistema. Dopo l'installazione e il primo avvio, l'SDK Branch legge questo identificatore e collega l'installazione alla fonte del clic.
Branch supporta l'attribuzione secondo vari modelli. L'attribuzione last-click determina l'ultima fonte di clic prima dell'installazione come causa. L'attribuzione multi-touch distribuisce il valore dell'installazione tra tutti i punti di contatto dell'utente secondo pesi specificati. La piattaforma supporta anche l'attribuzione view-through per le impressioni pubblicitarie senza clic.
Branch si integra con oltre 50 piattaforme pubblicitarie, tra cui Facebook Ads, Google Ads, TikTok Ads e Snapchat. Ogni integrazione utilizza i meccanismi di attribuzione nativi della rete pubblicitaria per la massima precisione. La configurazione viene eseguita tramite il Dashboard Branch senza dover modificare il codice dell'app dopo l'integrazione iniziale dell'SDK.
L'integrazione dell'SDK Branch in un'app iOS inizia con l'installazione del pacchetto tramite CocoaPods, SPM o Carthage. Dopo l'installazione, l'SDK deve essere inizializzato con la chiave dell'app dal Dashboard Branch nel metodo didFinishLaunchingWithOptions di AppDelegate. L'SDK registra automaticamente gli Universal Links per il dominio Branch.
Affinché i deep link funzionino correttamente, è necessario configurare Associated Domains in Xcode Capabilities con una voce come applinks:bnc.lt. Branch supporta anche URL Scheme come fallback nel caso in cui gli Universal Links non funzionino su una versione specifica di iOS. Tutta la gestione dei link in entrata avviene automaticamente tramite l'SDK senza dover scrivere un gestore personalizzato.
Esempio di inizializzazione dell'SDK Branch in AppDelegate con Swift. L'SDK avvia una sessione all'avvio dell'app e elabora automaticamente tutti i deep link.
import BranchSDK
class AppDelegate: UIResponder,
UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions
launchOptions: [UIApplication
.LaunchOptionsKey: Any]?
) -> Bool {
Branch.getInstance()
.initSession(launchOptions: launchOptions)
return true
}
}
Il metodo initSession avvia una sessione Branch e verifica automaticamente la presenza di un deep link in entrata. Il risultato viene gestito tramite BranchDelegate o un completion handler. L'SDK Branch determina automaticamente se il link è stato aperto da un avvio a freddo o da un'app già in esecuzione.
Su Android, l'integrazione Branch inizia aggiungendo la dipendenza in build.gradle e specificando la chiave dell'app in AndroidManifest.xml. Branch utilizza un Intent Filter per ricevere i deep link, che viene aggiunto automaticamente tramite il plugin Gradle durante la compilazione. L'SDK registra anche un BroadcastReceiver per ottenere i dati di referral dopo l'installazione e supporta la gestione automatica dell'API Install Referrer per un'attribuzione precisa della fonte.
Per una corretta attribuzione delle installazioni da Google Play, Branch utilizza l'API Install Referrer, che fornisce informazioni sulla fonte di installazione anche se l'utente non ha fatto clic su un link. Sui dispositivi senza Google Play Services, viene utilizzato un BroadcastReceiver di referral.
Esempio di inizializzazione dell'SDK Branch in MainActivity con Kotlin e gestione dei dati in entrata dal deep link.
class MainActivity : AppCompatActivity() {
override fun onStart() {
super.onStart()
Branch.getInstance()
.initSession { params, error ->
if (error == null) {
val data = params.optString(
"$deeplink_path", ""
)
navigateToScreen(data)
}
}
}
}
Il completion handler nel metodo initSession restituisce un JSONObject con i parametri del deep link e un errore. Il parametro $deeplink_path contiene il percorso target, mentre i parametri rimanenti vengono passati in un formato arbitrario definito al momento della creazione del link nel Dashboard Branch. La gestione viene eseguita in onStart per un corretto funzionamento al riavvio dell'Activity e durante la transizione da un'altra app.
Il Dashboard Branch fornisce report visivi su tutte le metriche chiave: clic sui link, installazioni, conversioni, entrate e retention. I dati sono disponibili in tempo reale con la possibilità di esportare in CSV e integrare con sistemi di analisi esterni tramite API.
La piattaforma supporta Eventi personalizzati che l'app invia a Branch tramite l'SDK. Ogni evento può contenere metadati arbitrari: importo dell'acquisto, categoria del prodotto, livello dell'utente. Branch collega automaticamente gli eventi alla fonte di installazione, consentendo di valutare il ROI di ogni canale di marketing.
Il Dashboard Branch include diversi report preimpostati — Summary, Sources, Cohorts e Funnels. Summary mostra una panoramica di installazioni e clic, Sources dettaglia per canale, Cohorts traccia la retention degli utenti per giorno, e Funnels costruisce funnel di conversione basati su eventi specificati. Tutti i report supportano il filtraggio per data, piattaforma, paese e campagna pubblicitaria.
Per un'analisi più dettagliata, Branch fornisce l'Export API, che consente di esportare i dati grezzi di clic e installazioni in sistemi di analisi personalizzati. L'API supporta il filtraggio per intervallo di tempo, tipo di evento e fonte. L'esportazione è disponibile nei formati CSV e JSON con la possibilità di pianificare esportazioni automatiche tramite webhook.
Segment Builder nel Dashboard Branch consente di creare segmenti dinamici di utenti basati su qualsiasi insieme di eventi e attributi. Ad esempio, è possibile creare un segmento di utenti che hanno installato l'app da una campagna pubblicitaria specifica e hanno effettuato un acquisto entro 7 giorni. I segmenti vengono aggiornati in tempo reale e sono disponibili per l'esportazione o l'integrazione tramite API. Branch supporta anche esportazioni aggregate anonimizzate — riepiloghi anonimizzati di segmenti da inviare alle reti pubblicitarie e ottimizzare il targeting.
Domande frequenti
Branch offre un piano gratuito con un limite sul numero di eventi al mese. Per uso commerciale, sono disponibili piani a pagamento con attribuzione estesa, eventi illimitati e supporto prioritario. I prezzi variano da $500 a diverse migliaia di dollari al mese.
La differenza principale è che Branch combina deep linking e attribuzione in un unico SDK, mentre AppsFlyer si concentra solo sull'attribuzione. Branch fornisce anche Deepview e Journeys che non sono disponibili in AppsFlyer. La scelta dipende dalle esigenze del progetto.
Sì, Branch fornisce SDK per React Native, Flutter, Unity, Cordova e Xamarin. Tutti gli SDK multipiattaforma supportano la suite completa di funzionalità: deep linking, attribuzione, analisi degli eventi e Journeys.
Branch supporta completamente ATT su iOS 14+. L'SDK richiede l'autorizzazione al tracciamento tramite il dialogo standard. Se l'utente rifiuta, Branch utilizza SKAdNetwork per l'attribuzione senza IDFA, preservando la precisione a livello di campagna.
Sì, i link Branch funzionano correttamente nei browser web. Sul desktop, il link apre l'URL specificato; sui dispositivi mobili, apre l'app o una pagina di fallback. Branch supporta anche Quick Links per siti web senza installazione dell'SDK.
Riepilogo
Svilupperemo un'applicazione mobile chiavi in mano
IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.
Leggi anche