Cancelar mensagens
Opcionalmente, você pode usar a tag Liquid
abort_message("optional reason for aborting")dentro de condicionais para impedir o envio de uma mensagem a um usuário. Este artigo de referência lista alguns exemplos de como esse recurso pode ser usado em campanhas de marketing.

Se uma etapa de mensagem for cancelada em um Canvas, o usuário não sairá do Canvas e continuará para a próxima etapa.
Envios de teste com abort_message()
abort_message() interrompe o envio para usuários que não atendem à sua condição. A mensagem não aparecerá no perfil deles e não será contabilizada nas entregas nem no limite de frequência.
Se os envios de teste nunca chegarem, visualize como um usuário que satisfaça a condição de interrupção e, em seguida, em Test Send, ative Override recipients’ attributes with current preview user’s attributes (ou adicione um membro do Content Test Group que se qualifique).
Interromper mensagem se “Number Games Attended” = 0
Por exemplo, digamos que você não quisesse enviar uma mensagem para clientes que não participaram de um jogo:
{% if custom_attribute.${Number_Game_Attended} == 1 %}
Loved the game? Get 10% off your second one with code SAVE10.
{% elsif custom_attribute.${Number_Game Attended} > 1 %}
Love the games? Get 10% off your next one with code SAVE10.
{% else %}
{% abort_message() %}
{% endif %}
Essa mensagem será enviada apenas para clientes que comprovadamente participaram de um jogo.
Enviar mensagens apenas para clientes que falam inglês
Você pode enviar mensagens apenas para clientes que falam inglês criando uma instrução “if” que corresponda quando o idioma do cliente for inglês e uma instrução “else” que interrompa a mensagem para qualquer pessoa que não fale inglês ou não tenha um idioma definido no perfil.
{% if ${language} == 'en' %}
Send this message in English!
{% else %}
{% abort_message() %}
{% endif %}
Por padrão, o envio interrompido aparece em Observabilidade de mensagens com o resultado Liquid abort.
Você pode incluir uma string de motivo dentro dos parênteses:
{% abort_message('language was nil') %}
Consulta de mensagens de interrupção
Você pode usar o Construtor de Consultas ou seu próprio data warehouse, se estiver conectado à Braze, para consultar mensagens de interrupção específicas que são disparadas quando a lógica Liquid causa a interrupção de uma mensagem.
Quando a lógica de interrupção é avaliada
O momento em que a lógica de interrupção é avaliada depende do canal de mensagem.
Push, e-mail, SMS, webhooks e Content Cards
A lógica de interrupção é avaliada no momento do envio, quando a Braze processa a mensagem para entrega.
In-App Messages
A lógica de interrupção é avaliada para mensagens no app com modelo apenas no momento em que a mensagem no app é disparada (por exemplo, quando o usuário realiza o evento-gatilho ou inicia uma sessão), e não quando a mensagem é enviada inicialmente ao dispositivo. As mensagens no app são entregues ao SDK no início da sessão e armazenadas em cache localmente; o Liquid, incluindo quaisquer chamadas de abort_message(), é executado quando a condição de disparo é atendida.
Solução de problemas para altas taxas de interrupção
Se uma campanha ou etapa do Canvas mostra muitos usuários que entraram mas poucos envios, ou se as entregas parecem menores do que o esperado, a lógica de interrupção é uma causa comum — especialmente quando o Liquid exige atributos, dados de catálogo ou valores de lista que estão ausentes no momento da avaliação.
Verifique o Messaging Observability
- Abra o Messaging Observability.
- Selecione a Campaign ou o Canvas e, em seguida, selecione Run Dashboard.
- No log granular, filtre pelo resultado Liquid abort.
- Observe se as interrupções estão concentradas em um canal (como apenas e-mail) ou distribuídas entre canais no mesmo Canvas.
Verifique atributos e Liquid no momento do envio
Para push, e-mail, SMS, webhooks e Content Cards, a lógica de interrupção é executada quando a Braze processa a mensagem para entrega — não quando o usuário entrou no Canvas ou quando um evento-gatilho foi disparado anteriormente.
- Confirme se os atributos personalizados, propriedades de eventos ou campos de catálogo necessários estão definidos no perfil do usuário antes que a etapa de mensagem seja executada.
- Adicione verificações explícitas de nil ou vazio antes de chamar
abort_message(). Uma ramificaçãoelseque interrompe quando um valor está ausente impede o envio para qualquer usuário sem esses dados. - Se a personalização depende de uma lista, Segment ou resposta do Connected Content, confirme se os dados estão disponíveis quando a etapa de mensagem é executada. Um usuário pode entrar em um Canvas antes que a associação à lista ou os dados downstream estejam prontos.
Comportamento específico do Canvas
Se uma etapa de mensagem é interrompida em um Canvas, o usuário não sai do Canvas. Em vez disso, ele avança para a próxima etapa. As interrupções afetam apenas a contagem de envios daquela etapa de mensagem.
Em uma etapa de contexto, abort_message afeta apenas a variável que a chama: essa variável não é definida, as outras variáveis na etapa continuam sendo, e o usuário segue para a próxima etapa. As interrupções da etapa de contexto não são registradas no Message Activity Log. Para mais detalhes, consulte Contexto.
Ao diagnosticar interrupções no Canvas:
- Compare os usuários que entraram na etapa de mensagem com os usuários que receberam o envio na mesma etapa.
- Se apenas um canal apresenta interrupções, revise o Liquid específico do canal ou o status de inscrição para aquela etapa.
- Se as interrupções aumentam após uma atualização de lista ou catálogo, verifique se a etapa de mensagem foi executada antes que a atualização fosse concluída.
Valide com prévia e envios de teste
Faça a prévia como um usuário no criador de mensagem cujo perfil corresponda a um destinatário afetado. Para envios de teste, ative Override recipients’ attributes with current preview user’s attributes quando a lógica de interrupção depender de dados do perfil.
Para mais exemplos de interrupção, consulte Consultar mensagens de interrupção.
Considerações
A tag de mensagem Liquid abort_message() impede que mensagens sejam enviadas aos usuários, o que significa que a mensagem não será exibida nos perfis de usuário e não será contabilizada nas entregas nem no limite de frequência.