Skip to content

Registrar eventos personalizados

Aprende a registrar eventos personalizados a través del SDK de Braze.

Para los eventos recomendados de comercio electrónico, consulta Registrar eventos de comercio electrónico.

Registro de un evento personalizado

Para registrar un evento personalizado, utiliza el siguiente método de registro de eventos.

Para una implementación estándar del SDK Web, puedes utilizar el siguiente método:

1
braze.logCustomEvent("YOUR_EVENT_NAME");

Si prefieres utilizar Google Tag Manager, puedes usar el tipo de etiqueta Evento personalizado para llamar al método logCustomEvent y enviar eventos personalizados a Braze, incluyendo opcionalmente propiedades del evento personalizado. Para hacerlo:

  1. Ingresa el Nombre del evento utilizando una variable o escribiendo el nombre de un evento.
  2. Usa el botón Agregar fila para añadir propiedades del evento.

Un cuadro de diálogo que muestra los ajustes de configuración de la etiqueta de acción de Braze. Los ajustes incluidos son "tipo de etiqueta" (evento personalizado), "nombre del evento" (clic en botón) y "propiedades del evento".

Para Android nativo, puedes utilizar el siguiente método:

1
Braze.getInstance(context).logCustomEvent(YOUR_EVENT_NAME);
1
Braze.getInstance(context).logCustomEvent(YOUR_EVENT_NAME)
1
AppDelegate.braze?.logCustomEvent(name: "YOUR_EVENT_NAME")
1
[AppDelegate.braze logCustomEvent:@"YOUR_EVENT_NAME"];
1
braze.logCustomEvent('YOUR_EVENT_NAME');

Utiliza el método del plugin de Braze para Cordova:

1
BrazePlugin.logCustomEvent("YOUR_EVENT_NAME");

La API logCustomEvent acepta:

  • eventName (cadena obligatoria): Usa hasta 255 caracteres. No inicies el nombre con $. Utiliza caracteres alfanuméricos y signos de puntuación.
  • eventProperties (objeto opcional): Agrega pares clave-valor para los metadatos del evento. Usa claves de hasta 255 caracteres y no inicies las claves con $.

Para los valores de las propiedades, utiliza string (hasta 255 caracteres), numeric, boolean, arreglos u objetos JSON anidados.

Para más detalles de implementación, consulta el código fuente del SDK de Braze para Cordova:

Si has integrado Infillion Beacons en tu aplicación Android, puedes usar opcionalmente visit.getPlace() para registrar eventos específicos de ubicación. requestImmediateDataFlush verifica que tu evento se registre incluso si tu aplicación está en segundo plano.

1
2
Braze.getInstance(context).logCustomEvent("Entered " + visit.getPlace());
Braze.getInstance(context).requestImmediateDataFlush();
1
2
Braze.getInstance(context).logCustomEvent("Entered " + visit.getPlace())
Braze.getInstance(context).requestImmediateDataFlush()
1
Braze.logCustomEvent("YOUR_EVENT_NAME");
1
m.Braze.logEvent("YOUR_EVENT_NAME")
1
AppboyBinding.LogCustomEvent("YOUR_EVENT_NAME");

Agregar propiedades de metadatos

Cuando registras un evento personalizado, tienes la opción de agregar metadatos sobre ese evento personalizado pasando un objeto de propiedades con el evento. Las propiedades se definen como pares clave-valor. Las claves son cadenas y los valores pueden ser string, numeric, boolean, objetos Date, matrices u objetos JSON anidados.

Para agregar propiedades de metadatos, usa el siguiente método de registro de eventos.

1
2
3
4
5
6
7
8
9
10
braze.logCustomEvent("YOUR-EVENT-NAME", {
  you: "can",
  pass: false,
  orNumbers: 42,
  orDates: new Date(),
  or: ["any", "array", "here"],
  andEven: {
     deeply: ["nested", "json"]
  }
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Braze.logCustomEvent("YOUR-EVENT-NAME",
    new BrazeProperties(new JSONObject()
        .put("you", "can")
        .put("pass", false)
        .put("orNumbers", 42)
        .put("orDates", new Date())
        .put("or", new JSONArray()
            .put("any")
            .put("array")
            .put("here"))
        .put("andEven", new JSONObject()
            .put("deeply", new JSONArray()
                .put("nested")
                .put("json"))
        )
));
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Braze.logCustomEvent("YOUR-EVENT-NAME",
    BrazeProperties(JSONObject()
        .put("you", "can")
        .put("pass", false)
        .put("orNumbers", 42)
        .put("orDates", Date())
        .put("or", JSONArray()
            .put("any")
            .put("array")
            .put("here"))
        .put("andEven", JSONObject()
            .put("deeply", JSONArray()
                .put("nested")
                .put("json"))
        )
))
1
2
3
4
5
6
7
8
9
10
11
12
13
AppDelegate.braze?.logCustomEvent(
  name: "YOUR-EVENT-NAME",
  properties: [
    "you": "can",
    "pass": false,
    "orNumbers": 42,
    "orDates": Date(),
    "or": ["any", "array", "here"],
    "andEven": [
      "deeply": ["nested", "json"]
    ]
  ]
)
1
2
3
4
5
6
7
8
9
10
11
[AppDelegate.braze logCustomEvent:@"YOUR-EVENT-NAME"
                       properties:@{
  @"you": @"can",
  @"pass": @(NO),
  @"orNumbers": @42,
  @"orDates": [NSDate date],
  @"or": @[@"any", @"array", @"here"],
  @"andEven": @{
    @"deeply": @[@"nested", @"json"]
  }
}];
1
2
3
4
5
braze.logCustomEvent('custom_event_with_properties', properties: {
    'key1': 'value1',
    'key2': ['value2', 'value3'],
    'key3': false,
});

Registra eventos personalizados con un objeto de propiedades:

1
2
3
4
5
var properties = {};
properties["key1"] = "value1";
properties["key2"] = ["value2", "value3"];
properties["key3"] = false;
BrazePlugin.logCustomEvent("YOUR-EVENT-NAME", properties);

También puedes pasar propiedades en línea:

1
2
3
4
BrazePlugin.logCustomEvent("YOUR-EVENT-NAME", {
  "key": "value",
  "amount": 42,
});

La aplicación de ejemplo oficial de Cordova incluye propiedades de tipo cadena, numéricas, booleanas, de matriz y de objetos anidados:

Extracto del proyecto de ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var properties = {};
properties["One"] = "That's the Way of the World";
properties["Two"] = "After the Love Has Gone";
properties["Three"] = "Can't Hide Love";
BrazePlugin.logCustomEvent("cordovaCustomEventWithProperties", properties);
BrazePlugin.logCustomEvent("cordovaCustomEventWithoutProperties");
BrazePlugin.logCustomEvent("cordovaCustomEventWithFloatProperties", {
  "Cart Value": 4.95,
  "Cart Item Name": "Spicy Chicken Bites 5 pack"
});
BrazePlugin.logCustomEvent("cordovaCustomEventWithNestedProperties", {
  "array key": [1, "2", false],
  "object key": {
    "k1": "1",
    "k2": 2,
    "k3": false,
  },
  "deep key": {
    "key": [1, "2", true]
  }
});

Para obtener detalles sobre la API y el puente nativo, consulta:

1
2
3
4
5
Braze.logCustomEvent("custom_event_with_properties", {
    key1: "value1",
    key2: ["value2", "value3"],
    key3: false,
});
1
m.Braze.logEvent("YOUR_EVENT_NAME", {"stringPropKey" : "stringPropValue", "intPropKey" : Integer intPropValue})
1
AppboyBinding.LogCustomEvent("event name", properties(Dictionary<string, object>));

Prácticas recomendadas

Hay tres comprobaciones importantes que debes realizar para que las propiedades de tus eventos personalizados se registren como se espera:

Se pueden registrar múltiples propiedades cada vez que se registra un evento personalizado.

Verificar eventos

Consulta con tus desarrolladores qué propiedades del evento se están rastreando. Ten en cuenta que todas las propiedades del evento distinguen entre mayúsculas y minúsculas. Para obtener información adicional sobre el seguimiento de eventos personalizados, consulta estos artículos según tu plataforma:

Verificar el registro

Para confirmar que las propiedades del evento se están rastreando correctamente, puedes ver todas las propiedades del evento desde la página Eventos personalizados.

  1. Ve a Configuración de datos > Eventos personalizados.
  2. Localiza tu evento personalizado en la lista.
  3. Para tu evento, selecciona Administrar propiedades para ver los nombres de las propiedades asociadas con un evento.

Verificar los valores

Después de añadir tu usuario como usuario de prueba, sigue estos pasos para verificar tus valores:

  1. Realiza el evento personalizado dentro de la aplicación.
  2. Espera aproximadamente 10 segundos para que los datos se envíen.
  3. Actualiza el registro de usuarios del evento para ver el evento personalizado y el valor de la propiedad del evento que se pasó con él.

Solución de problemas de eventos personalizados

Usa estos escenarios para solucionar problemas con el registro de eventos personalizados en los SDK.

Verificar el desencadenador del evento personalizado

Si un evento personalizado no aparece, es posible que la acción rastreada en tu aplicación no coincida con la acción que estás probando.

  • Confirma con tu equipo de desarrolladores qué acción de la aplicación desencadena el evento personalizado.
  • Busca rutas de código obsoletas después de actualizaciones del SDK, como referencias a appboy en lugar de braze.

Los eventos personalizados se registran en un perfil anónimo

Si no identificas a un usuario antes de registrar un evento personalizado, Braze puede asociar ese evento con un perfil anónimo.

  • Llama a changeUser() antes de realizar el evento personalizado para que Braze lo registre en un perfil de usuario identificado.
  • Prueba con un usuario de prueba identificado, luego revisa el registro de usuarios del evento.

Verificar la configuración del registro de eventos personalizados

Si los eventos personalizados no aparecen como se espera, confirma que tu equipo de desarrolladores ha implementado el registro de eventos personalizados para la acción correcta de la aplicación.

  • Pide a tu equipo de desarrolladores que verifique que el evento se registra correctamente y se desencadena a partir de la acción de usuario esperada.
  • Cuando tu equipo abra un ticket con soporte de Braze, incluye registros detallados y fragmentos de código relevantes.
  • Si tu aplicación usa Swift o Android, tu equipo de desarrolladores puede usar los prerrequisitos del depurador del SDK para ayudar a generar registros detallados.
  • Si tu equipo de desarrolladores no puede identificar el problema, abre un ticket de soporte de Braze.
New Stuff!