Appy
← Torna al blog
Guida

Come decifrare il Meta Install Referrer su Android

Facebook e Instagram possono dire alla tua app quale campagna, gruppo di inserzioni e inserzione hanno portato un’installazione, visualizzazioni comprese. I dati sono cifrati con una chiave che hai solo tu.

15 ottobre 2026•4 min di lettura

Il Google Play Install Referrer porta solo i tap sugli annunci Meta seguiti da un’installazione nella stessa sessione. Il Meta Install Referrer copre il resto: le app Facebook, Instagram e Facebook Lite conservano l’annuncio che l’utente ha visto o toccato e lo passano alla tua app.

Play Install Referrer

  • Tap nella stessa sessione
  • Dati Meta cifrati
  • Porta anche i clic di Google Ads

Meta Install Referrer

  • Tap, visualizzazioni e sessioni precedenti
  • Stessa cifratura, stessa chiave
  • Distingue tap e visualizzazione

Prima di iniziare

01

Una campagna Android per installazioni di app

Su Facebook, Instagram o Audience Network.

02

Il tuo Facebook App ID

Quello con cui girano i tuoi annunci.

03

La chiave di decifratura

Meta for Developers › App settings › Basic › Android. Serve l’accesso da amministratore.

1. Leggilo al primo avvio

AndroidManifest.xml

<queries>
    <package android:name="com.facebook.katana" />
    <package android:name="com.instagram.android" />
    <package android:name="com.facebook.lite" />
</queries>

Kotlin

val providers = listOf(
    "com.facebook.katana.provider.InstallReferrerProvider",
    "com.instagram.contentprovider.InstallReferrerProvider",
    "com.facebook.lite.provider.InstallReferrerProvider",
)

fun readMetaReferrer(context: Context, facebookAppId: String): String? {
    for (authority in providers) {
        val uri = Uri.parse("content://$authority/$facebookAppId")
        runCatching { context.contentResolver.query(uri, null, null, null, null) }
            .getOrNull()?.use { cursor ->
                if (cursor.moveToFirst()) {
                    return cursor.getString(cursor.getColumnIndexOrThrow("install_referrer"))
                }
            }
    }
    return null
}
Senza le voci queries, da Android 11 in poi non torna nulla.

2. Decifralo sul server

Non mettere mai la chiave nell’app. Chiunque spacchetti l’APK potrebbe leggerla.

Node.js

import crypto from 'node:crypto';

export function decryptMetaReferrer(installReferrer, keyHex) {
  const {utm_content} = JSON.parse(installReferrer);
  const {source} = typeof utm_content === 'string' ? JSON.parse(utm_content) : utm_content;
  const sealed = Buffer.from(source.data, 'hex');
  const decipher = crypto.createDecipheriv('aes-256-gcm', Buffer.from(keyHex, 'hex'), Buffer.from(source.nonce, 'hex'));
  decipher.setAuthTag(sealed.subarray(-16));
  return JSON.parse(Buffer.concat([decipher.update(sealed.subarray(0, -16)), decipher.final()]).toString());
}
AES-256-GCM, data e nonce in esadecimale, il tag da 16 byte in fondo, una chiave da 64 caratteri.

I nomi dei campi sono sfasati di un livello

campaign_groupcampaignadgroup

  1. campaign_group

    Campagna

    Quella che in Gestione inserzioni si chiama campagna.

  2. campaign

    Gruppo di inserzioni

    Non è la campagna.

  3. adgroup

    Inserzione

    La creatività che le persone hanno visto.

Adjust e AppsFlyer mappano i campi allo stesso modo.

Quando torna vuoto

Nessuna voce queries nel manifest
Cosa succedeRisultato vuoto
SoluzioneAggiungi i tre pacchetti
App ID sbagliato
Cosa succedeRisultato vuoto
SoluzioneUsa l’App ID degli annunci
Chiave non da 64 caratteri
Cosa succedeNiente si decifra
SoluzioneRicopiala
App Meta vecchia sul telefono
Cosa succedeNessun provider
SoluzioneFacebook 428, Instagram 296+
Solo Android. Su iOS Meta non ha un referrer per singola installazione.

Con Appy incolli la chiave una volta

Nel piano Enterprise aggiungi la chiave nella dashboard e il tuo App ID nell’SDK. La decifratura avviene sui server di Appy.

Primo avvio

Android, SDK di Appy

  • Ha toccato il tuo link AppyAttribuita al link
  • Annuncio Meta, tap o vistaCampagna, gruppo, inserzione
  • Clic su Google AdsAttribuita a Google Ads
  • Nessuna di questeOrganica
La chiave viene salvata cifrata e non viene più mostrata.

Leggi anche

Domande

Dove si trova la chiave di decifratura?

In Meta for Developers, App settings › Basic, nella sezione Android.

Che cifratura usa Meta?

AES-256-GCM con una chiave esadecimale da 64 caratteri.

Include le installazioni view-through?

Sì. La colonna is_ct vale 0 per una visualizzazione e 1 per un tap.

campaign_name è la campagna?

No, è il gruppo di inserzioni. La campagna è campaign_group_name.

Continua a esplorare

Guida
Aug 14, 2026
11 min di lettura

Deferred deep linking senza SDK: come funziona davvero sotto il cofano

Puoi portare il contesto di un link oltre l’installazione senza incorporare un SDK di attribution. Ecco cosa sopravvive davvero al confine dello store su Android e iOS, cosa si rompe e quanto costa in privacy ogni scorciatoia.

deferred deep linking
install referrer
ios
android
Leggi l’articolo
Prodotto
Oct 1, 2026
8 min di lettura

Scopri quale link ha portato ogni installazione: l’SDK iOS e Android di Appy

Ora Appy segue i tuoi link anche oltre lo store. Il nuovo SDK ti mostra installazioni, eventi in-app e ricavi per ogni link, QR code e campagna, e apre ai nuovi utenti la schermata giusta.

install attribution
deferred deep linking
install referrer
mobile attribution
Leggi l’articolo
Guida
Oct 1, 2026
7 min di lettura

Chrome dice a ogni server che il tuo telefono ha Android 10

Chrome su Android dichiara Android 10, modello K, per qualsiasi telefono. Cosa ha rotto nel matching dei deferred deep link, perché Critical-CH conterebbe ogni clic due volte e come i Client Hints restituiscono versione e modello reali.

android
user agent
client hints
deferred deep linking
Leggi l’articolo

Cerchi altro? Sfoglia tutti gli argomenti su il blog.

Le installazioni da Meta accanto a ogni link e QR code

Incolli la chiave una volta sola e Appy attribuisce le installazioni da Facebook e Instagram a campagna, gruppo di inserzioni e inserzione.