Segmentos salvos
Os Segmentos salvos permitem construir um filtro nomeado uma vez e reaplicá-lo em Globo, Páginas, Fontes, Journeys, Usuários e Funis com um clique. Eles vão além dos filtros normais em três aspectos:
- São persistentes. Um filtro comum vive apenas na URL e some quando você fecha a aba. Um segmento vive no workspace do seu time.
- Suportam lógica OR. Filtros comuns unem todas as condições por AND. Segmentos suportam até 3 grupos AND unidos por OR — por ex. (usuários pagantes da Alemanha) OR (visitantes que rolaram além de 75 % em /pricing).
- Liberam dimensões de coorte que filtros comuns não expõem: tipo de usuário (anônimo / identificado / pagante), profundidade de scroll, contagem de sessões, contagem de páginas, status de conversão, traços customizados e a pontuação IA do visitante.
Os segmentos estão vinculados a um único site e são visíveis para todos os membros ativos do time desse site. Eles nunca são expostos em dashboards públicos — visitantes com share-token só veem as métricas, não a definição do segmento.
Construindo um segmento
Abra o ícone Filtro (funil) no cabeçalho do dashboard. No fim desse dropdown, a seção Segmentos salvos lista todos os segmentos deste site. Clique em qualquer linha para carregá-lo instantaneamente. Clique em + Novo segmento para abrir o builder.
O builder é uma lista vertical de grupos. Dentro de cada grupo, as condições são unidas por AND. Entre grupos, unidas por OR.
[ Grupo 1: country is "Germany" AND user_type is "paying" ]
OR
[ Grupo 2: scroll_depth_max ≥ 75 AND page is "/pricing" ]
Limites da V1:
| Limite | Valor |
|---|---|
| Grupos AND | 3 |
| Condições por grupo | 5 |
| Segmentos salvos / site | 50 |
| Aninhamento | Não suportado |
Após salvar, o segmento aparece no dropdown e é aplicado automaticamente. Um chip azul no cabeçalho do dashboard mostra o nome do segmento ativo; clique no (×) para limpar.
Gerenciando segmentos existentes
Passe o mouse sobre uma linha na lista Segmentos salvos:
- Lápis ✏️ abre o segmento no builder, já preenchido, para ajustar condições ou renomear sem recriar do zero.
- Lixeira 🗑 exclui imediatamente. Uma confirmação verde aparece na parte inferior da tela.
Clicar em um segmento salvo o carrega em todos os gráficos e painéis do dashboard. O período ativo (ex. Últimos 7 dias) permanece ativo — o segmento define quem, o período define quando.
Por que as contagens no builder correspondem ao que você vê
Cada opção nos dropdowns de dimensão mostra uma contagem (ex. Brasil · 8). Essa contagem reflete o período atual do dashboard, e não uma janela fixa de 30 dias. Se você estiver vendo Últimos 7 dias, a contagem é a de 7 dias. Aplicar o segmento produzirá números alinhados com os mostrados ao lado de cada opção.
Uma armadilha comum — AND dentro de um grupo ≠ OR
Se você adicionar country is Italy e country is Australia ao mesmo grupo, construiu country IS Italy AND country IS Australia — que combina com zero visitantes, porque ninguém é italiano e australiano ao mesmo tempo. Para combinar com qualquer um, coloque cada país em seu próprio grupo OR. O builder mostra um aviso âmbar quando detecta esse padrão.
Dimensões
Os segmentos salvos expõem todas as dimensões dos filtros normais, mais 11 novas:
URL e fonte (existentes)
hostname, page, entry_page, country, region, city, channel, referrer, campaign
UTM (novo em P1-1)
utm_source, utm_medium, utm_content, utm_term
Sistema (existentes)
browser, os, device
Engajamento (novo em P1-1)
| Dimensão | Descrição | Operadores |
|---|---|---|
scroll_depth_max | Profundidade máxima de scroll em uma página (0–100) | gt gte lt lte is is_not |
sessions_count | Número total de sessões distintas do visitante | gt gte lt lte is is_not |
pages_count | Total de páginas vistas pelo visitante nos últimos 90 dias | gt gte lt lte is is_not |
has_converted | Se o visitante disparou um evento de conversão ou tem receita >0 | is_true is_false |
ai_score | Pontuação de valor do visitante (0–100) — baseada em visitors.value_score | gt gte lt lte is is_not |
Identidade (novo em P1-1)
| Dimensão | Descrição | Valores |
|---|---|---|
user_type | Derivado da lógica do badge de identidade: pagante / identificado / anônimo | paying identified anon |
Um visitante é pagante se tiver um customer ID em algum provedor de pagamento (Stripe / Lemon Squeezy / Polar / PayPal), total_revenue > 0, ou subscription_status ativo. É identificado se tiver email ou customer_id enviado via zenovay.identify(...). Caso contrário é anônimo.
Traços customizados (novo em P1-1)
| Dimensão | Descrição |
|---|---|
custom_prop:<key> | Combina com qualquer chave de nível superior de identified_users.custom_attributes enviada via zenovay.identify(...). O dropdown sugere chaves observadas nos últimos 30 dias. |
zenovay('identify', {
customer_id: 'cust_42',
email: '[email protected]',
// Traços — chaves de nível superior consultáveis via custom_prop:<key>
custom_attributes: {
plan: 'enterprise',
industry: 'fintech',
seats: 25,
},
});No builder, o dropdown de dimensão oferecerá Trait: plan, Trait: industry, Trait: seats sob a seção CUSTOM TRAITS.
Operadores
| Operador | Tipo | Notas |
|---|---|---|
is, is_not | Todos | Correspondência exata (sensível a maiúsculas). |
contains, does_not_contain | Texto | Busca por substring ILIKE. |
gt, gte, lt, lte | Numérico | Para scroll_depth_max, sessions_count, pages_count, ai_score. |
in, not_in | Conjunto | Lista separada por vírgulas (para user_type). |
is_true, is_false | Booleano | Para has_converted. |
Exemplos
Usuários pagantes da Alemanha que saltaram em /pricing
Três condições, um grupo:
Grupo 1 (AND):
user_type is paying
country is DE
page is /pricing
Usuários engajados OR convertidos
Dois grupos, unidos por OR:
Grupo 1 (AND):
scroll_depth_max gte 75
sessions_count gte 3
OR
Grupo 2 (AND):
has_converted is_true
Traço plano Enterprise + Chrome no macOS
Grupo 1 (AND):
custom_prop:plan is enterprise
browser is Chrome
os is macOS
Dashboards públicos
Segmentos salvos nunca são aplicados via autenticação share-token. A visualização pública respeita filtros URL normais mas ignora ?segment_id= e ?segment_def= por design — a audiência de um link compartilhado não deveria ver as coortes nomeadas do seu time.
Se precisar compartilhar uma visualização composta publicamente:
- Aplique o segmento em privado.
- Recrie as mesmas condições como filtros simples em uma URL pública.
- Compartilhe a URL resultante.
Permissões
| Ação | Papel necessário |
|---|---|
| Ver segmentos | Qualquer membro ativo |
| Criar / editar | Owner, Admin, Editor |
| Excluir | Owner, Admin, Editor |
Viewers podem aplicar segmentos existentes mas não criar nem modificar.
Performance e limites
- Quantidade de segmentos por site limitada a 50 para evitar crescimento descontrolado. O mesmo limite vale em todos os planos; segmentos não são paywall.
- Modelo de resolução: ao carregar, cada grupo AND é resolvido no servidor numa lista de visitor IDs correspondentes, e as listas são unidas entre grupos. Limite de 50.000 visitor IDs por grupo — suficiente para quase todos os casos.
- Dimensões agregadas (
sessions_count,pages_count) executadas via funções Postgres SECURITY DEFINER (segment_visitors_by_session_count,segment_visitors_by_page_count). Consultas pages_count cobrem os últimos 90 dias. - Traços customizados: lookup por chave JSONB em
identified_users.custom_attributes. Apenas chaves de nível superior — caminhos aninhados não suportados na V1.
Relacionado
- Visão geral do dashboard — como filtros e segmentos compõem com o intervalo de datas.
- Identificação de visitantes — como enviar
zenovay.identify(...)para queuser_typee traços customizados sejam preenchidos. - Pontuação de valor do visitante — como o
ai_scoreé calculado.