O que você vai aprender
Saiba mais sobre o Code e como criar funções personalizadas que são executadas diretamente pelo Klaviyo.
O código requer desenvolvimento personalizado e a equipe de suporte da Klaviyo não pode oferecer assistência prática. Se o senhor não tiver um desenvolvedor na sua equipe e não se sentir à vontade para escrever códigos por conta própria, considere a possibilidade de entrar em contato com um parceiro da Klaviyo para obter ajuda.
Antes de começarAntes de começar
O código faz parte da plataforma de dados do cliente (CDP) da Klaviyo.
O Klaviyo CDP não está incluído no aplicativo de marketing padrão da Klaviyo, e é necessária uma assinatura do CDP para acessar a funcionalidade associada. Acesse nosso guia de faturamento para saber mais sobre como adicionar essa funcionalidade ao seu plano ou comece a usá-la se o senhor for um novo cliente.
O que é código?
O código permite que o senhor execute funções personalizadas em resposta a eventos capturados no Klaviyo. O senhor pode escrever suas próprias funções Javascript ou Python no editor de código, e elas são executadas diretamente na plataforma.
Com o código, você pode enviar dados para sistemas externos sem precisar configurar um ponto de extremidade HTTP público para receber webhooks e criar uma funcionalidade personalizada que é acionada em resposta à ocorrência de um evento. Você também pode acessar vários módulos pré-configurados populares para facilitar a criação de soluções personalizadas.
TópicosTópicos
O código permite que o senhor execute funções personalizadas em resposta a qualquer evento que possa ser consultado por meio da API Get Events.
tais como:
- Eventos de e-mail (por exemplo, Clicked email, Marked email as spam )
- Eventos de SMS (por exemplo, Sent SMS, Received SMS)
- Notificação por push de eventos (por exemplo, Received push, Bounced push)
- Eventos de integrações (ou seja, eventos de integrações primárias criadas pela Klaviyo)
- Eventos de API (eventos sincronizados por meio da API da Klaviyo)
O Klaviyo Code não suporta os seguintes eventos como tópicos:
- E-mail aberto
- E-mail recebido
Interface de código
Para acessar o código, navegue até a guia Code ( Código) em plataforma de dados do cliente > Data Management (Gerenciamento de dados) > Code (Código).
Para criar uma função personalizada, selecione o botão Criar uma função :
O senhor será levado à página Recipes (Receitas ), onde poderá selecionar uma solução pré-construída para executar ou uma função Python ou Node.js em branco.
Se o senhor selecionar uma receita existente, verá o editor de código com o código da solução, juntamente com uma descrição da funcionalidade.
Se o senhor selecionar uma função em branco para poder criar suas próprias soluções personalizadas, o modal Details (Detalhes ) será exibido, onde o senhor poderá fazê-lo:
-
Dê um nome à sua função
Um nome para identificar sua função. -
Selecione um tópico para sua função
O evento que acionará a execução de seu código. -
Selecione um tempo de execução
O ambiente de tempo de execução no qual o código é executado (ou seja, Python ou Node.js).
Depois de fazer as seleções necessárias e selecionar o botão Create function (Criar função ), o senhor será levado a uma interface com as seguintes guias:
- Editor
- Saída de teste
- Registros
Editor
Na página Editor em Code, o senhor verá a página dividida em 3 guias:
-
Código
A guia código tem um editor onde o senhor pode escrever funções Python ou Javascript. -
Módulos
Os módulos são pacotes de terceiros que adicionam funcionalidade às suas funções. -
Variáveis de ambiente
As variáveis de ambiente são os pares de valores-chave que sua função acessa quando é executada.
Código
Na guia Code (Código ), o senhor verá um editor que pode ser usado para escrever funções Python ou Javascript que são executadas em resposta ao tópico selecionado.
Parâmetros da função do manipuladorParâmetros da função do manipulador
Abaixo estão exemplos dos parâmetros de evento e contexto que são passados para a função de tratamento.
Exemplo de formato de evento
{
{
"data": {
"type": "event",
"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"
},
"relacionamentos": {
"profile": {
"dados": {
"type": "profile",
"id": "123456"
},
"links": {
"self": "https://a.klaviyo.com/api/events/7S2q9haejYG/relationships/profile/",
"related": "https://a.klaviyo.com/api/events/7S2q9haejYG/profile/"
}
},
metric": {
"dados": {
"type": "metric",
"id": "4Tdup6"
},
"links": {
"self": "https://a.klaviyo.com/api/events/7S2q9haejYG/relationships/metric/",
"related": "https://a.klaviyo.com/api/events/7S2q9haejYG/metric/"
}
}
},
"links": {
"self": "https://a.klaviyo.com/api/events/7S2q9haejYG/"
}
}
}
Exemplo de formato de contexto
{
"company_id": "XXXXX",
"trigger": {"type": "event", "uid": "123456"},
"function_id": "123456",
}
MódulosMódulos
Na guia Modules (Módulos ), o senhor pode selecionar entre os módulos pré-construídos mais populares (ou seja, pacotes de terceiros que adicionam recursos às suas funções).
Para adicionar um módulo externo a ser usado em seu código, selecione o botão Add module (Adicionar módulo ):
No modal que aparece, o senhor pode pesquisar e selecionar o módulo que deseja adicionar:
Depois de adicionado, o senhor pode usar o módulo com o código que escreve no Klaviyo.
O senhor deve consultar a documentação nativa do módulo externo para obter informações sobre como usá-lo.
Variáveis de ambiente
A guia Environment variables (Variáveis de ambiente ) permite que o senhor defina pares de valores-chave que o código no Klaviyo pode referenciar quando for executado. Elas podem ser usadas para armazenar informações como credenciais e chaves secretas para que suas funções possam acessá-las durante a execução.
Para adicionar uma variável de ambiente, selecione o botão Add a variable (Adicionar uma variável ):
No modal que aparece, o senhor pode definir um par chave-valor para sua variável de ambiente.
Depois de criadas, as variáveis de ambiente serão listadas na página e poderão ser usadas em seu código.
Para acessar as variáveis de ambiente em seu código, use os.getenv("Key") para Python ou process.env("Key") para o Node.js.
Para atualizar o valor de uma variável de ambiente existente, o senhor deve criar uma nova variável com a mesma chave para a qual deseja atualizar o valor.
Saída de teste
A guia Saída de teste em Código permite que o senhor teste seu código com eventos recentes para confirmar que a saída está se comportando conforme o esperado.
Para testar sua função:
- Selecione o botão Run test:
- Na janela modal que aparece, selecione um evento para testar. O senhor pode selecionar entre os 10 eventos mais recentes capturados no Klaviyo.
- Depois de selecionar um evento para testar, a saída do teste será exibida:
Registros
A guia Logs mostra a integridade de suas funções de código em andamento. O senhor verá:
-
Status
O progresso da execução de uma função. -
Tempo de resposta
O tempo que o código leva para ser executado em resposta a um evento. -
Data
Um registro de data e hora de quando a função foi executada.
Implementação de código
Para implementar o código que o senhor escreve no editor, alterne o menu suspenso de status para Live.
Uma vez definido como ativo, o código que o senhor escreve será executado sempre que o evento do tópico for capturado no Klaviyo.
Quando uma função é definida como ativa, pode haver um atraso de até 15 minutos antes que os eventos comecem a acionar a função.
Exemplo de solução
Abaixo está um exemplo de uma solução personalizada sendo implementada com o Code.
No exemplo, os dados do evento são definidos como uma propriedade de perfil para que possam ser usados em e-mails direcionados e na segmentação. O evento personalizado Booked shoot é capturado no Klaviyo quando os clientes reservam uma sessão de fotos com a marca, e os dados sobre a cidade da reserva e o URL associado são definidos como uma propriedade de perfil no respectivo perfil.
Também é criada uma propriedade chamada Recent bookings (Reservas recentes ), que armazena os dados dos 5 eventos de filmagem reservados mais recentes, para que possam ser percorridos e acessados em modelos de e-mail.
CódigoCódigo
O código Python para essa solução é escrito no editor Code e é executado diretamente pelo Klaviyo.
Exemplo de códigoExemplo de código
MódulosMódulos
Neste exemplo, o módulo klaviyo-api é usado, permitindo que o usuário trabalhe mais facilmente com as APIs do Klaviyo por meio de métodos pré-construídos.
Variáveis de ambienteVariáveis de ambiente
As variáveis de ambiente podem ser usadas para armazenar informações como credenciais e chaves secretas para que suas funções possam acessá-las durante a execução. Para este exemplo, os seguintes pares de valores-chave são definidos:
-
KLAVIYO_PRIVATE_KEY
Uma variável de ambiente para armazenar a chave privada associada à conta Klaviyo que está fazendo solicitações de API. -
MAX_PROPERTIES_TO_STORE
Uma variável de ambiente usada para definir o número máximo de propriedades a serem armazenadas para a função de exemplo.
Testes
Ao criar a função para definir dados de eventos como propriedades de perfil, a guia Saída de teste é usada para verificar a saída esperada.
RegistrosRegistros
Depois que a função tiver sido criada e testada, a guia Logs mostrará o status de integridade da função à medida que ela for executada em resposta aos eventos de disparo reservados .
ResultadoResultado
Com essa função de código implementada, à medida que os clientes se inscrevem para filmagens e acionam o evento personalizado Booked shoot, os dados do evento serão armazenados no perfil do cliente para uso em segmentação e campanhas direcionadas.
Implementação de receitasImplementação de receitas
As receitas no código permitem que o senhor implemente soluções pré-construídas sem a necessidade de desenvolvimento personalizado.
Para implementar uma Receita em sua conta da Klaviyo:
- Selecione o botão Criar função na página Código.
- Escolha o Recipe que o senhor gostaria de implementar em sua conta. O senhor será levado ao editor, onde poderá ver o código do Recipe selecionado, juntamente com uma descrição do que a função faz.
- Clique no botão Select para continuar.
- Escolha um nome para a função e o acionador que fará com que ela seja executada. O tempo de execução é definido automaticamente com base no código da receita.
- Selecione o botão de função Criar.
- Depois que a função tiver sido criada, defina as variáveis de ambiente relevantes para que a função tenha os dados necessários para ser executada.
- Agora, a receita pode ser testada e definida como Live.
As receitas podem exigir que o senhor atualize determinados campos para que correspondam às suas preferências de nomenclatura desejadas e aos dados dos seus eventos. Consulte as instruções da receita para ver quais campos podem ser renomeados e editados.
Recursos adicionais
Primeiros passos com o CDP da Klaviyo
Compreender os diferentes webhooks disponíveis no Klaviyo