Ir para o conteúdo

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 do usuário. As variáveis de contexto existem apenas dentro da sessão do Canvas e não persistem entre Canvas diferentes nem fora da sessão.

Como funcionam as variáveis de contexto

Você pode definir as variáveis de contexto de duas maneiras:

  • Na entrada do Canvas: Quando os usuários entram em um Canvas, os dados do evento ou do disparo por API podem preencher automaticamente as variáveis de contexto.
  • Em uma etapa de Contexto: Você pode definir ou atualizar as 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 dados (como número, string, horário ou array)
  • Um valor que você atribui usando Liquid ou a 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}}} pode retornar o horário do voo agendado do usuário.

Cada vez que um usuário entra no Canvas, mesmo que já tenha entrado antes, as variáveis de contexto sã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. Assim, os usuários podem ter vários estados ativos na mesma jornada, e cada estado mantém seu contexto específico.

Por exemplo, se um cliente tem dois voos marcados, ele terá dois estados de jornada separados em execução ao mesmo tempo, cada um com suas próprias variáveis de contexto do voo, como horário de partida e destino. Isso permite enviar lembretes personalizados sobre o voo das 14h para Nova York e, ao mesmo tempo, enviar atualizações diferentes sobre o voo das 8h de amanhã para Los Angeles. Dessa forma, cada mensagem continua 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 sublinhados.

As definições de variáveis de contexto podem ter até 10.240 caracteres. Se você passar variáveis de contexto para um Canvas acionado 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 na jornada desse 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 ultrapassar 50 KB, as variáveis que excederem 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 é avaliada nem armazenada porque a soma das variáveis anteriores ultrapassa 50 KB.

Tipos de dados

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

Tipo de dados Exemplo de nome da variável Exemplo de valor
Booleano loyalty_program true
Número credit_score 740
String product_name green_tea
Array favorite_products ["wireless_headphones", "smart_homehub", "fitness_tracker_swatch"]
Array (de objetos) pet_details [
 { "id": 1, "type": "dog", "breed": "beagle", "name": "Gus" }
 ,
 { "id": 2, "type": "cat", "breed": "calico", "name": "Gerald" }
]
Hora (em UTC) last_purchase_date 2025-12-25T08:15:30:250-0800
Objeto (achatado) user_profile {
 "first_name": "{{user.first_name}}",
 "last_name": "{{user.last_name}}",
 "email": "{{user.email}}",
 "loyalty_points": {{user.loyalty_points}},
 "preferred_categories": {{user.preferred_categories}}
}

Por padrão, o tipo de dados de hora fica em UTC. Se você usar um tipo de dados string para armazenar um valor de hora, poderá definir a hora em outro fuso horário, como PST.

Por exemplo, se você for enviar uma mensagem a um usuário no dia anterior ao aniversário dele, salve a variável de contexto como tipo de dados de hora, porque há uma lógica Liquid associada ao envio no dia anterior. Por outro lado, se você for enviar uma mensagem de feriado no dia de Natal (25 de dezembro), não precisa referenciar a hora como uma variável dinâmica. Nesse caso, é preferível usar um tipo de dados string.

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

{
  "shipping": {
    "carrier": "overnight"
  }
}

Em um filtro de Jornadas de público ou de 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 é avaliado, a Braze resolve esse caminho para o valor overnight.

No Liquid (por exemplo, em uma etapa de Mensagem), use {{context.${order_summary}.shipping.carrier}}.

Uso de variáveis de contexto

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

Por exemplo, digamos que você queira avisar os passageiros sobre o acesso à sala VIP antes do próximo voo. Essa mensagem só deve ser enviada a quem comprou uma passagem de primeira classe. Uma variável de contexto é uma forma flexível de rastrear essa informação.

Os usuários entram no Canvas quando compram uma passagem aérea. Para determinar quem é elegível ao acesso à sala VIP, vamos criar uma variável de contexto chamada lounge_access_granted em uma etapa de Contexto. Depois, vamos referenciar essa variável de contexto nas etapas seguintes da jornada do usuário.

Variável de contexto configurada para rastrear se um passageiro tem direito ao acesso à sala VIP.

Nessa etapa de Contexto, vamos usar {{custom_attribute.${purchased_flight}}} para determinar se o tipo de voo comprado é first_class.

Em seguida, vamos criar uma etapa de Mensagem para direcionar os usuários em que {{context.${lounge_access_granted}}} é true. Essa mensagem será uma notificação por push com informações personalizadas sobre a sala VIP. 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 à sala VIP!”
  • Passageiros com passagem executiva ou econômica receberão: “Faça upgrade do seu voo para ter acesso exclusivo à sala VIP.”

Uma etapa de Mensagem com mensagens diferentes para enviar, dependendo do tipo de passagem aérea comprada.

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

Você pode alavancar a comparação de filtros de propriedade 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 aceitam filtros de propriedade para propriedades básicas e aninhadas.

  • Ao comparar com propriedades básicas, as comparações disponíveis correspondem ao tipo da propriedade definido pelo evento personalizado. Por exemplo, propriedades de string terão as comparações “exatamente igual” e “corresponde a regex”. Propriedades booleanas serão verdadeiras ou falsas.
  • Ao comparar com propriedades aninhadas, os tipos não são predefinidos. Então, você pode selecionar comparações entre vários tipos de dados para booleanos, números, strings, hora e dia do ano, de forma semelhante às comparações de atributos personalizados aninhados. Se você selecionar um tipo de dado que não corresponde ao tipo real da propriedade aninhada no momento da comparação, o usuário não vai corresponder à etapa de jornadas de ação nem aos critérios de saída.

Exemplos de jornadas de ação

A etapa de jornadas de ação a seguir está configurada para classificar os usuários que realizaram o evento personalizado Account_Created com a propriedade básica source em relação à variável de contexto app_source_variable.

Exemplo de etapa de jornadas de ação que referencia uma variável de contexto ao realizar um evento personalizado.

A etapa de jornadas de ação a seguir está configurada para corresponder a propriedade básica brand do nome de produto específico shoes à variável de contexto promoted_shoe_brand.

Exemplo de etapa de jornadas 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 vai 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 caso ele realize 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 vai sair do Canvas se:

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

Critérios de saída configurados para remover um usuário caso ele faça 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 a expiração. Depois, ative Personalizar duração para definir a janela de disponibilidade a partir de uma variável de contexto. Por exemplo, você pode fazer isso para corresponder à duração de uma promoção ou reserva definida em 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 em jornadas de ação

Em uma etapa de jornadas de ação, em Janela de avaliação, ative Personalizar postergação para definir, a partir de uma variável de contexto, por quanto tempo os usuários ficam na etapa. Use essa opção quando o período de espera precisar variar para cada 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 nas etapas de jornadas do público e divisão de decisão.

A lista Nome da variável de contexto inclui variáveis de etapas de Contexto e etapas de Agente. Para uma propriedade de entrada do Canvas, digite o nome dela e selecione Usar “ENTRY_PROPERTY_NAME“. Substitua ENTRY_PROPERTY_NAME pelo nome da propriedade de entrada que você digitou. Para uma propriedade aninhada, use a notação de ponto, como order.total.

As variáveis de contexto são declaradas e acessíveis apenas no escopo de um Canvas. Isso significa que elas não podem ser referenciadas em Segments. Os filtros de variáveis de contexto funcionam de forma semelhante nas etapas de jornadas do público e de divisão de decisão: as etapas de jornadas do público representam vários 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 predefinidos, as comparações entre variáveis de contexto e valores estáticos precisam ter tipos de dados correspondentes. O filtro de variável de contexto permite comparações entre vários tipos de dados para booleanos, números, strings, hora e dia do ano, de forma semelhante às comparações de atributos personalizados aninhados.

Veja um exemplo de filtro de variável de contexto que compara a variável de contexto product_name com a regex /braze/.

Configuração de filtro para que a variável de contexto "product_name" corresponda à regex "/braze/".

Filtros de dia do ano e hora para variáveis de contexto de data

Para usar filtros de comparação de Dia do ano ou Hora com uma variável de contexto:

  1. Adicione uma etapa de Contexto que defina uma variável de contexto como uma data do calendário (por exemplo, 23 de outubro de 2025).
  2. Adicione uma etapa de jornadas do público após a etapa de Contexto.
  3. Na etapa de jornadas do público, adicione um filtro que divida os usuários com base nessa variável de contexto.
  4. Escolha uma comparação da categoria Dia do ano ou Hora.

Se uma variável de contexto não tiver um tipo declarado, a Braze mostra todos os tipos de comparação disponíveis no menu suspenso, incluindo Dia do ano e Hora. Se a variável for declarada como do tipo hora na etapa de Contexto, apenas as comparações de Dia do ano e Hora são mostradas. Para outros tipos de dados com tipo conhecido (por exemplo, um atributo personalizado aninhado do tipo hora), apenas as comparações aplicáveis a esse tipo são mostradas.

Comparação com variáveis de contexto ou atributos personalizados

Ao selecionar a opção Comparar com uma variável de contexto ou atributo personalizado, você pode criar filtros de variáveis de contexto que fazem comparações com variáveis de contexto definidas anteriormente ou com atributos personalizados do usuário. Isso é útil para fazer comparações dinâmicas por usuário, como o context disparado por API, ou para condensar uma lógica de comparação complexa definida em várias variáveis de contexto.

Digamos que você queira enviar um lembrete personalizado aos usuários após um período dinâmico de inatividade. Nesse caso, 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'}}. Observe que 3 days pode ser um valor variável, também armazenado como atributo personalizado do usuário. Então, se re_engagement_date for posterior a last_login_date (armazenado como atributo personalizado no perfil do usuário), o usuário receberá uma mensagem.

Configuração de filtro com atributos personalizados como tipo de personalização, em que a variável de contexto "re_engagement_date" é posterior ao atributo personalizado "last_login_date".

O filtro a seguir verifica se a variável de contexto reminder_date é 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 agendamento.

Configuração de filtro com variáveis de contexto como tipo de personalização, comparando a variável de contexto "reminder_date" com a variável de contexto "appointment_deadline".

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

A maioria das propriedades de evento do tipo timestamp no Canvas já está em UTC, mas há algumas exceções. Com a adição do Canvas Context, todas as propriedades de evento padrão do tipo timestamp em Canvas baseados em ação passam a estar sempre em UTC. Essa mudança faz parte de um esforço maior para tornar mais previsível e consistente a experiência de edição de etapas e mensagens do Canvas. Ela afeta todos os Canvas baseados em ação, usem eles uma etapa de Contexto ou não.

New Stuff!