O que você vai aprender

Saiba mais sobre o Code e como criar funções personalizadas executadas diretamente pela Klaviyo.

O código exige desenvolvimento personalizado e a equipe de suporte da Klaviyo não consegue oferecer assistência prática. Se você não tem um desenvolvedor na sua equipe e não se sente à vontade para escrever código por conta própria, considere entrar em contato com um parceiro da Klaviyo para obter ajuda.

Antes de começar

O Advanced Klaviyo Data Platform não está incluído no aplicativo de marketing padrão da Klaviyo, e é necessária uma assinatura para acessar a funcionalidade associada. Acesse nosso guia de faturamento para saber como comprar este plano.

O que é código?

O código permite executar funções personalizadas em resposta a eventos capturados na Klaviyo. Você pode escrever suas próprias funções em Javascript ou Python no editor de código, e elas serã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é-definidos para facilitar a criação de soluções personalizadas.

Tópicos

O Código permite que você execute funções personalizadas em resposta a qualquer evento que possa ser consultado por meio da API Get Events.

como:

  • Eventos de e-mail (por exemplo, Clicked email, Marked email as spam )
  • Eventos de SMS (por exemplo, Sent SMS, Received SMS)
  • notificação push de eventos (por exemplo, Received push, Bounced push)
  • Eventos de integrações (ou seja, eventos de integrações próprias criadas pela Klaviyo)
  • Eventos de API (eventos sincronizados por meio da API da Klaviyo)

O Klaviyo Code não é compatível com os seguintes eventos como tópicos:

  1. E-mail Aberto
  2. E-mail recebido

Interface de código

Para acessar o código, vá até a aba Code em Advanced Klaviyo Data Platform > Data Management > Code.

Para criar uma função personalizada, selecione o botão Criar uma função :

Create a function button
Create a function button

Você será direcionado à página Receitas , onde pode selecionar uma solução predefinida para executar ou uma função em Python ou Node.js em branco.

image (9).jpg
image (9).jpg

Se você selecionar uma receita existente, verá o editor de código com o código da solução, além de uma descrição da funcionalidade.

image (10).jpg
image (10).jpg

Se você selecionar uma função em branco para criar suas próprias soluções personalizadas, o modal Detalhes será exibido, onde você pode:

  • Dê um nome à sua função
    Um nome para identificar sua função.
  • Selecione um tópico para sua função
    O evento que vai disparar a execução do seu código.
  • Selecione um runtime
    O ambiente de runtime em que o código é executado (ou seja, Python ou Node.js).
3.11.jpg
3.11.jpg

Depois de fazer as seleções necessárias e selecionar o botão Criar função , você será levado a uma interface com as seguintes abas:

  • Editor
  • Resultado do teste
  • Registros

Conceder permissões

Na primeira vez que você criar uma função pelo Code, será solicitado que você autentique o aplicativo Code OAuth. Isso é necessário para que suas funções do Code consigam acessar dados na sua conta da Klaviyo.

Depois que você conceder acesso, você será direcionado(a) ao editor de código.

Editor

Na página Editor em Código, você verá a página dividida em 3 guias:

  • Código
    A aba de código tem um editor onde você pode escrever funções em Python ou Javascript.
  • Módulos
    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 pares de valores e chaves que sua função utiliza durante a execução.

Código

Na guia Código , você verá um editor que pode usar para escrever funções em Python ou JavaScript, executadas em resposta ao tópico selecionado.

3.11(2).jpg
3.11(2).jpg
js.jpg
js.jpg

Parâmetros da função de manipulador

Para que o Klaviyo execute o código que você escreve, ele precisa ser envolvido em uma função chamada "handler" que aceite 2 parâmetros:

  • Evento
    Consiste nos dados do evento associados ao evento de acionamento no formato JSON:API. Se o gatilho não for baseado em evento (por exemplo, Adicionado à lista), então o valor desse parâmetro será Nenhum ou Nulo, dependendo do idioma.
  • Contexto
    Contém metadados adicionais sobre a execução da função, incluindo o perfil associado à invocação da função. Você pode acessar o objeto de perfil via context.profile em Javascript ou context["profile"] em Python.

Abaixo estão exemplos dos parâmetros de evento e de contexto que são passados para a função de handler.

Exemplo de formato de evento

text
{
    {
  "data": {
    "type": "event",
    "id": "7S2q9haejYG",
    "attributes": {
      "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"
    },
    "relationships": {
      "profile": {
        "data": {
          "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": {
        "data": {
          "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/"
    }
  }
}

Formato de contexto de exemplo

text
{
    "company_id": "XXXXX",
    "trigger": {"type": "event", "uid": "123456"},
    "function_id": "123456",
}

Módulos

Na aba Módulos, você pode selecionar entre os módulos pré-criados mais populares (ou seja, pacotes de terceiros que adicionam recursos às suas funções).

Para adicionar um módulo externo para usar no seu código, selecione o botão Adicionar módulo:

Add module button
Add module button

Na janela modal exibida, você pode pesquisar e selecionar o módulo que quer adicionar:

Add module modal
Add module modal

Depois de adicioná-lo, você pode usar o módulo com o código que você escreve na Klaviyo.

Você deve consultar a documentação nativa do módulo externo para obter informações sobre como usá-lo.

Added modules
Added modules
O módulo do Klaviyo

Todas as funções do Code vêm com um pacote klaviyo personalizado que já vem pré-instalado no seu ambiente do Code. Esse módulo permite que suas funções acessem os dados na sua conta da Klaviyo sem precisar fornecer credenciais, como uma chave de API.

A API do módulo Klaviyo depende se seu código foi escrito em Python ou JavaScript.

Python Klaviyo module

A API do módulo klaviyo pré-instalado é a mesma do objeto do Software Development Kit (SDK) do Klaviyo que você normalmente instanciaria com o módulo Python klaviyo-api. Você pode pensar no módulo Klaviyo como um cliente de Software Development Kit (SDK) do Klaviyo pré-inicializado.

Por exemplo, em um fluxo de trabalho tradicional, primeiro você instanciaria um novo cliente do Software Development Kit (SDK) do Klaviyo passando uma chave de API ao construtor e, em seguida, usaria o objeto do SDK resultante.

text
from klaviyo_api import KlaviyoAPIimport osdef handler(event, context):  klaviyo = KlaviyoAPI(api_key=os.getenv("KLAVIYO_API_KEY"))  print(klaviyo.Metrics.get_metrics())

Com Code, você só precisa importar o objeto Klaviyo, e a autenticação é feita para você.

text
import klaviyodef handler(event, context):  print(klaviyo.Metrics.get_metrics())

Veja os objetos disponíveis da Klaviyo e seus métodos.

Javascript Klaviyo module

Ao usar o módulo Klaviyo pré-instalado nas suas funções Javascript, importe os recursos específicos do Klaviyo que você quer acessar usando a sintaxe de chaves do módulo Klaviyo. Em seguida, use-os como você normalmente usaria um objeto de API usando o módulo Javascriptklaviyo-api .

text
import { Metrics } from 'klaviyo';export default async (event, context) => {  console.log(await Metrics.getMetrics())}

Veja os objetos Klaviyo disponíveis e seus métodos.

Variáveis de ambiente

A aba Variáveis de ambiente permite definir pares de chave-valor que seu código no Klaviyo pode referenciar quando é 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 Adicionar uma variável:

Add environment variables button
Add environment variables button

Na janela modal exibida, você pode definir um par chave-valor para sua variável de ambiente.

Key-value pairs set for environment variable
Key-value pairs set for environment variable

Depois de criadas, as variáveis de ambiente serão listadas na página e poderão ser usadas no seu código.

Para acessar suas variáveis de ambiente no código, use os.getenv("Key") para Python ou process.env.KEY para Node.js.

Created environment variables
Created environment variables

Para atualizar o valor de uma variável de ambiente existente, você precisa criar uma nova variável com a mesma chave da qual você quer atualizar o valor.

Resultado do teste

A aba Test output em Código permite testar seu código com eventos recentes para confirmar se a saída está se comportando como esperado.

Para testar sua função:

  1. Selecione o botão Executar teste:
Run test button
Run test button
  1. Na janela modal exibida, selecione um evento para testar. Você pode selecionar entre os 10 eventos mais recentes capturados na Klaviyo.
Recent events to test with
Recent events to test with
  1. Depois de selecionar um evento para testar, o resultado do teste será exibido:
Test output
Test output

Registros

A guia Logs mostra a integridade das suas funções de Code em andamento. Você verá:

  • Status
    O progresso da execução de uma função.
  • Tempo de resposta
    O tempo que o seu 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.

Limites de taxa

O código da Klaviyo tem os seguintes limites de taxa:

  • Tempo limite da função
    As funções no Code podem ser executadas por até 15 segundos antes de atingir o tempo limite.
  • Limite de taxa de função
    As funções no Code permitem até 25 execuções simultâneas por função.

Implementação de código

Para implantar o código que você escreve no editor, alterne o menu suspenso de status para Ativo.

Toggle to deploy code
Toggle to deploy code

Depois de colocar em produção, o código que você escrever será executado toda vez que o evento do tópico for capturado no Klaviyo.

Quando uma função é ativada, pode haver um atraso de até 15 minutos antes que os eventos comecem a acionar a função.

Solução de exemplo

Abaixo está um exemplo de uma solução personalizada sendo implementada com código.

No exemplo, os dados do evento são definidos como uma Propriedades do perfil para que possam ser usados em e-mails direcionados e na segmentação. O evento personalizado Ensaio agendado é capturado na Klaviyo quando os clientes agendam um ensaio com a marca, e os dados sobre a cidade do agendamento e a URL associada são definidos como uma Propriedades do perfil no respectivo perfil.

Uma propriedade chamada Reservas recentes também é criada, que armazena dados dos 5 eventos de Sessão agendada mais recentes para que possam ser percorridos em loop e acessados em um modelo de e-mail.

Código

O código Python desta solução é escrito no editor de código e executado diretamente pela Klaviyo.

Code_updates.jpg
Code_updates.jpg

Código de exemplo

Módulos

Neste exemplo, o módulo klaviyo integrado é usado. O módulo klaviyo depende do módulo klaviyo-api ser adicionado à função. Depois de adicionado, o módulo klaviyo vai cuidar da autenticação para você, então nenhuma chave de API é necessária.

Variáveis de ambiente

Variáveis de ambiente podem ser usadas para armazenar informações como credenciais e chaves secretas para que suas funções possam acessá-las conforme são executadas. Para este exemplo, o seguinte par chave-valor é definido:

  • MAX_PROPERTIES_TO_STORE
    Uma variável de ambiente usada para definir o número máximo de propriedades a armazenar para a função de exemplo.

Testes

Ao criar a função para definir dados de eventos como Propriedades do perfil, a guia Testar saída é usada para verificar a saída esperada.

test_output.jpg
test_output.jpg

Registros

Depois que a função for criada e testada, a guia Logs mostra o status de integridade da função conforme ela é executada em resposta aos eventos de Booked shoot .

Logs.jpg
Logs.jpg

Resultado

Com esta função de Code em vigor, conforme os clientes se inscrevem para sessões de fotos e acionam o evento personalizado Sessão de fotos agendada, os dados do evento serão armazenados no perfil do cliente para uso em segmentação e campanhas direcionadas.

Como implementar receitas 

As receitas no Code permitem que você implemente soluções pré-criadas sem a necessidade de desenvolvimento personalizado.

Para implementar uma Recipe na sua conta Klaviyo:

  1. Selecione o botão Criar função na página Código.
  2. Escolha a Receita que você quer implementar na sua conta. Você será direcionado ao editor, onde poderá ver o código da Receita selecionada, junto com uma descrição do que a função faz.
  3. Clique no botão Selecionar para continuar.
Currency converter recipe in Klaviyo
Currency converter recipe in Klaviyo
  1. Escolha um nome para a função e o acionador que fará com que ela seja executada. O runtime é definido automaticamente com base no código da Recipe.
  2. Selecione o botão Criar função.
  3. Depois que a função for criada, defina as variáveis de ambiente relevantes para que a função tenha os dados de que precisa para ser executada.
  4. Agora, a Receita pode ser testada e definida como Ativa.

Talvez você precise atualizar determinados campos nas receitas para corresponder às preferências de nomenclatura desejadas e aos dados dos seus eventos. Veja as instruções da receita para ver quais campos podem ser renomeados e editados.

Recursos adicionais

  • Getting started with Advanced KDP

    Learn more about using Advanced KDP (Klaviyo data platform) to gather robust customer insights across all your marketing initiatives. Advanced KDP enables more advanced data management, manipulation, and analysis. It also provides actionable strategies to employ across each of your individual audiences and your business as a whole.

  • Understand the different webhooks available in Klaviyo

    Learn about the differences between webhook solutions available in Klaviyo, and when you should use each one.

Esse artigo foi útil?
Use esse formulário somente para dar feedback sobre os artigos. Saiba como entrar em contato com o suporte.

Saiba mais sobre a Klaviyo

Community
Conecte-se com colegas, parceiros e especialistas da Klaviyo para ter ideias, compartilhar insights e tirar dúvidas.
Parceiros
Contrate um especialista certificado pela Klaviyo para ajudá-lo com uma tarefa específica ou para gerenciamento contínuo de marketing.
Suporte

Acesse o suporte na sua conta.

Suporte por e-mail (teste gratuito e contas pagas) Disponível 24 horas

Chat/assistência virtual
A disponibilidade varia conforme o local e o tipo de plano