Wunderkind (Signals)
Wunderkind é uma plataforma de desempenho para eCommerce que usa tecnologia proprietária de identidade para reconhecer visitantes anônimos de sites e resolvê-los em endereços de e-mail acionáveis. Em média, a Wunderkind aumenta a identificação de 3 a 5% do tráfego do site para 40 a 60%, permitindo que as marcas disparem mensagens personalizadas, um a um, em escala por meio do provedor de serviços de e-mail existente.
Esta integração é mantida pela Wunderkind. Para suporte, acesse support.wunderkind.co.
Sobre a integração
A integração Wunderkind Signals permite que sinais comportamentais de alta intenção — como abandono de carrinho, abandono de produto e quedas de preço — disparem jornadas de Canvas em tempo real na Braze. O Wunderkind identifica usuários anônimos no seu website, resolve a identidade deles para um endereço de e-mail válido para entrega e envia uma carga útil de sinal estruturada para a Braze por meio da API de entrada do Canvas, iniciando automaticamente seus fluxos de e-mail pré-configurados.
Pré-requisitos
| Requisito | Descrição |
|---|---|
| Conta Wunderkind | É necessária uma conta Wunderkind com Signals ativado. Entre em contato com seu representante Wunderkind para confirmar a elegibilidade. |
| Conta Braze | É necessária uma conta da Braze com acesso a Canvas. A equipe da Wunderkind deve receber um acesso à sua conta. Para mais detalhes, consulte Conceder acesso da Wunderkind à sua conta da Braze. |
| Chave da API REST da Braze | Você cria uma chave de API dedicada com permissões específicas durante a configuração (consulte a Etapa 1). |
| Identificação do usuário | A Wunderkind normalmente resolve um consumidor na Braze usando user_alias com alias_label: "wknd_email_id" (frequentemente com o e-mail como alias_name). Cada destinatário de /canvas/trigger/send deve incluir exatamente um entre external_user_id, user_alias, braze_id ou email (objeto de destinatários); se você usar email, inclua prioritization. Quando você usa user_alias, o perfil já deve existir na Braze antes do disparo. Crie ou atualize usuários e aliases primeiro com /users/track ou /users/identify. Para saber mais, consulte Limitações. |
Como funciona
Quando a Wunderkind identifica um usuário anônimo com alta intenção e resolve sua identidade, ela envia uma carga útil de sinal para a Braze usando o endpoint /canvas/trigger/send, disparando a jornada Canvas relevante para esse usuário em tempo real.
Para uma visão geral técnica completa, consulte o Portal do Desenvolvedor Wunderkind.
Integração
Etapa 1: Criar uma chave de API da Braze para a Wunderkind
No seu dashboard da Braze:
- Acesse Configurações > Chaves de API e clique em Criar nova chave de API.
- Dê à chave um nome descritivo (por exemplo,
Wunderkind Signals). - Conceda as permissões listadas em Conceder à Wunderkind acesso à sua conta da Braze.
- Copie a chave de API para inseri-la na plataforma Wunderkind na próxima seção.

Para o Wunderkind Signals, as solicitações da REST API da Braze são autenticadas com uma chave da API REST, não com tokens OAuth. Crie uma chave de API dedicada no dashboard e forneça essa chave à Wunderkind.
Etapa 2: Conectar a Braze à plataforma Wunderkind
- Faça login na plataforma Wunderkind e acesse o Integrations Hub.
- Selecione o bloco Braze e, em seguida, selecione Connect.
- Insira sua chave da API REST da Braze e selecione seu cluster.
- Selecione Save.
Etapa 3: Revisar novos ativos da Braze
Após a ativação, a Wunderkind provisiona novos ativos de implementação no seu espaço de trabalho da Braze com base na estratégia alinhada com seu representante da Wunderkind:
| Tipo de ativo | Método de criação da Wunderkind |
|---|---|
| Content Blocks | Automático |
| Canvas disparados por API | Serviço gerenciado |
| Tags, atributos personalizados, modelos de link | Serviço gerenciado |
Etapa 4: Concluir a configuração do Canvas
Para cada Canvas de Signals, crie seus modelos de e-mail usando o editor de arrastar e soltar ou HTML da Braze.
- A Wunderkind preenche os dados de produto e sessão no objeto
contextde cada destinatário em/canvas/trigger/sendno momento do envio. - Para instruções detalhadas sobre como usar Liquid com essa carga útil nos seus modelos, consulte Complete Canvas setup no Centro de Ajuda da Wunderkind.
Etapa 5: Revisar a elegibilidade do Canvas
Para cada Canvas de Signals, acesse as configurações de Target Audience para revisar o público de entrada padrão e os critérios de saída da Wunderkind.
- Para garantir que você não esteja enviando mensagens aos seus usuários com muita frequência, consulte Limite de frequência centrado no usuário.
- Ajuste as configurações para impedir que os usuários continuem recebendo mensagens do Canvas após realizarem uma compra. Por exemplo, adicione a exceção Make Purchase.
- Certos Canvas de Signals são pré-configurados com filtros de atributos personalizados para que os usuários recebam a mensagem de maior intenção possível.
- Consulte Review Canvas eligibility no Centro de Ajuda da Wunderkind para detalhes sobre elegibilidade e prioridade do Canvas.
Etapa 6: Testar e lançar
A Wunderkind realiza o QA de ponta a ponta antes de entrar em produção:
- Confirmar que os sinais estão sendo entregues aos IDs de Canvas corretos sem erros de API.
- Verificar se os campos de
context(nome do produto, imagem, URL) estão sendo preenchidos corretamente nos modelos de e-mail renderizados. - Consulte Test and launch Signals for Braze no Centro de Ajuda da Wunderkind para instruções sobre como pré-visualizar modelos com produtos simulados da Wunderkind.
Quando o QA for aprovado, seu gerente de implementação da Wunderkind coordenará o lançamento em produção com sua equipe.
Carga útil de contexto do Canvas
O Wunderkind suporta seis tipos de sinais. Cada um entrega um conjunto distinto de chaves e valores dentro do objeto context para aquele destinatário em /canvas/trigger/send (consulte Enviar mensagens do Canvas usando entrega disparada por API). O campo WkPurpose identifica o tipo de sinal dentro dessa carga útil.
Campos comuns (todos os tipos de Canvas)
| Propriedade | Tipo | Descrição |
|---|---|---|
Origin |
String | Sempre "wunderkind" |
DataOnly |
String | Sempre "Y" — indica que o Wunderkind está atuando apenas como camada de dados; a Braze executa o envio |
UserType |
String | "prospect" ou "customer" |
WkChannel |
String | Sempre "email" para esta integração |
WkPurpose |
String | Identificador do tipo de sinal (veja os valores por Canvas nesta seção) |
WKCouponCode |
String | Código de cupom, se aplicável (string vazia se não utilizado) |
WKCouponPurpose |
String | Descrição da oferta de cupom (string vazia se não utilizada) |
Items |
Array | Array de objetos de produto (veja os campos de produto nesta seção) |
WkOpen |
String | Pixel de rastreamento disponível para fins de relatório |
Campos de item de produto
| Propriedade | Tipo | Descrição |
|---|---|---|
WkCopy |
String | Nome do produto |
WkId |
String | ID do produto |
WkImageUrl |
String | URL da imagem do produto |
WkUrl |
String | URL da página de detalhes do produto |
WkPrice |
String | Preço original (apenas Canvas de queda de preço) |
WKSalePrice |
String | Preço promocional (apenas Canvas de queda de preço) |
WkQuantity |
String | Unidades restantes (apenas Canvas de estoque baixo) |
Campos específicos do Canvas e valores de WkPurpose
| Tipo de Canvas | Valor de WkPurpose |
Campos adicionais |
|---|---|---|
| Abandono de carrinho | "cart abandonment" |
WkCartReplenUrl — URL para recompor o carrinho |
| Abandono de produto | "product abandonment" |
— |
| Resumo de categoria | "category recap" |
WkCategoryUrl — URL da categoria navegada |
| De volta ao estoque | "back in stock" |
— |
| Queda de preço | "price drop" |
WkPrice, WKSalePrice em cada item |
| Estoque baixo | "low stock" |
WkQuantity em cada item |
Exemplos de carga útil
Cada objeto em recipients deve incluir exatamente um entre external_user_id, user_alias, braze_id ou email. Para saber mais, consulte o Objeto de destinatários.

Cada exemplo usa um identificador de destinatário da Braze. Os seis primeiros usam apenas user_alias; o último usa email com prioritization apenas. O JSON de exemplo omite a chave WkChannel dentro de context para que as ferramentas de revisão não confundam o valor ("email") com o campo email de destinatário da Braze. Em produção, inclua "WkChannel": "email" em context conforme documentado na tabela de campos comuns (todos os tipos de Canvas).
Os exemplos a seguir usam user_alias com wknd_email_id, correspondendo à forma como o Wunderkind resolve identidades.
Exemplo de carga útil de abandono de carrinho
{
"canvas_id": "<your_canvas_id>",
"recipients": [
{
"user_alias": {
"alias_name": "[email protected]",
"alias_label": "wknd_email_id"
},
"context": {
"Origin": "wunderkind",
"DataOnly": "Y",
"UserType": "prospect",
"WkOpen": "https://example.com/cart",
"WkPurpose": "cart abandonment",
"WKCouponCode": "",
"WKCouponPurpose": "",
"WkCartReplenUrl": "https://example.com/cart/replenish",
"Items": [
{
"WkCopy": "Product name",
"WkId": "012345",
"WkImageUrl": "https://example.com/image.jpg",
"WkUrl": "https://example.com/product"
}
]
}
}
]
}
Exemplo de carga útil de abandono de produto
{
"canvas_id": "<your_canvas_id>",
"recipients": [
{
"user_alias": {
"alias_name": "[email protected]",
"alias_label": "wknd_email_id"
},
"context": {
"Origin": "wunderkind",
"DataOnly": "Y",
"UserType": "prospect",
"WkOpen": "https://example.com/product",
"WkPurpose": "product abandonment",
"WKCouponCode": "",
"WKCouponPurpose": "",
"Items": [
{
"WkCopy": "Product name",
"WkId": "012345",
"WkImageUrl": "https://example.com/image.jpg",
"WkUrl": "https://example.com/product"
}
]
}
}
]
}
Exemplo de carga útil de resumo de categoria
{
"canvas_id": "<your_canvas_id>",
"recipients": [
{
"user_alias": {
"alias_name": "[email protected]",
"alias_label": "wknd_email_id"
},
"context": {
"Origin": "wunderkind",
"DataOnly": "Y",
"UserType": "prospect",
"WkOpen": "https://example.com/category",
"WkPurpose": "category recap",
"WKCouponCode": "",
"WKCouponPurpose": "",
"WkCategoryUrl": "https://example.com/category",
"Items": [
{
"WkCopy": "Product name",
"WkId": "012345",
"WkImageUrl": "https://example.com/image.jpg",
"WkUrl": "https://example.com/product"
}
]
}
}
]
}
Exemplo de carga útil de volta ao estoque
{
"canvas_id": "<your_canvas_id>",
"recipients": [
{
"user_alias": {
"alias_name": "[email protected]",
"alias_label": "wknd_email_id"
},
"context": {
"Origin": "wunderkind",
"DataOnly": "Y",
"UserType": "prospect",
"WkOpen": "https://example.com/product",
"WkPurpose": "back in stock",
"WKCouponCode": "",
"WKCouponPurpose": "",
"Items": [
{
"WkCopy": "Product name",
"WkId": "012345",
"WkImageUrl": "https://example.com/image.jpg",
"WkUrl": "https://example.com/product"
}
]
}
}
]
}
Exemplo de carga útil de queda de preço
{
"canvas_id": "<your_canvas_id>",
"recipients": [
{
"user_alias": {
"alias_name": "[email protected]",
"alias_label": "wknd_email_id"
},
"context": {
"Origin": "wunderkind",
"DataOnly": "Y",
"UserType": "prospect",
"WkOpen": "https://example.com/product",
"WkPurpose": "price drop",
"WKCouponCode": "",
"WKCouponPurpose": "",
"Items": [
{
"WkCopy": "Product name",
"WkId": "012345",
"WkImageUrl": "https://example.com/image.jpg",
"WkUrl": "https://example.com/product",
"WkPrice": "49.99",
"WKSalePrice": "39.99"
}
]
}
}
]
}
Exemplo de carga útil de estoque baixo
{
"canvas_id": "<your_canvas_id>",
"recipients": [
{
"user_alias": {
"alias_name": "[email protected]",
"alias_label": "wknd_email_id"
},
"context": {
"Origin": "wunderkind",
"DataOnly": "Y",
"UserType": "prospect",
"WkOpen": "https://example.com/product",
"WkPurpose": "low stock",
"WKCouponCode": "",
"WKCouponPurpose": "",
"Items": [
{
"WkCopy": "Product name",
"WkId": "012345",
"WkImageUrl": "https://example.com/image.jpg",
"WkUrl": "https://example.com/product",
"WkQuantity": "1"
}
]
}
}
]
}
Exemplo com identificador de e-mail (alternativo)
Se você disparar o Canvas com o campo email da Braze em vez de user_alias, o destinatário deve incluir apenas email e prioritization (consulte Enviar mensagens do Canvas usando entrega disparada por API). O objeto context é igual aos outros exemplos.
{
"canvas_id": "<your_canvas_id>",
"recipients": [
{
"email": "[email protected]",
"prioritization": ["unidentified", "most_recently_updated"],
"context": {
"Origin": "wunderkind",
"DataOnly": "Y",
"UserType": "prospect",
"WkOpen": "https://example.com/product",
"WkPurpose": "product abandonment",
"WKCouponCode": "",
"WKCouponPurpose": "",
"Items": [
{
"WkCopy": "Product name",
"WkId": "012345",
"WkImageUrl": "https://example.com/image.jpg",
"WkUrl": "https://example.com/product"
}
]
}
}
]
}
Exemplo de uso de Liquid
Quando o Wunderkind chama /canvas/trigger/send, as chaves e valores que você passa no objeto context de cada destinatário se tornam dados de entrada do Canvas. Nas etapas de mensagem, faça referência a eles com o namespace Liquid context. Um exemplo é {{context.${WkPurpose}}}, conforme descrito em Objeto de contexto do Canvas e Mensagem. Nenhuma configuração adicional é necessária além de usar a sintaxe Liquid correta.
Não aninhe tags de saída da Braze dentro da condição da tag for. Atribua o array Items de context a uma variável primeiro e, em seguida, faça o loop, conforme descrito em Usando Liquid. A linha assign usa o formato de entrada do Canvas da Braze {{context.${Items}}} (consulte Tags de personalização suportadas).
{% assign wk_items = {{context.${Items}}} %}
{% for item in wk_items %}
<tr>
<td>
<a href="{{ item.WkUrl }}">
<img src="{{ item.WkImageUrl }}" />
<p>{{ item.WkCopy }}</p>
</a>
</td>
</tr>
{% endfor %}
Relatórios
O Wunderkind ingere dados de desempenho da Braze usando Braze Currents, que transmite eventos brutos para o Google Cloud Storage. Em seguida, o Wunderkind normaliza e agrega esses eventos em relação ao sinal de origem para relatórios de atribuição 1:1.
As seguintes métricas estarão disponíveis em breve no dashboard de relatórios do Wunderkind:
| Métrica | Fonte |
|---|---|
| Envios entregues | Braze Currents |
| Aberturas de e-mail | Braze Currents |
| Cliques | Braze Currents |
| Conversões | Braze Currents (evento definido na configuração) |
| Cancelamentos de inscrição | Braze Currents |
Limitações
- Sem sincronização de supressão/opt-out. A supressão deve ser gerenciada nativamente na Braze. Nota: Para clientes Wunderkind existentes que estão migrando para o Braze Signals, a Wunderkind trabalha com sua equipe para preservar a configuração atual.
- Apenas canal de e-mail. SMS não é suportado atualmente por essa integração.
- O perfil de usuário deve existir antes do disparador do Canvas.
/canvas/trigger/sendcom um destinatáriouser_aliasresolve apenas perfis da Braze existentes que já possuem esse alias. Não é possível usarsend_to_existing_onlycom aliases, e o disparador do Canvas não cria um perfil totalmente novo apenas a partir do alias. O usuário deve ser criado ou atualizado e o aliaswknd_email_iddeve ser definido primeiro (por exemplo, usando/users/trackou/users/identify). A Wunderkind pode aguardar brevemente após esse upsert para que a Braze finalize o processamento antes de disparar o trigger. - E-mail como identificador. Se o disparador do Canvas identifica o destinatário com
emailem vez deuser_alias, incluaprioritizationnesse objeto de destinatário, conforme exigido pela Braze.