Appy
← Volver al blog
Guía

Cómo descifrar el Meta Install Referrer en Android

Facebook e Instagram pueden decirle a tu app qué campaña, conjunto de anuncios y anuncio trajeron una instalación, visualizaciones incluidas. Los datos van cifrados con una clave que solo tienes tú.

15 de octubre de 2026•4 min de lectura

El Google Play Install Referrer solo trae los toques en anuncios de Meta que acaban en instalación en la misma sesión. El Meta Install Referrer cubre el resto: las apps de Facebook, Instagram y Facebook Lite guardan el anuncio que tu usuario vio o tocó y se lo pasan a tu app.

Play Install Referrer

  • Toques en la misma sesión
  • Datos de Meta cifrados
  • También trae clics de Google Ads

Meta Install Referrer

  • Toques, visualizaciones y sesiones anteriores
  • Mismo cifrado, misma clave
  • Distingue toque de visualización

Antes de empezar

01

Una campaña de instalaciones en Android

En Facebook, Instagram o Audience Network.

02

Tu Facebook App ID

El de la app con la que publicas tus anuncios.

03

La clave de descifrado

Meta for Developers › App settings › Basic › Android. Necesitas acceso de administrador.

1. Léelo en la primera apertura

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
}
Sin las entradas queries, Android 11 o posterior no devuelve nada.

2. Descífralo en tu servidor

Nunca metas la clave en tu app. Cualquiera que desempaquete el APK podría leerla.

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 y nonce en hexadecimal, el tag de 16 bytes al final y una clave de 64 caracteres.

Los nombres de campo están un nivel desplazados

campaign_groupcampaignadgroup

  1. campaign_group

    Campaña

    Lo que el Administrador de anuncios llama campaña.

  2. campaign

    Conjunto de anuncios

    No es la campaña.

  3. adgroup

    Anuncio

    La creatividad que vio la gente.

Adjust y AppsFlyer mapean los campos igual.

Cuando llega vacío

Sin queries en el manifest
Qué pasaResultado vacío
SoluciónAñade los tres paquetes
App ID equivocado
Qué pasaResultado vacío
SoluciónUsa el de tus anuncios
Clave sin 64 caracteres
Qué pasaNo se descifra nada
SoluciónVuelve a copiarla
App de Meta antigua
Qué pasaNo hay provider
SoluciónFacebook 428, Instagram 296+
Solo Android. En iOS, Meta no ofrece referrer por instalación.

Con Appy, pegas la clave una vez

En el plan Enterprise añades la clave en el panel y tu App ID en el SDK. El descifrado se hace en los servidores de Appy.

Primera apertura

Android, SDK de Appy

  • Tocó tu enlace de AppySe atribuye al enlace
  • Anuncio de Meta, toque o vistaCampaña, conjunto, anuncio
  • Clic en Google AdsSe atribuye a Google Ads
  • Nada de estoOrgánica
La clave se guarda cifrada y no se vuelve a mostrar.

Sigue leyendo

Preguntas

¿Dónde está la clave de descifrado?

En Meta for Developers, App settings › Basic, en la sección de Android.

¿Qué cifrado usa Meta?

AES-256-GCM con una clave hexadecimal de 64 caracteres.

¿Incluye las instalaciones view-through?

Sí. La columna is_ct vale 0 para una visualización y 1 para un toque.

¿campaign_name es la campaña?

No, es el conjunto de anuncios. La campaña es campaign_group_name.

Seguir explorando

Guía
Aug 14, 2026
11 min de lectura

Deferred deep linking sin SDK: cómo funciona realmente por dentro

Puedes llevar el contexto de un enlace a través de una instalación sin incrustar un SDK de atribución. Esto es lo que sobrevive a la frontera de la tienda en Android e iOS, lo que se rompe y el coste en privacidad de cada alternativa.

deferred deep linking
install referrer
ios
android
Leer artículo
Producto
Oct 1, 2026
8 min de lectura

Descubre qué enlace trajo cada instalación: el SDK de Appy para iOS y Android

Appy ahora sigue tus enlaces más allá de la tienda de apps. El nuevo SDK te muestra instalaciones, eventos in-app e ingresos de cada enlace, código QR y campaña, y abre la pantalla correcta a los nuevos usuarios.

install attribution
deferred deep linking
install referrer
mobile attribution
Leer artículo
Guía
Oct 1, 2026
7 min de lectura

Chrome le dice a cada servidor que tu teléfono usa Android 10

Chrome en Android dice que todos los teléfonos son Android 10, modelo K. Qué supuso eso para el matching de deferred deep links, por qué Critical-CH contaría cada clic dos veces y cómo los Client Hints recuperan la versión y el modelo reales.

android
user agent
client hints
deferred deep linking
Leer artículo

¿Buscas otra cosa? Explora todos los temas en el blog.

Las instalaciones de Meta junto a cada enlace y código QR

Pega tu clave una vez y Appy atribuye las instalaciones de Facebook e Instagram a su campaña, conjunto de anuncios y anuncio.