Visão geral
Dynamic Content permite que você personalize mensagens em escala—sem criar versões separadas para cada público. Seja enviando mensagens em múltiplos idiomas ou adaptando conteúdo por região ou campanha, Dynamic Content permite que você defina uma mensagem que automaticamente se ajusta para cada usuário. Você faz isso fazendo upload de um arquivo CSV ou programaticamente usando nossas APIs de Template com dados contendo variações de conteúdo e referenciando esses valores em sua mensagem usando Sintaxe Liquid. Quando uma mensagem é enviada, o OneSignal puxa o conteúdo apropriado para cada usuário com base em suas Tags de Dados. Dynamic Content funciona em Push, Email e SMS, tornando-o ideal para:- Fluxos de onboarding ou marketing multi-idioma
- Promoções específicas por região ou segmento
- Personalização impulsionada por dados de campanha externos
- Personalização em escala – Entregue experiências personalizadas sem criar e gerenciar dezenas de variantes de mensagem.
- Suporte multi-idioma – Escreva uma mensagem que automaticamente exibe no idioma preferido de cada usuário.
- Segmentação dinâmica – Altere o conteúdo da mensagem com base em propriedades do usuário como idioma, região, plano, ou tags personalizadas como campaign_id.
- Colaboração sem atritos – Permita que tradutores ou equipes não técnicas criem e editem conteúdo de mensagens diretamente em arquivos CSV—sem necessidade de login no OneSignal.
- Compatibilidade cross-channel – Use a mesma lógica CSV em campanhas de Push, Email e SMS.
- Anúncios de eventos por país ou cidade
- Notificações push personalizadas baseadas em ID de campanha ou histórico de compras
- Testando múltiplos assuntos ou mensagens entre grupos de usuários
Configuração do Dynamic Content
Crie uma nova mensagem ou template. Do dashboard: Selecione Dynamic Content.- Faça upload de um arquivo CSV que mapeia conteúdo de mensagem para Tags de Dados.
dynamic_content.
- Ótima solução se seu conteúdo dinâmico muda frequentemente.

Botão Dynamic Content encontrado no editor de criação de push.
Formate seu conteúdo
Você pode começar com um arquivo em branco ou escolher um dos templates fornecidos:- Multi-idioma
- Personalização de conteúdo

Opções de template CSV fornecidas pelo OneSignal.
Requisitos do CSV
- Tamanho do arquivo deve ser menor que
200 KB - Cabeçalhos de coluna:
- Apenas alfanuméricos
- Use underscores (
_) em vez de espaços - Evite caracteres especiais
- Garanta codificação UTF-8 em seu editor de planilha
- Exemplo Multi-idioma
- Exemplo de Personalização de Conteúdo
subscription.language para diferentes traduções por seção.
Similar a uma fórmula VLOOKUP no Excel, combinamos atributos do usuário com o conteúdo correspondente do CSV.
Referenciar Dynamic Content em mensagens
Para exibir conteúdo personalizado dedynamic_content, use esta sintaxe Liquid.
file_name: Nome do arquivo CSV (sem.csv).section_name: Valor na primeira coluna da linhadata_tag_or_property: Cabeçalho de coluna correspondente a uma Tag de Dados ou propriedade de assinatura
Conteúdo de fallback
Adicionar conteúdo de fallback evitará que usuários recebam conteúdo em branco. Isso garante que sua mensagem seja renderizada quando:- um usuário não tem uma tag ou propriedade correspondente.
- um usuário tem uma tag ou propriedade que não está disponível em
dynamic_content.
Usuário não tem uma tag ou propriedade correspondente
Sesubscription.language não existe, referencie a coluna padrão de dynamic_content em vez disso.
Usuário tem uma tag ou propriedade que não está disponível em dynamic_content
Se subscription.language existe em uma assinatura, mas não em dynamic_content, referencie a coluna padrão em vez disso.
Exemplos
Email multi-idioma
Usetranslations.csv para localizar seu email:
{{dynamic_content.translations.section_1[subscription.language]}}{{dynamic_content.translations.section_2[subscription.language]}}

Exemplo mostra como adicionar a sintaxe liquid para o exemplo multi-idioma.
Mensagem push personalizada
Usecontent_personalization_template.csv para mensagens push específicas do usuário. A tag campaign_id de cada usuário determina qual linha usar.
campaign_id. No momento do envio, OneSignal usa o valor campaign_id do usuário para selecionar a linha correspondente em seu CSV.Formato CSV (linhas identificadas por campaign_id)
-
A primeira coluna (
campaign_id) é a chave da linha que deve corresponder ao valor da tagcampaign_iddo usuário. -
As outras colunas (
title,message,url) são os campos que você inserirá no push. -
Inclua uma linha
defaultpara que valores não marcados ou desconhecidos ainda renderizem conteúdo válido.
Como o Liquid mapeia para o CSV
-
content_personalization_template→ o nome do arquivo CSV (omita.csv). -
[campaign_id]→ seleciona a linha cujo valor da primeira coluna é igual à tagcampaign_iddo usuário. -
.title/.message/.url→ retorna a coluna escolhida daquela linha.
Exemplo de fallback (recomendado)
campaign_id, title). Se você deve usar espaços ou caracteres especiais, acesse com notação hash: 
Exemplo mostra como adicionar a sintaxe liquid para o exemplo de personalização de conteúdo.
Testar e visualizar
Criar um CSV de teste
- Colunas:
email,language
- Colunas:
external_id,campaign_id

Exemplo de CSV para fazer upload e criar segmento de testadores de email.
+ em emails para testar múltiplas variações: username+test@example.com
Exemplo de CSV para fazer upload e criar segmento de testadores com external_id e a tag campaign_id.
Fazer upload de seu segmento de teste

Crie um segmento de seus testadores para repetir conforme necessário.
Visualizar a mensagem
dynamic_content não está renderizando, referencie Conteúdo de fallback
Exemplo mostra o email enviado com Dynamic Content.

Exemplo mostra o push enviado com Dynamic Content.
Considerações de uso
Quando usar Dynamic Content vs. Custom Data
- Use Dynamic Content para idiomas diversos ou blocos de mensagem personalizados.
- Use Custom Data para personalização inline simples em um único idioma.
Editando templates
Faça re-upload de CSVs ou use a propriedadedynamic_content da API Update Template para atualizar.