Pagamenti e ID utente
Unolink collega ogni pagamento all’installazione a cui appartiene, e quindi al link o all’annuncio da cui è arrivata quell’installazione. Funziona per quanto tardi arrivi il pagamento: chi tocca oggi il tuo annuncio TikTok e si abbona tra due settimane conta comunque come utente pagante di quell’annuncio. Dal piano Pro in su.
Come vengono contati i pagamenti tardivi
- Ogni evento appartiene a un’installazione. Un pagamento che arriva una settimana o un mese dopo l’installazione viene aggiunto a quella stessa persona.
- Funnel, Percorsi e Report non hanno mai un limite di tempo. Un passaggio conta se la persona l’ha fatto in qualsiasi momento, quindi un pagamento tardivo la fa comunque passare a "Pagato".
- L’intervallo di date sceglie le persone, non gli eventi. "Ultimi 7 giorni" significa persone che hanno installato negli ultimi 7 giorni, più tutto ciò che hanno fatto dopo. Riguarda la settimana prossima le installazioni della settimana scorsa e Pagato potrebbe essere salito: sono pagamenti tardivi che arrivano, non un errore.
- I Percorsi si aggiornano da soli. Chi è indicato come "Uscito" (nessuna attività per una settimana) diventa "Completato" quando arriva il suo pagamento, e la riga mostra "ha pagato 9 giorni dopo l’installazione · è tornato".
Dove vedere quanto tempo ci mettono le persone
- Report → Quando pagano le persone: la quota di installazioni che pagano entro un giorno, 7 giorni e 30 giorni, l’attesa mediana, e quante persone sono tornate a pagare dopo una settimana o più di silenzio, per tutti e per link. "Entro 7 giorni" conta solo le installazioni di almeno 7 giorni, così le installazioni recenti non abbassano il numero.
- Percorsi: ogni persona pagante mostra quanti giorni dopo l’installazione ha pagato per la prima volta, e se è tornata dopo un periodo di inattività.
- Già abbonato: chi si era abbonato prima di questa installazione (una reinstallazione, un nuovo telefono) invia un rinnovo, non un acquisto. Percorsi lo mostra come "Già abbonato · rinnovato" e conta i suoi soldi nei ricavi, ma non come Pagato: la vendita non è stata fatta da questa installazione né dal link da cui è arrivata.
Cosa serve alla tua app
I pagamenti arrivano a Unolink in uno di due modi:
- RevenueCat (consigliato). Collega il suo webhook nella tua app → Impostazioni → RevenueCat. RevenueCat riporta acquisti, conversioni delle prove, rinnovi e rimborsi anche quando l’app non è aperta, ed è così che avviene la maggior parte dei pagamenti tardivi (una prova gratuita che si converte una settimana dopo, un rinnovo il mese successivo).
- La chiamata
purchase()dell’SDK, inviata dall’interno dell’app quando qualcuno paga lì. Va bene senza RevenueCat, ma non vede nulla di ciò che succede fuori dall’app.
Perché gli eventi di RevenueCat trovino l’installazione giusta, l’app deve dire a Unolink chi è l’utente, con l’app user ID di RevenueCat. Con l’SDK 0.3.2 o successivo, una riga all’avvio lo tiene aggiornato:
// iOS: once at launch, before or after configure
Unolink.connectRevenueCat { Purchases.isConfigured ? Purchases.shared.appUserID : nil }
// Android
Unolink.connectRevenueCat { Purchases.sharedInstance.appUserID }
// React Native
Unolink.connectRevenueCat(Purchases)
// Flutter
Unolink.connectRevenueCat(() => Purchases.appUserID,
addListener: Purchases.addCustomerInfoUpdateListener,
removeListener: Purchases.removeCustomerInfoUpdateListener);
Legge l’ID di RevenueCat all’avvio, quando l’app torna in primo piano e quando cambia, e lo invia solo quando è nuovo
(su iOS e Android, chiama anche Unolink.revenueCatUserChanged() dopo logIn e logOut). Prima della 0.3.2, o per
farlo da te, chiama invece setUserId con l’ID di RevenueCat (per esempio
Unolink.setUserId(Purchases.shared.appUserID)) dopo Purchases.configure, dopo ogni Purchases.logIn e
Purchases.logOut, e a ogni avvio. Usa l’uno o l’altro, non entrambi. RevenueCat ha il codice
per ogni piattaforma.
Per un ospite, l’ID di RevenueCat è il suo ID anonimo, quindi un acquisto fatto prima della registrazione si collega subito
all’installazione. Dopo logIn, è l’ID dell’account. Unolink conserva ogni ID che un’installazione ha riportato,
così l’acquisto dell’ospite resta collegato. Un pagamento che arriva prima che l’app abbia inviato l’ID utente non va
perso: aspetta e si collega all’installazione appena arriva l’ID. Senza RevenueCat, chiama setUserId con il tuo ID
utente, e null (nil in Swift) al logout.
Quando qualcuno tocca «continua come ospite», chiama anche Unolink.signUpSkipped() (SDK 0.3.2 o successivo, React
Native 0.3.1; SDK precedenti: track("sign_up_skipped")), così il passaggio Continuato come ospite del funnel li
conta. Vedi Ospiti e account.
Quando un pagamento non può essere collegato
- Niente RevenueCat e niente
setUserId, e la persona paga fuori dall’app (ad esempio sul tuo sito web). Nulla ne informa Unolink. - Reinstalla prima di pagare. Per Unolink una nuova installazione è una nuova persona, a meno che lo stesso ID utente non le colleghi.
- Paga su un altro dispositivo. Anche questo si collega solo tramite l’ID utente.
- Un ospite paga, e l’app riporta solo l’ID dell’account. RevenueCat invia l’acquisto con il suo ID anonimo, che l’app non ha mai riportato. Si collega comunque, ma solo con il prossimo evento di RevenueCat per quel cliente che elenca entrambi gli ID (per esempio il primo rinnovo); fino a quel momento la persona risulta non ancora pagante. Riportare l’ID di RevenueCat lo collega subito.
Con RevenueCat collegato e il suo ID riportato (connectRevenueCat, oppure setUserId con l’ID di RevenueCat), tutti
questi casi sono coperti.
Privacy: questo non è fingerprinting
- Fingerprinting significa ricavare quale dispositivo è qualcuno dalle sue caratteristiche (indirizzo IP, schermo, font, impostazioni) senza chiedere, di solito per seguirlo nelle app di altre aziende. Apple lo vieta, e Unolink non lo fa mai.
setUserIdè l’ID utente della tua app, consegnato di proposito dalla tua app. Unolink conserva solo un hash unidirezionale con chiave (HMAC-SHA256 con una chiave unica per ognuna delle tue app), mai l’ID in sé, e lo usa per una sola cosa: collegare i pagamenti della tua app alle installazioni della tua app. Non viene mai condiviso con altre app, reti pubblicitarie o chiunque altro.- App Tracking Transparency di Apple riguarda il collegamento dei dati della tua app con app o siti web di altre aziende a fini pubblicitari, o la loro condivisione con data broker. Collegare i tuoi acquisti alle tue installazioni è analisi di prima parte, dello stesso tipo di RevenueCat o Firebase, quindi non richiede alcuna richiesta di tracciamento.
Nelle domande sulla privacy di App Store Connect, Unolink con setUserId di solito si riduce a: ID utente e
Acquisti, raccolti per Analisi, collegati all’utente e non usati per il tracciamento. Le tue risposte
dipendono da tutto il resto che fa la tua app, quindi verificale nel loro insieme.