Campo de ID de usuario de cliente (CUID)

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

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 a start, 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.
Cómo obtener un ID de usuario de cliente:

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:

Java Kotlin
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);
  }
}

Instrucciones para desarrolladores de SDK para iOS

Para configurar tu ID de usuario de cliente:

Objective-C Swift
[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 a start, 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.
Cómo obtener un ID de usuario de cliente:

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:

Objective-C Swift
NSString *customerUserID = [AppsFlyerLib shared].customerUserID;
Retrasar la inicialización del SDK para 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:

Objective-C Swift
- (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
    }
}

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.