Skip to content

Objetos anidados en eventos personalizados

Esta página explica cómo enviar datos JSON anidados como propiedades de eventos personalizados y compras, y cómo utilizar esos objetos anidados en tu mensajería.

Puedes usar objetos anidados —objetos que están dentro de otro objeto— para enviar datos JSON anidados como propiedades de eventos personalizados y compras. Estos datos anidados se pueden utilizar para crear plantillas con información personalizada en mensajes, desencadenar envíos de mensajes y segmentar usuarios.

Consideraciones

  • Los datos anidados son compatibles tanto con eventos personalizados como con eventos de compra, pero no con otros tipos de eventos.
  • Los objetos de propiedades de eventos que contienen valores de array u objeto pueden tener una carga útil de propiedades del evento de hasta 100 KB.
  • No se pueden generar esquemas de propiedades de eventos para eventos de compra.
  • Los esquemas de propiedades de eventos se generan mediante el muestreo de eventos personalizados de las últimas 24 horas.

Versiones mínimas del SDK

Las siguientes versiones del SDK admiten objetos anidados:

Paso 1: Generar un esquema

Puedes acceder a los datos anidados en tu evento personalizado generando un esquema para cada evento con propiedades de eventos anidados. Para generar un esquema:

  1. Ve a Configuración de datos > Eventos personalizados.
  2. Selecciona Administrar propiedades para los eventos con propiedades anidadas.
  3. Selecciona el botón para generar el esquema. Para ver el esquema, selecciona el botón de más.

Si se envían nuevas propiedades en el futuro, no estarán en el esquema hasta que se regenere. Los esquemas se pueden regenerar cada 24 horas.

Paso 2: Usar el objeto anidado

Puedes hacer referencia a los datos anidados durante la segmentación y la personalización. Ten en cuenta que no se requiere un esquema. Consulta las siguientes secciones para ver ejemplos de uso:

Cuerpo de la solicitud API

El siguiente es un ejemplo de /users/track con un evento personalizado “Created Playlist”. Después de que se haya creado una lista de reproducción, captura las propiedades de la lista de reproducción enviando:

  • Una solicitud API que lista “songs” como propiedad
  • Un array de las propiedades anidadas de las canciones
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
...
"properties": {
  "songs": [
    {
      "title": "Smells Like Teen Spirit",
      "artist": "Nirvana",
      "album": {
        "name": "Nevermind",
        "yearReleased": "1991"
      }
    },
    {
      "title": "While My Guitar Gently Weeps",
      "artist": "the Beatles",
      "album": {
        "name": "The Beatles",
        "yearReleased": "1968"
      }
    }
  ]
}
...

El siguiente es un ejemplo de /users/track con un evento personalizado “Ordered”. Después de que se haya completado un pedido, captura las propiedades de ese pedido enviando:

  • Una solicitud API que lista r_details como propiedad
  • Las propiedades anidadas de ese pedido
1
2
3
4
5
6
7
8
9
10
11
12
...
"properties": {
  "r_details": {
    "name": "SandwichEmperor",
    "identifier": "12345678",
    "location" : {
      "city": "Montclair",
      "state": "NJ"
    }
  }
}
...

Plantillas Liquid

A continuación se muestra cómo crear una plantilla Liquid que haga referencia a las propiedades anidadas solicitadas en la solicitud API anterior.

Plantilla en Liquid en un mensaje desencadenado por el evento “Created Playlist”:

{{event_properties.${songs}[0].album.name}}: “Nevermind”
{{event_properties.${songs}[1].title}}: “While My Guitar Gently Weeps”

Plantilla en Liquid en un mensaje desencadenado por el evento “Ordered”:

{{event_properties.${r_details}.location.city}}: “Montclair”

Desencadenamiento de mensajes

Para usar estas propiedades para desencadenar una Campaign, selecciona tu evento personalizado o compra, y luego añade un filtro de Nested Property. Ten en cuenta que el desencadenamiento de mensajes aún no es compatible con mensajes dentro de la aplicación, pero las propiedades anidadas en la personalización Liquid de los mensajes se seguirán mostrando.

Desencadenar una Campaign con propiedades anidadas del evento “Created Playlist”:

Un usuario eligiendo una propiedad anidada para filtros de propiedades en un evento personalizado.

La condición de desencadenamiento songs[].album.yearReleased “is” “1968” coincidirá con un evento en el que cualquiera de las canciones tenga un álbum lanzado en 1968. Usamos la notación de corchetes [] para recorrer arrays, y coincide si cualquier elemento del array recorrido coincide con la propiedad del evento.

Desencadenar una Campaign con propiedades anidadas del evento “Ordered”:

Un usuario añadiendo el filtro de propiedad r_details.name is SandwichEmperor para un evento personalizado.

r_details.name: “SandwichEmperor”
r_details.location.city: “Montclair”

Segmentación

Para segmentar usuarios basándote en propiedades de eventos anidados, debes usar Extensiones de segmento. Después de haber generado un esquema, el explorador de objetos anidados aparecerá en la sección de segmentación.

La segmentación usa la misma notación que el desencadenamiento (consulta Desencadenamiento de mensajes).

Para editar o crear Extensiones de segmento, necesitarás el permiso “Edit Segments”.

Personalización

Usando el modal Add Personalization, selecciona Advanced Event Properties como tipo de personalización. Esto permite añadir propiedades de eventos anidados después de que se haya generado un esquema.

Probar objetos anidados en mensajes

La herramienta Preview & Test del dashboard no admite añadir datos simulados para objetos anidados o atributos personalizados anidados. Para probar mensajes que hacen referencia a datos anidados a través de Liquid, puedes previsualizar mensajes con atributos anidados como un usuario existente que tenga ese atributo anidado, o previsualizar mensajes con propiedades de eventos personalizados lanzando una campaña en vivo a usuarios de prueba.

Atributos personalizados anidados

  1. Importa los atributos anidados al perfil del usuario de prueba a través de la API.
  2. En tu Campaign o Canvas, ve a Preview & Test.
  3. Selecciona Preview as user y busca al usuario de prueba. El Liquid se resolverá usando los atributos anidados reales del perfil de ese usuario.

Propiedades de eventos anidados

Las propiedades de eventos anidados no se pueden previsualizar en el dashboard porque requieren un desencadenamiento de evento en vivo. Para probar:

  1. Crea una Campaign o paso en Canvas que se dirija solo a tus usuarios de prueba y que sea desencadenada por (o haga referencia a) el evento personalizado con propiedades anidadas.
  2. Lanza la Campaign a tu audiencia de prueba.
  3. Registra el evento personalizado con la carga útil del objeto anidado en el perfil de tu usuario de prueba (usando la API o el SDK).
  4. Verifica que el mensaje se renderice correctamente con los valores de las propiedades anidadas.

Preguntas frecuentes

¿El uso de objetos anidados registra puntos de datos adicionales?

No hay cambios en cómo registramos puntos de datos como resultado de añadir esta capacidad. La segmentación basada en objetos anidados usa Extensiones de segmento, lo cual no consume puntos de datos adicionales.

¿Cuántos datos anidados se pueden enviar?

Si una o más de las propiedades del evento contienen datos anidados, la carga útil máxima para todas las propiedades combinadas de un evento es de 100 KB. Cualquier solicitud que supere ese límite de tamaño será rechazada.

New Stuff!