Skip to content

Localização

A Braze coleta automaticamente informações de localidade dos dispositivos dos usuários após a integração do SDK. O local contém o idioma e um identificador de região. Esta informação está disponível na ferramenta de segmentação da Braze em País e Idioma.

Visite os seguintes recursos iOS e Android/FireOS para obter detalhes técnicos sobre como o local é recebido com base na sua plataforma.

Para empresas com clientes em muitos países, lidar com a localização no início da sua jornada com a Braze pode economizar tempo e recursos para suas empresas. O artigo a seguir lista os benefícios de diferentes abordagens de orquestração em campanhas e canvas e também lista diferentes maneiras que os usuários podem lidar com a personalização em seu envio de mensagens.

Orquestração

Campanha interrompida

Na abordagem “um modelo para todos”, a localização é aplicada a um único modelo na Braze usando o Liquid. Após o envio, o dashboard fornece análise de dados agregada da campanha. O engajamento no nível do usuário pode ser medido usando funis de segmento personalizados, por exemplo, combinando os filtros País e Campanha Recebida.

A abordagem “um modelo por país” separa a modelagem em diferentes locais de envio. Após o envio, o dashboard relata a análise de dados com base em cada país separadamente, e quaisquer eventos de nível de usuário Currents downstream também estarão vinculados a uma campanha específica.

  • Os modelos se beneficiam da implementação de tags para fins de manutenção e rastreamento.
  • As campanhas podem herdar as configurações do mesmo Braze modelo e Blocos de Conteúdo (como modelos de e-mail que contêm Liquid).
  • Campanhas e modelos pré-existentes podem ser duplicados para permitir um tempo mais rápido para obter valor.

Canva

Na abordagem “uma jornada para todos”, a localização é tratada dentro de Canva Journeys e Liquid para definir o envio de mensagens para cada usuário.

Depois que um canva é enviado, o dashboard fornece análise de dados do canva agregada, enquanto o engajamento ao nível do usuário pode ser medido através de funis de segmento personalizados, como a combinação de país e filtros de etapa do canva recebida.

Na abordagem “uma jornada por país”, o canva journey builder oferece a flexibilidade de criar jornadas de usuário através de múltiplos componentes de canva. Esses componentes podem ser duplicados no nível do componente e da jornada geral.

A localização pode ser alcançada através dos seguintes métodos:

  • Separe canvas por país, isso garante que as jornadas complexas do usuário sejam definidas no topo do funil usando filtros de público
  • Jornadas de usuário sob medida por país, a implementação de caminhos do público para segmentar intuitivamente os usuários em grande escala para cada jornada, criando threads de mensagens separadas para cada país em um único canva

Uma vez enviado, o dashboard fornece análise de dados dinâmica por país e dentro de eventos Currents no nível do usuário com base na localização atual do cliente.

Personalização

Opção 1: Entrada manual

A entrada manual exige que você cole manualmente seu conteúdo no corpo da sua mensagem e use Liquid para condicionalmente exibir o idioma correto para o destinatário.

1
2
3
4
5
6
7
8
9
{% if ${language} == 'en' %}
This is a message in English from Braze!
{% elsif ${language} == 'es' %}
Este es un mensaje en español de Braze !
{% elsif ${language} == 'zh' %}
这是一条来自Braze的中文消息。
{% else %}
This is a message from Braze! This will go to anyone who does not match the other specified languages!
{% endif %}

Isso pode ser feito usando o formato acima ou pelo dashboard da Braze:

  1. Ao compor sua mensagem, selecione o botão Idioma para gerar lógica condicional Liquid para cada idioma que você selecionar.
  2. Depois de inserir seu texto modelado em sua mensagem, digite variações diferentes para cada idioma. Para cada campo com modelo, você deve inserir as variações após o segmento entre colchetes do modelo. A variação deve corresponder ao código de idioma referenciado entre colchetes antes dele.
  3. Teste sua mensagem antes de enviá-la inserindo o ID de um usuário ou e-mail para verificar como uma mensagem apareceria para um indivíduo dependendo de seu idioma.

Opção 2: Blocos de conteúdo

Braze Blocos de Conteúdo são blocos de conteúdo reutilizáveis. Quando um bloco é alterado, todas as referências a esse bloco são alteradas. Por exemplo, atualizações em um cabeçalho ou rodapé de e-mail serão refletidas em todos os e-mails ou para abrigar traduções. Esses blocos também podem ser criados e atualizados usando a API REST, e os usuários podem fazer upload de traduções programaticamente.

Ao criar uma campanha no dashboard, os Blocos de Conteúdo podem ser referenciados usando a tag {{content_blocks.${name_of_content_block}}}. Esses blocos podem conter todas as traduções dentro da lógica condicional para cada idioma, como mostrado na opção 1, ou um bloco separado para cada idioma pode ser usado.

Os blocos de conteúdo também podem ser utilizados como um processo de gerenciamento de tradução, onde o conteúdo que requer tradução é armazenado dentro de um bloco de conteúdo, buscado, traduzido e, em seguida, atualizado:

  1. Crie manualmente um bloco de conteúdo no dashboard com a tag “Necessita tradução”.
  2. Seu serviço realiza uma busca noturna de todos os Blocos de Conteúdo usando o /content_blocks/list endpoint.
  3. Seu serviço busca detalhes em cada bloco de conteúdo através do /content_blocks/info endpoint para ver quais blocos estão marcados para tradução.
  4. Seu serviço de tradução traduz o corpo de todos os Blocos de Conteúdo “Necessita tradução”.
  5. Seu serviço atinge o /content_block/update endpoint para atualizar o conteúdo traduzido e atualizar a tag para “Tradução Completa”.

Opção 3: Catálogos

Catálogos permitem acessar dados de objetos JSON importados via API e arquivos CSV para enriquecer suas mensagens, semelhante a atributos personalizados ou propriedades de eventos personalizados através do Liquid. Por exemplo:

Crie um catálogo através da seguinte chamada de API:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
curl --location --request POST 'https://your_api_endpoint/catalogs' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
 "catalogs": [
   {
     "name": "translations",
     "description": "My localization samples",
     "fields": [
       {
         "name": "id",
         "type": "string"
       },
       {
         "name": "context",
         "type": "string"
       },
       {
         "name": "language",
         "type": "string"
       },
       {
         "name": "body",
         "type": "string"
       }
     ]
   }
 ]
}'

Adicione itens através da seguinte chamada de API:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
curl --location --request POST 'https://your_api_endpoint/catalogs/translations/items' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
 "items": [
   {
     "id": "1",
     "context": "1",
     "language": "en",
     "body": "Hey"
   },
   {
     "id": "2",
     "context": "1",
     "language": "es",
     "body": "Hola"
   },
   {
     "id": "3",
     "context": "1",
     "language": "pt",
     "body": "Oi"
   },
   {
     "id": "4",
     "context": "1",
     "language": "de",
     "body": "Hallo"
   }
 ]
}'

Crie um CSV no seguinte formato:

id contexto language corpo
1 1 en Olá
2 1 es Olá
3 1 pt Oi
4 1 de Olá
5 2 en Olá
6 2 es Olá
7 2 pt Oi
8 2 de Olá
9 3 en Olá
10 3 es Olá
11 3 pt Oi
12 3 de Olá

Esses itens de catálogo podem ser referenciados usando personalização, mostrado abaixo, ou seleções que permitem criar grupos de dados.

1
2
3
4
{% catalog_items translations 1 %}
{{items[0].body}} 

//returns “Hey”

Opção 4: Adicionar um local

Adicione e use locales no seu envio de mensagens para atingir usuários em diferentes idiomas, tudo dentro de uma única campanha de e-mail ou canva.

Opção 5: Parceiros de localização

Muitos parceiros da Braze oferecem soluções de localização, incluindo Transifex e Crowdin. Normalmente, os usuários usam a plataforma junto com uma equipe interna e uma agência de tradução. Essas traduções são então carregadas lá e são então acessíveis via API REST. Esses serviços também costumam aproveitar Conteúdo Conectado, permitindo que os usuários obtenham as traduções via API.

Por exemplo, as seguintes chamadas de Conteúdo Conectado chamam Transifex e Crowdin para buscar uma tradução, aproveitando {{${language}}} para identificar a tradução correta para um determinado usuário. Esta tradução é então salva no bloco JSON “strings” e referenciada.

1
2
{% connected_content https://www.transifex.com/api/2/project/example/resource/example/translation/{{${language}}}/strings :basic_auth semc :save strings %}
{{strings[0].translation}}
1
2
{% connected_content https://api.crowdin.com/api/project/braze-test/export-file?key=you_api_key&language={{${language}}}&file=test.json&export_translated_only=1 :save response %}
{{response.value_1}}

Opção 6: Traduções em uma planilha pública do Google

Outra opção de tradução inclui armazenar traduções no Google Sheets; muitas vezes, isso pode ser tratado em parceria com uma agência de tradução. Traduções armazenadas aqui podem ser consultadas usando o Conteúdo Conectado. A tradução relevante para um usuário com base em seu idioma será então inserida no corpo da campanha no momento do envio.

Opção 7: Planilha do Google em uma API JSON via SheetDB

Esta opção fornece um método alternativo de transformar Google Sheets em objetos JSON consultados via Connected Content. Ao transformar uma planilha em uma API JSON via SheetDB, você pode escolher entre vários níveis de inscrição dependendo da cadência das chamadas da API.

A estrutura da planilha segue as etapas da opção 4, mas o SheetDB também fornece filtros adicionais para consulta dos objetos.

Alguns usuários podem preferir implementar o SheetDB com menos dependências de Liquid e Connected Block, implementando o método de busca do SheetDB em chamadas de solicitação GET para filtrar os objetos JSON com base no {{${language}}} Liquid tag para retornar automaticamente os resultados para um único idioma, em vez de construir grandes blocos condicionais.

Etapa 1: Formate a planilha do Google

Primeiro, construa a planilha do Google para que os idiomas sejam objetos diferentes:

linguagem título1 corpo1 título2 corpo2
Ei 1 Ei2 5  
es Olá 2 Olá2 6
pt Oi 3 Oi2 7
de Olá 4 Hallo2 8

Etapa 2: Use a linguagem Liquid tag em uma chamada de Conteúdo Conectado

Em seguida, implemente a {{${language}}} Liquid tag dentro de uma chamada de Conteúdo Conectado. Observe que o SheetDB gerará automaticamente o sheet_id ao criar a planilha.

1
{% connected_content https://sheetdb.io/api/v1/[sheet_id]/search?language={{${language}}} :save result%}

Etapa 3: Modele suas mensagens

Por fim, use Liquid para modelar suas mensagens:

1
2
{{result[0].title1}} //returns “Hey”
{{result[0].title2}} //returns “Hey2”
Considerações
  • O campo {{${language}}} deve ser definido para todos os usuários; caso contrário, um bloco condicional Liquid deve ser apresentado como um manipulador de fallback para usuários sem um idioma.
  • A modelagem de dados no Google Sheets deve seguir uma vertical orientada por linguagem diferente, em vez de ter objetos de mensagem.
  • SheetDB oferece uma conta gratuita limitada e várias opções pagas que devem ser consideradas com base na sua estratégia de campanha.
  • Chamadas de Conteúdo Conectado podem ser armazenadas em cache. Recomendamos medir a cadência projetada das chamadas da API e investigar uma abordagem alternativa de chamar o endpoint principal do SheetDB em vez de usar o método de busca.
QUÃO ÚTIL FOI ESTA PÁGINA?
New Stuff!