De un vistazo: Realiza una referencia cruzada de tus datos internos con los datos de atribución de AppsFlyer por el campo ID de usuario de cliente (CUID).
Implementación del CUID
El campo ID de usuario de cliente (CUID) es un identificador de usuario único que establecen los propietarios de aplicaciones y sitios web.
- Tú reportas el CUID a AppsFlyer utilizando las API o los SDK de AppsFlyer.
- AppsFlyer completa el campo CUID en reportes de raw data según corresponda.
- Usa el CUID para hacer referencia cruzada de los datos de atribución de AppsFlyer con tus otros datos utilizando el CUID como clave.
- Ejemplo: un usuario con dos dispositivos tiene el mismo CUID ("1234567"). Cada vez que llevan a cabo un evento en un dispositivo, se registra con el CUID. Esto permite al anunciante agregar el raw data de ambos dispositivos en una vista integral del usuario.
- AppsFlyer Audiences y las soluciones de atribución basadas en personas utilizan el CUID para mejorar la precisión y el targeting.
Privacidad y diseño del CUID
- AppsFlyer valora y respeta tu privacidad y la de tus usuarios.
- No permitimos la recopilación o transferencia de información de identificación personal a la plataforma AppsFlyer.
- Para garantizar la privacidad de tus usuarios, diseña el CUID sin información que identifique directamente al usuario. Por ejemplo, no debe contener la dirección de correo electrónico, el nombre, el número de teléfono o el número de seguridad social del usuario, entre otros.
- Lectura relacionada: Prácticas recomendadas de Google para evitar el envío de información de identificación personal (PII)
Retrasar el inicio del SDK hasta que se establezca el CUID
Puedes retrasar el inicio del SDK hasta que se establezca el CUID. Además de tu lógica empresarial, considera lo siguiente antes de hacerlo:
-
Pros:
- Los datos de atribución siempre están asociados con un CUID.
- Usa el CUID para asociar datos de atribución con otros datos que tengas en tus sistemas.
- Esto permite un uso y procesamiento más sofisticado de los datos que obtienes de AppsFlyer.
-
Contras:
- Las acciones y eventos que realizan los usuarios, incluidas las compras y las suscripciones, no se registran en AppsFlyer hasta que se establece el CUID. Esto puede dar lugar a discrepancias, y puede afectar a la detección de fraudes (que no necesariamente pueden ser identificados antes de la inicialización del SDK).
Nota: Si el inicio del SDK se retrasa hasta que haya un CUID, y no se establece ningún CUID, el SDK no reporta ningún dato (incluida una instalación).
Cómo configurar el CUID
Instrucciones para desarrolladores de SDK para Android
Para configurar tu ID de usuario de cliente:
public void setCustomerUserId(String id);
Ejemplo de uso:
AppsFlyerLib.getInstance().setCustomerUserId("myId");
Te recomendamos configurar el ID de usuario de cliente lo antes posible en el flujo de tu aplicación, ya que solo se asocia con los eventos reportados después de su configuración:
- Si se llama a
setCustomerUserId
antes de llamar astart
, el ID de usuario de cliente aparece en los reportes de raw data de instalaciones y eventos. - Si se configura después, el ID de usuario de cliente se asocia solo con eventos registrados después de configurar dicho ID.
Para evitar configurar el valor del ID de usuario de cliente nuevamente después del primer inicio, y reducir las llamadas a tu servidor para obtener el ID de usuario de cliente, puedes verificar si su valor está vacío, o no, de la siguiente forma:
AppsFlyerProperties.getInstance().getString(AppsFlyerProperties.APP_USER_ID)
Retrasar la inicialización del SDK para customerUserID
Puedes retrasar la inicialización del SDK hasta que se configure el customerUserID.
Para indicar que el SDK debe retrasar la inicialización en espera del ID de usuario de cliente, llama a:
AppsFlyerLib.getInstance().waitForCustomerUserId(true);
inmediatamente antes del método init(). El resto de la inicialización del SDK debe mantenerse sin cambios.
Una vez proporcionado el customerUserID, llama a
AppsFlyerLib.getInstance().setCustomerIdAndLogSession("customer_id", this);
Para proporcionar al SDK el ID de usuario de cliente correspondiente e iniciar el SDK.
El código debería verse como se muestra a continuación:
public class AFApplication extends Application {
private static final String AF_DEV_KEY = "qrdZGj123456789";
@Override
public void onCreate() {
super.onCreate();
AppsFlyerConversionListener conversionDataListener =
new AppsFlyerConversionListener() {
...
};
AppsFlyerLib.getInstance().waitForCustomerUserId(true);
//WARNING! Removing above line doesn't cancel its effect.
// Replace with this to stop waiting for CUID:
// AppsFlyerLib.getInstance().waitForCustomerUserId(false);
AppsFlyerLib.getInstance().init(AF_DEV_KEY, getConversionListener(), getApplicationContext()); AppsFlyerLib.getInstance().start(this); // Do your magic to get the customerUserID
// ...
// any AppsFlyer SDK code invoked here will be discarded
//Call the following API once the customerUserID is available:
AppsFlyerLib.getInstance().setCustomerIdAndLogSession("customer_id", this);
}
}
class AFApplication: Application() {
private val afDevKey = ""
override fun onCreate() {
super.onCreate()
val conversionDataListener = object: AppsFlyerConversionListener {
...
}
AppsFlyerLib.getInstance().waitForCustomerUserId(true);
//WARNING! Removing above line doesn't cancel its effect.
// Replace with this to stop waiting for CUID:
// AppsFlyerLib.getInstance().waitForCustomerUserId(false);
AppsFlyerLib.getInstance().init(afDevKey, conversionDataListener, this)
AppsFlyerLib.getInstance().start(this)
// Do your magic to get the customerUserID
// ...
// any AppsFlyer SDK code invoked here will be discarded
// Call the following API once the customerUserID is available:
AppsFlyerLib.getInstance().setCustomerIdAndLogSession("customer_id", this)
}
}
Instrucciones para desarrolladores de SDK para iOS
Para configurar tu ID de usuario de cliente:
[AppsFlyerLib shared].customerUserID = @"my user id";
AppsFlyerLib.shared().customerUserID = "my user id"
En iOS, el ID de usuario de cliente debe configurarse con cada inicio de la aplicación. Te recomendamos configurar el ID de usuario de cliente lo antes posible en el flujo de tu aplicación, ya que solo se asocia con los eventos reportados después de su configuración:
- Si se llama a
setCustomerUserId
antes de llamar astart
, el ID de usuario de cliente aparece en los reportes de raw data de instalaciones y eventos. - Si se configura después, el ID de usuario de cliente se asocia solo con eventos registrados después de configurar dicho ID.
Para evitar configurar el valor del ID de usuario de cliente nuevamente después del primer inicio, y reducir las llamadas a tu servidor para obtener el ID de usuario de cliente, puedes verificar si su valor está vacío, o no, de la siguiente forma:
NSString *customerUserID = [AppsFlyerLib shared].customerUserID;
let customerUserID = AppsFlyerLib.shared().customerUserID
Puedes retrasar la inicialización del SDK hasta que se configure el ID de usuario de cliente. Esto es útil si deseas que los datos de instalación y eventos contengan tu ID de usuario de cliente.
Implementa el siguiente código:
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSString *customUserId = [[NSUserDefaults standardUserDefaults] stringForKey:@"customerUserId"]; // Your custom logic of retrieving CUID
if (customUserId != nil && ![customUserId isEqual: @""]) {
[AppsFlyerLib shared].customerUserID = customUserId; // Set CUID in AppsFlyer SDK for this session
[[AppsFlyerLib shared] start]; // Start
}
}
func applicationDidBecomeActive(_ application: UIApplication) {
let customUserId = UserDefaults.standard.string(forKey: "customUserId") // your logic to retrieve CUID
if(customUserId != nil && customUserId != ""){
AppsFlyerLib.shared().customerUserID = customUserId // Set CUID in AppsFlyer SDK for this session
AppsFlyerLib.shared().start() // Start
}
}
Atribución basada en las personas
La atribución basada en las personas de AppsFlyer (PBA) te brinda una perspectiva amplia sobre el impacto de las campañas web y móviles, así como la capacidad de analizar tus esfuerzos para que los usuarios web pasen a tu aplicación móvil y viceversa.
Debes configurar el mismo CUID tanto en entornos móviles como web, para habilitar las analíticas y los insights entre plataformas.