Skip to content

Variáveis de contexto

Variáveis de contexto são dados temporários que você pode criar e usar durante a jornada de um usuário em um Canvas específico. Elas permitem personalizar postergações, segmentar usuários dinamicamente e enriquecer o envio de mensagens sem alterar permanentemente as informações do perfil de um usuário. As variáveis de contexto existem apenas dentro da sessão do Canvas e não persistem entre Canvas diferentes ou fora da sessão.

Como as variáveis de contexto funcionam

As variáveis de contexto podem ser definidas de duas formas:

  • Na entrada do Canvas: quando os usuários entram em um Canvas, os dados do evento ou do gatilho de API podem preencher automaticamente as variáveis de contexto.
  • Em uma etapa de Contexto: você pode definir ou atualizar variáveis de contexto manualmente dentro do Canvas adicionando uma etapa de Contexto.

Cada variável de contexto inclui:

  • Um nome (como flight_time ou subscription_renewal_date)
  • Um tipo de dado (como número, string, horário ou array)
  • Um valor que você atribui usando Liquid ou pela ferramenta Adicionar personalização.

Depois de definida, você pode usar uma variável de contexto em todo o Canvas referenciando-a neste formato: {{context.${example_variable_name}}}.

Por exemplo, {{context.${flight_time}}} poderia retornar o horário de voo programado do usuário.

Cada vez que um usuário entra no Canvas — mesmo que já tenha entrado antes — as variáveis de contexto serão redefinidas com base nos dados de entrada mais recentes e na configuração do Canvas. Essa abordagem com estado permite que cada entrada no Canvas mantenha seu próprio contexto independente, possibilitando que os usuários tenham múltiplos estados ativos dentro da mesma jornada, mantendo o contexto específico de cada estado.

Por exemplo, se um cliente tem dois voos próximos, ele terá dois estados de jornada separados rodando simultaneamente — cada um com suas próprias variáveis de contexto específicas do voo, como horário de partida e destino. Isso permite que você envie lembretes personalizados sobre o voo das 14h para Nova York enquanto envia atualizações diferentes sobre o voo das 8h para Los Angeles no dia seguinte, de modo que cada mensagem permaneça relevante para a reserva específica.

Considerações

Você pode definir até 10 variáveis de contexto por etapa de Contexto. Cada nome de variável pode ter até 100 caracteres e deve usar apenas letras, números ou underscores.

As definições de variáveis de contexto podem ter até 10.240 caracteres. Se você passar variáveis de contexto para um Canvas disparado por API, elas compartilham o mesmo namespace das variáveis criadas em uma etapa de Contexto. Por exemplo, se você enviar uma variável purchased_item no objeto de contexto do endpoint /canvas/trigger/send, poderá referenciá-la como {{context.${purchased_item}}}. Se você redefinir essa variável em uma etapa de Contexto, o novo valor substituirá o valor da API para a jornada daquele usuário.

Você pode armazenar até 50 KB por etapa de Contexto, distribuídos em até 10 variáveis. Se o tamanho total de todas as variáveis em uma etapa exceder 50 KB, as variáveis que ultrapassarem o limite não serão avaliadas nem armazenadas. Por exemplo, se você tiver três variáveis em uma etapa de Contexto:

  • Variável 1: 30 KB
  • Variável 2: 19 KB
  • Variável 3: 2 KB

A Variável 3 não será avaliada nem armazenada porque a soma das variáveis anteriores excede 50 KB.

Tipos de dados

As variáveis de contexto criadas ou atualizadas na etapa podem receber os seguintes tipos de dados.

Por padrão, o tipo de dado de horário está em UTC. Se você usar um tipo de dado string para armazenar um valor de horário, poderá definir o horário em um fuso horário diferente, como PST.

Por exemplo, se você estiver enviando uma mensagem a um usuário no dia anterior ao aniversário dele, salvaria a variável de contexto como tipo de dado de horário, pois há lógica Liquid associada ao envio no dia anterior. No entanto, se você estiver enviando uma mensagem de feriado no Natal (25 de dezembro), não precisaria referenciar o horário como uma variável dinâmica, então usar um tipo de dado string seria preferível.

Para tipos de dados de objeto, você pode usar notação de ponto para especificar um caminho pelos dados. Por exemplo, se sua etapa de Contexto definir uma variável de contexto order_summary com esta estrutura:

1
2
3
4
5
{
  "shipping": {
    "carrier": "overnight"
  }
}

Em um filtro de Jornadas do público ou Divisão de decisão, insira o caminho como o nome da variável de contexto usando notação de ponto (por exemplo, order_summary.shipping.carrier). Quando o filtro for avaliado, a Braze resolverá esse caminho para o valor overnight.

Em Liquid (como em uma etapa de Mensagem), use {{context.${order_summary}.shipping.carrier}} em vez disso.

Usando variáveis de contexto

Você pode usar variáveis de contexto em qualquer lugar onde usar Liquid em um Canvas, como nas etapas de Mensagem e Atualização de usuário, selecionando Adicionar personalização. Para mensagens no app e Banners nas etapas de Mensagem, você pode selecionar variáveis de contexto para determinar quando a mensagem deve expirar.

Por exemplo, digamos que você queira notificar passageiros sobre o acesso ao lounge VIP antes do próximo voo. Essa mensagem deve ser enviada apenas para passageiros que compraram passagem de primeira classe. Uma variável de contexto é uma forma flexível de rastrear essa informação.

Os usuários entrarão no Canvas quando comprarem uma passagem de avião. Para determinar a elegibilidade de acesso ao lounge, criaremos uma variável de contexto chamada lounge_access_granted em uma etapa de Contexto e, em seguida, referenciaremos essa variável de contexto nas etapas subsequentes da jornada do usuário.

Variável de contexto configurada para rastrear se um passageiro se qualifica para acesso ao lounge VIP.

Nesta etapa de Contexto, usaremos {{custom_attribute.${purchased_flight}}} para determinar se o tipo de voo comprado é first_class.

Em seguida, criaremos uma etapa de Mensagem para direcionar usuários onde {{context.${lounge_access_granted}}} é true. Essa mensagem será uma notificação por push que inclui informações personalizadas do lounge. Com base nessa variável de contexto, os passageiros elegíveis receberão as mensagens relevantes antes do voo.

  • Passageiros com passagem de primeira classe receberão: “Aproveite o acesso exclusivo ao lounge VIP!”
  • Passageiros de classe executiva e econômica receberão: “Faça upgrade do seu voo para ter acesso exclusivo ao lounge VIP.”

Uma etapa de Mensagem com diferentes mensagens para enviar, dependendo do tipo de passagem de avião comprada.

Para Jornadas de ação e critérios de saída

Você pode aproveitar filtros de comparação de propriedades com variáveis de contexto ou atributos personalizados nestas ações-gatilho: Realizar evento personalizado e Fazer compra. Esses gatilhos de ação também suportam filtros de propriedade para propriedades básicas e aninhadas.

  • Ao comparar com propriedades básicas, as comparações disponíveis corresponderão ao tipo da propriedade definida pelo evento personalizado. Por exemplo, propriedades de string terão correspondência exata e correspondência regex. Propriedades booleanas serão verdadeiro ou falso.
  • Ao comparar com propriedades aninhadas, os tipos não são pré-definidos, então você pode selecionar comparações entre múltiplos tipos de dados para booleanos, números, strings, horário e dia do ano, semelhante às comparações para atributos personalizados aninhados. Se você selecionar um tipo de dado que não corresponda ao tipo de dado real da propriedade aninhada no momento da comparação, o usuário não corresponderá à Jornada de ação ou aos critérios de saída.

Exemplos de Jornada de ação

A seguinte Jornada de ação está configurada para classificar usuários que realizaram o evento personalizado Account_Created com a propriedade básica source para a variável de contexto app_source_variable.

Um exemplo de Jornada de ação que referencia uma variável de contexto ao realizar um evento personalizado.

A seguinte Jornada de ação está configurada para corresponder a propriedade básica brand para o nome de produto específico shoes a uma variável de contexto promoted_shoe_brand.

Um exemplo de Jornada de ação que referencia uma variável de contexto ao fazer uma compra.

Exemplos de critérios de saída

Os critérios de saída determinam que, em qualquer ponto da jornada do usuário no Canvas, ele sairá do Canvas se:

  • Realizar o evento personalizado Abandon Cart, e
  • A propriedade básica Item in Cart corresponder ao valor da string da variável de contexto cart_item_threshold.

Critérios de saída configurados para remover um usuário se ele realizar um evento personalizado com base na variável de contexto.

Os critérios de saída determinam que, em qualquer ponto da jornada do usuário no Canvas, ele sairá do Canvas se:

  • Fizer uma compra específica para o nome de produto “book”, e
  • A propriedade aninhada dessa compra “loyalty_program” for igual ao atributo personalizado do usuário “VIP”.

Critérios de saída configurados para remover um usuário se ele fizer uma compra.

Definir uma expiração

Para Banners e mensagens no app em uma etapa de Mensagem do Canvas, selecione Uma duração após a etapa estar disponível para expiração e, em seguida, ative Personalizar duração para controlar a janela de disponibilidade a partir de uma variável de contexto — por exemplo, para corresponder a uma promoção ou duração de reserva de uma etapa de Contexto.

Personalizar duração se aplica a essa opção de expiração baseada em duração. Se você escolher Em uma data e hora específicas, defina a expiração usando os controles de data e hora.

Postergações de Jornada de ação

Em uma etapa de Jornadas de ação, em Janela de avaliação, ative Personalizar postergação para definir por quanto tempo os usuários ficam retidos na etapa a partir de uma variável de contexto. Use isso quando o período de espera deve variar por usuário com base em detalhes como nível ou região.

Filtros de variáveis de contexto

Você pode criar filtros que usam variáveis de contexto declaradas anteriormente nas etapas de Jornadas do público e Divisão de decisão.

As variáveis de contexto são declaradas e acessíveis apenas no escopo de um Canvas, o que significa que não podem ser referenciadas em segmentos. Os filtros de variáveis de contexto funcionam de forma semelhante nas etapas de Jornadas do público e Divisão de decisão — as etapas de Jornadas do público representam múltiplos grupos, enquanto as etapas de Divisão de decisão representam decisões binárias.

Exemplo de etapa de Divisão de decisão com a opção de criar um filtro com uma variável de contexto.

Assim como as variáveis de contexto do Canvas têm tipos pré-definidos, as comparações entre variáveis de contexto e valores estáticos devem ter tipos de dados correspondentes. O filtro de variável de contexto permite comparações entre múltiplos tipos de dados para booleanos, números, strings, horário e dia do ano, semelhante às comparações para atributos personalizados aninhados.

Aqui está um exemplo de um filtro de variável de contexto comparando a variável de contexto product_name com o regex /braze/.

Uma configuração de filtro para a variável de contexto "product_name" para corresponder ao regex "/braze/".

Comparando com variáveis de contexto ou atributos personalizados

Ao selecionar o botão Comparar com uma variável de contexto ou atributo personalizado, você pode construir filtros de variáveis de contexto que comparam com variáveis de contexto definidas anteriormente ou atributos personalizados do usuário. Isso pode ser útil para realizar comparações dinâmicas por usuário, como context disparado por API, ou para condensar lógica de comparação complexa definida entre variáveis de contexto.

Digamos que você queira enviar um lembrete personalizado aos usuários após um período dinâmico de inatividade. Qualquer pessoa que não tenha feito login no seu app nos últimos três dias deve receber uma mensagem.

Você tem uma variável de contexto re_engagement_date definida como {{now | minus: 3 | append: ' days'}}. Note que 3 days pode ser um valor variável que também é armazenado como atributo personalizado do usuário. Então, se a re_engagement_date for posterior à last_login_date (armazenada como atributo personalizado no perfil do usuário), a mensagem será enviada.

Uma configuração de filtro com atributos personalizados como tipo de personalização para a variável de contexto "re_engagement_date" após o atributo personalizado "last_login_date".

O filtro a seguir compara a variável de contexto reminder_date para ser anterior à variável de contexto appointment_deadline. Isso pode ajudar a agrupar usuários em uma etapa de Jornadas do público para determinar se eles devem receber lembretes adicionais antes do prazo do compromisso.

Uma configuração de filtro com variáveis de contexto como tipo de personalização para a variável de contexto "reminder_date" na variável de contexto "appointment_deadline".

Padronização de consistência de fuso horário

Embora a maioria das propriedades de evento que usam o tipo timestamp já esteja em UTC no Canvas, existem algumas exceções. Com a adição do Contexto do Canvas, todas as propriedades de evento de timestamp padrão em Canvas baseados em ação serão consistentemente em UTC. Essa mudança faz parte de um esforço mais amplo para garantir uma experiência mais previsível e consistente ao editar etapas e mensagens do Canvas. Note que essa mudança impactará todos os Canvas baseados em ação, independentemente de o Canvas específico estar usando uma etapa de Contexto ou não.

Artigos relacionados

New Stuff!