Qué aprenderás
Aprenda sobre Código, y cómo crear funciones personalizadas que son ejecutadas directamente por Klaviyo.
El código requiere un desarrollo personalizado y el equipo de soporte de Klaviyo no puede ofrecer asistencia práctica. Si no tiene un desarrollador en su equipo y no se siente cómodo escribiendo código usted mismo, considere la posibilidad de contactar con un socio de Klaviyo para que le ayude.
Antes de empezarAntes de empezar
Code forma parte de la plataforma de datos de clientes (CDP) de Klaviyo.
Klaviyo CDP no está incluido en la aplicación de marketing estándar de Klaviyo, y se requiere una suscripción CDP para acceder a la funcionalidad asociada. Vaya a nuestra guía de facturación para saber más sobre cómo añadir esta funcionalidad a su plan o empiece si es un cliente nuevo.
¿Qué es el Código?
El código le permite ejecutar funciones personalizadas en respuesta a eventos capturados en Klaviyo. Puede escribir sus propias funciones Javascript o Python en el editor de código, y luego se ejecutan directamente en la plataforma.
Con Código, puedes enviar datos a tus sistemas externos sin tener que configurar un punto de conexión HTTP público para recibir webhooks, así como crear una funcionalidad personalizada que se active en respuesta a la aparición de un evento. También puedes acceder a muchos módulos prediseñados populares para facilitar la creación de soluciones personalizadas.
TemasTemas
Code le permite ejecutar funciones personalizadas en respuesta a cualquier evento que pueda consultarse a través de la API Obtener eventos.
Entre ellos se incluyen:
- eventos de correo (por ejemplo, correo pulsado, correo marcado como spam )
- Eventos SMS (por ejemplo, SMS enviados, SMS recibidos)
- notificación de eventos push (por ejemplo, Push recibido, Push rebotado)
- Eventos de integraciones ( es decir, eventos de integraciones de primera parte creadas por Klaviyo)
- API eventos (es decir, eventos sincronizados a través de Klaviyo's API)
Klaviyo Code no admite los siguientes eventos como temas:
- Correo electrónico abierto
- Correo electrónico recibido
Interfaz de código
Para acceder a Código, navegue hasta la pestaña Código en plataforma de datos de clientes > Gestión de datos > Código.
Para crear una función personalizada, seleccione el botón Crear una función :
Accederá a la página Recetas , donde podrá seleccionar una solución preconstruida para ejecutar o una función Python o Node.js en blanco.
Si selecciona una receta existente, verá el editor de código con el código de la solución, junto con una descripción de la funcionalidad.
Si selecciona una función en blanco para poder crear sus propias soluciones personalizadas, aparecerá el modal Detalles donde podrá hacerlo:
-
Nombre su función
Un nombre para identificar su función. -
Seleccione un tema para su función
El evento que desencadenará la ejecución de su código . -
Seleccione un tiempo de ejecución
El entorno de ejecución en el que se ejecuta el código (es decir, Python o Node.js).
Tras realizar las selecciones necesarias y seleccionar el botón Crear función , accederá a una interfaz con las siguientes pestañas:
- Editor
- Salida de prueba
- Registros
Editor
En la página Editor en Código, verá la página dividida en 3 pestañas:
-
Código
La pestaña de código dispone de un editor donde puede escribir funciones Python o Javascript. -
Módulos
Los módulos son paquetes de terceros que añaden funcionalidad a sus funciones. -
Variables de entorno
Las variables de entorno son los pares clave-valor a los que accede su función cuando se ejecuta.
Código
En la pestaña Código , verá un editor que puede utilizar para escribir funciones Python o Javascript que se ejecuten en respuesta al tema seleccionado.
Parámetros de la función manipuladoraParámetros de la función manipuladora
A continuación se muestran ejemplos de los parámetros de evento y contexto que se pasan a la función manejadora.
Ejemplo de formato de evento
{
{
"datos": {
"tipo": "evento",
"id": "7S2q9haejYG",
"atributos": {
"timestamp": 1694435729,
"event_properties": {
"MfaEnabled": false,
"IpAddress": "000.00.0.0",
"UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",
"UserRole": "Owner",
"SessionId": "34sh0a9nh8ngnk2nfacjxmt592yx40ib",
"LoginType": "Username_password",
"current_company_id": "XXXXX",
"$event_id": "1694435729"
},
"datetime": "2023-09-11 12:35:29+00:00",
"uuid": "b0b8fe80-509f-11ee-8001-278cc529fcd3"
},
"relaciones": {
"perfil": {
"datos": {
"type": "profile",
"id": "123456"
},
"enlaces": {
"self": "https://a.klaviyo.com/api/events/7S2q9haejYG/relationships/profile/",
"related": "https://a.klaviyo.com/api/events/7S2q9haejYG/profile/"
}
},
métrica": {
"datos": {
"type": "metric",
"id": "4Tdup6"
},
"enlaces": {
"self": "https://a.klaviyo.com/api/events/7S2q9haejYG/relationships/metric/",
"related": "https://a.klaviyo.com/api/events/7S2q9haejYG/metric/"
}
}
},
"enlaces": {
"self": "https://a.klaviyo.com/api/events/7S2q9haejYG/"
}
}
}
Ejemplo de formato de contexto
{
"company_id": "XXXXX",
"desencadenante": {"type": "event", "uid": "123456"},
"function_id": "123456",
}
MódulosMódulos
En la pestaña Módulos, puede seleccionar entre los módulos preconstruidos más populares (es decir, paquetes de terceros que añaden capacidades a sus funciones).
Para añadir un módulo externo y utilizarlo en su código, seleccione el botón Añadir módulo:
En el modal que aparece, puede buscar y seleccionar el módulo que desea añadir:
Una vez añadido, puede utilizar el módulo con el código que escriba en Klaviyo.
Debe consultar la documentación nativa del módulo externo para obtener información sobre cómo utilizarlo.
Variables de entorno
La pestaña Variables de entorno le permite establecer pares clave-valor a los que su código en Klaviyo puede hacer referencia cuando se ejecuta. Pueden utilizarse para almacenar información como credenciales y claves secretas para que sus funciones puedan acceder a ellas mientras se ejecutan.
Para añadir una variable de entorno, seleccione el botón Añadir una variable:
En el modal que aparece, puede establecer un par clave-valor para su variable de entorno.
Una vez creadas, las variables de entorno aparecerán en la página y podrá utilizarlas en su código.
Para acceder a sus variables de entorno en su código, utilice os.getenv("Clave") para Python, o process.env("Clave") para Node.js.
Para actualizar el valor de una variable de entorno existente, debe crear una nueva variable con la misma clave cuyo valor desea actualizar.
Salida de prueba
La pestaña Salida de prueba en Código le permite probar su código con eventos recientes para confirmar que la salida se comporta como se espera.
Para probar su función:
- Seleccione el botón Ejecutar prueba:
- En el modal que aparece, seleccione un evento con el que realizar la prueba. Puede seleccionar entre los 10 eventos más recientes capturados en Klaviyo.
- Tras seleccionar un evento con el que realizar la prueba, se mostrará la salida de la prueba:
Registros
La pestaña Registros muestra la salud de sus funciones de Código en curso. Ya lo verá:
-
Estado
El progreso de la ejecución de una función. -
Tiempo de respuesta
La cantidad de tiempo que tarda su código en ejecutarse en respuesta a un evento. -
Fecha
Una marca de tiempo de cuándo se ejecutó la función.
Despliegue del código
Para desplegar el código que escriba en el editor, cambie el desplegable de estado a En vivo.
Una vez puesto en vivo, el código que escriba se ejecutará cada vez que el evento del tema sea capturado en Klaviyo.
Cuando una función se activa, puede haber un retraso de hasta 15 minutos antes de que los eventos empiecen a activar la función.
Ejemplo de solución
A continuación se muestra un ejemplo de una solución personalizada implementada con Code.
En el ejemplo, los datos del evento se establecen como una propiedad del perfil para que puedan utilizarse en correos electrónicos dirigidos y en la segmentación. El evento personalizado Sesión reservada se captura en Klaviyo cuando los clientes reservan una sesión con la marca, y los datos sobre la ciudad de la reserva y la URL asociada se establecen como una propiedad del perfil en el perfil respectivo.
También se crea una propiedad llamada Reservas recientes , que almacena los datos de los 5 eventos de rodaje reservados más recientes, de forma que se pueda recorrer en bucle y acceder a ellos en una plantilla de correo electrónico.
CódigoCódigo
El código Python de esta solución se escribe en el editor de código y es ejecutado directamente por Klaviyo.
Código de ejemploCódigo de ejemplo
MódulosMódulos
En este ejemplo, se utiliza el módulo klaviyo-api, que permite al usuario trabajar más fácilmente con las API de Klaviyo a través de métodos preconstruidos.
Variables de entornoVariables de entorno
Las variables de entorno pueden utilizarse para almacenar información como credenciales y claves secretas para que sus funciones puedan acceder a ellas mientras se ejecutan. Para este ejemplo, se establecen los siguientes pares clave-valor:
-
KLAVIYO_CLAVE_PRIVADA
Una variable de entorno para almacenar la clave privada asociada a la cuenta de Klaviyo que realiza las peticiones a la API. -
MAX_PROPIEDADES_A_ALMACENAR
Una variable de entorno utilizada para definir el número máximo de propiedades a almacenar para la función de ejemplo.
Pruebas
Al crear la función para establecer datos de eventos como propiedades del perfil, se utiliza la pestaña Salida de prueba para verificar la salida esperada.
RegistrosRegistros
Una vez creada y probada la función, la pestaña Registros muestra el estado de salud de la función a medida que se ejecuta en respuesta a los eventos de rodaje reservados .
ResultadoResultado
Con esta función de código en funcionamiento, a medida que los clientes se inscriban en rodajes y activen el evento personalizado Rodaje reservado, los datos del evento se almacenarán en el perfil del cliente para su uso en la segmentación y las campañas dirigidas.
Implementación de recetasImplementación de recetas
Las Recetas en Código le permiten implementar soluciones preconstruidas sin necesidad de un desarrollo personalizado.
Para implementar una Receta en su cuenta de Klaviyo:
- Seleccione el botón Crear función en la página Código.
- Elija la Receta que desea implementar en su cuenta. Accederá al editor donde podrá ver el código de la Receta seleccionada, junto con una descripción de lo que hace la función.
- Pulse el botón Seleccionar para continuar.
- Elija un nombre para la función y el desencadenante que hará que se ejecute. El tiempo de ejecución se establece automáticamente en función del código de la Receta.
- Seleccione el botón de función Crear.
- Una vez creada la función, establezca las variables de entorno pertinentes para que la función disponga de los datos que necesita para ejecutarse.
- La Receta ya puede probarse y ponerse en Directo.
Las recetas pueden requerir que actualice ciertos campos para que coincidan con sus preferencias de nomenclatura y los datos de sus eventos. Consulte las instrucciones de la Receta para ver qué campos pueden renombrarse y editarse.
Recursos adicionales
Primeros pasos con el CDP de Klaviyo
Comprender los diferentes webhooks disponibles en Klaviyo