Atributos do perfil de usuário
Esta página é uma referência para as visualizações de atributos padrão e personalizados no Snowflake. Há três visualizações para atributos padrão e três para atributos personalizados. Cada uma foi projetada para um caso de uso específico, com suas próprias considerações de desempenho.
Paridade de dados com o dashboard
Em raras circunstâncias, os valores de atributos padrão e personalizados nas visualizações do Snowflake desta página podem não corresponder ao que você vê no perfil de um usuário no dashboard da Braze.
Por exemplo, um atributo pode aparecer como NULL no Snowflake enquanto o dashboard mostra um valor para esse usuário.
Se você encontrar divergências generalizadas, entre em contato com seu gerente de sucesso do cliente ou com o suporte da Braze.
Disponibilidade do ID externo do usuário

Não presuma que o EXTERNAL_USER_ID está presente em todos os registros de perfil de usuário. A disponibilidade depende da configuração específica do espaço de trabalho e de como os perfis de usuário são atualizados. Esse campo pode ser NULL para muitos perfis, principalmente quando um espaço de trabalho não tem determinados Feature Flags ativados. Ao consultar dados de usuários, considere a possibilidade de o EXTERNAL_USER_ID ser nulo e trate valores nulos de forma adequada nas suas consultas de SQL. Por exemplo, use LEFT JOIN em vez de INNER JOIN ou filtre com IS NOT NULL quando o ID externo for obrigatório.
Visualizações disponíveis
| Tipo | Visualização | Descrição |
|---|---|---|
| Atributo padrão | USER_DEFAULT_ATTRIBUTES_VIEW_SHARED |
Snapshots de perfis de usuário |
USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHARED |
Perfis de usuário em tempo real | |
USER_DEFAULT_ATTRIBUTES_HISTORY_VIEW_SHARED |
Registros históricos de alterações | |
| Atributo personalizado | USER_CUSTOM_ATTRIBUTES_VIEW_SHARED |
Snapshots de perfis de usuário |
USER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED |
Perfis de usuário em tempo real | |
USER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED |
Registros históricos de alterações |
Snapshots de perfil de usuário
Essas visualizações fornecem snapshots periódicos dos atributos do perfil de usuário. Os dados têm um atraso de até 12 horas, o que as torna úteis para consultas que não exigem atualizações em tempo real.
USER_DEFAULT_ATTRIBUTES_VIEW_SHAREDUSER_CUSTOM_ATTRIBUTES_VIEW_SHARED
Uso
- Fornece um snapshot dos atributos de usuário com um atraso de até 12 horas.
- Tem bom desempenho em consultas que não exigem precisão em tempo real.
- Execução de consultas mais rápida, principalmente ao filtrar por atributos diferentes de
USER_ID. - Limitação: Os dados não são atualizados em tempo real.

Understanding date fields:
TIMEandTIME_MS: Represent the time the user profile update occurred in Braze (in seconds and milliseconds, respectively). For backfilled data, these values are the time of the backfill.SF_UPDATED_AT: Represents the time the data was last persisted in Snowflake. This field is most useful for determining data freshness—the time the row was most recently synced to your data warehouse.
Esquema de USER_DEFAULT_ATTRIBUTES_VIEW_SHARED
| Nome da coluna | Tipo de dados | Descrição |
|---|---|---|
APP_GROUP_ID |
VARCHAR | O identificador do seu espaço de trabalho na Braze |
APP_ID |
VARCHAR | O app específico dentro do seu espaço de trabalho |
USER_ID |
VARCHAR | O identificador exclusivo do usuário na Braze |
TIME |
NUMBER | Data e hora Unix (segundos) da atualização do perfil |
TIME_MS |
NUMBER | Data e hora Unix (milissegundos) da atualização do perfil |
UPDATE_SOURCE |
VARCHAR | A origem da atualização do atributo (API, SDK, dashboard etc.) |
SF_UPDATED_AT |
TIMESTAMP_NTZ | Quando os dados foram atualizados pela última vez no Snowflake |
EXTERNAL_USER_ID |
VARCHAR | Seu próprio identificador de usuário (se definido). Pode ser NULL para muitos perfis, dependendo da configuração do espaço de trabalho. |
FIRST_NAME |
VARCHAR | Nome do usuário |
LAST_NAME |
VARCHAR | Sobrenome do usuário |
EMAIL_ADDRESS |
VARCHAR | Endereço de e-mail do usuário |
GENDER |
VARCHAR | Gênero do usuário |
PHONE_NUMBER |
VARCHAR | Número de telefone do usuário |
DOB |
VARCHAR | Data de nascimento do usuário |
TIME_ZONE |
VARCHAR | Fuso horário do usuário |
HOME_CITY |
VARCHAR | Cidade de residência do usuário |
COUNTRY |
VARCHAR | País do usuário |
LANGUAGE |
VARCHAR | Preferência de idioma do usuário |
ARCHIVED |
BOOLEAN | Se o perfil de usuário está arquivado |

The ARCHIVED field has been populated in Snowflake since May 1, 2026. Users archived before that date don’t have the flag set, so ARCHIVED is NULL for those profiles. No backfill is available for earlier archives. Segment Extensions and queries that filter on ARCHIVED don’t include those users in archived-status results.
Esquema de USER_CUSTOM_ATTRIBUTES_VIEW_SHARED
| Nome da coluna | Tipo de dados | Descrição |
|---|---|---|
APP_GROUP_ID |
VARCHAR | O identificador do seu espaço de trabalho na Braze |
APP_ID |
VARCHAR | O app específico dentro do seu espaço de trabalho |
USER_ID |
VARCHAR | O identificador exclusivo do usuário na Braze |
EXTERNAL_USER_ID |
VARCHAR | Seu próprio identificador de usuário (se definido). Pode ser NULL para muitos perfis, dependendo da configuração do espaço de trabalho. |
TIME |
NUMBER | Data e hora Unix (segundos) da atualização do perfil |
TIME_MS |
NUMBER | Data e hora Unix (milissegundos) da atualização do perfil |
UPDATE_SOURCE |
VARCHAR | A origem da atualização do atributo (API, SDK, dashboard etc.) |
SF_UPDATED_AT |
TIMESTAMP_NTZ | Quando os dados foram atualizados pela última vez no Snowflake |
CUSTOM_ATTRIBUTES |
VARIANT | Objeto JSON com todos os atributos personalizados (pares de chave-valor) |
ARCHIVED |
BOOLEAN | Se o perfil de usuário está arquivado |

The ARCHIVED field has been populated in Snowflake since May 1, 2026. Users archived before that date don’t have the flag set, so ARCHIVED is NULL for those profiles. No backfill is available for earlier archives. Segment Extensions and queries that filter on ARCHIVED don’t include those users in archived-status results.
Trabalhando com CUSTOM_ATTRIBUTES
A coluna CUSTOM_ATTRIBUTES armazena todos os seus atributos personalizados como um objeto JSON. Você pode acessar atributos individuais usando as funções JSON do Snowflake.
Exemplo: Consultar atributos personalizados específicos
-- Get users with a specific loyalty tier
SELECT
USER_ID,
EXTERNAL_USER_ID,
CUSTOM_ATTRIBUTES:loyalty_tier::STRING as loyalty_tier,
CUSTOM_ATTRIBUTES:points::NUMBER as points
FROM USER_CUSTOM_ATTRIBUTES_VIEW_SHARED
WHERE CUSTOM_ATTRIBUTES:loyalty_tier::STRING = 'gold';
-- Get users who made a purchase above a certain amount
SELECT
USER_ID,
CUSTOM_ATTRIBUTES:last_purchase_amount::NUMBER as last_purchase_amount
FROM USER_CUSTOM_ATTRIBUTES_VIEW_SHARED
WHERE CUSTOM_ATTRIBUTES:last_purchase_amount::NUMBER > 100;
Exemplo: Analisar dados de atributos personalizados
-- Count users by subscription status
SELECT
CUSTOM_ATTRIBUTES:subscription_status::STRING as subscription_status,
COUNT(*) as user_count
FROM USER_CUSTOM_ATTRIBUTES_VIEW_SHARED
GROUP BY CUSTOM_ATTRIBUTES:subscription_status::STRING;
-- Find average order value by customer segment
SELECT
CUSTOM_ATTRIBUTES:customer_segment::STRING as segment,
AVG(CUSTOM_ATTRIBUTES:lifetime_value::NUMBER) as avg_lifetime_value
FROM USER_CUSTOM_ATTRIBUTES_VIEW_SHARED
WHERE CUSTOM_ATTRIBUTES:customer_segment IS NOT NULL
GROUP BY CUSTOM_ATTRIBUTES:customer_segment::STRING;
Visualizações de perfil de usuário em tempo real
Essas visualizações fornecem atualizações quase em tempo real dos atributos do perfil de usuário, com um atraso de até 10 minutos após uma atualização ocorrer na Braze.
USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHAREDUSER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED
Uso
- Fornece atributos de usuário atualizados com atraso mínimo (cerca de 10 minutos).
- É útil para análises em tempo real e cenários em que dados recentes são necessários.
- Considerações de performance:
- Consultas sobre usuários individuais são mais rápidas (menos de um minuto usando um warehouse grande).
- Consultas sem filtros de USER_ID exigem agregação entre todos os usuários. Por isso, o tempo de execução é bem mais longo.
- Consultas em um conjunto de dados grande (como mais de 100 milhões de usuários) podem levar vários minutos.

Understanding date fields:
TIMEandTIME_MS: Represent the time the user profile update occurred in Braze (in seconds and milliseconds, respectively). For backfilled data, these values are the time of the backfill.SF_UPDATED_AT: Represents the time the data was last persisted in Snowflake. This field is most useful for determining data freshness—the time the row was most recently synced to your data warehouse.
Esquema de USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHARED
| Nome da coluna | Tipo de dados | Descrição |
|---|---|---|
APP_GROUP_ID |
VARCHAR | O identificador do seu espaço de trabalho na Braze |
APP_ID |
VARCHAR | O app específico dentro do seu espaço de trabalho |
USER_ID |
VARCHAR | O identificador único do usuário na Braze |
TIME |
NUMBER | Data e hora Unix (segundos) da atualização do perfil |
TIME_MS |
NUMBER | Data e hora Unix (milissegundos) da atualização do perfil |
UPDATE_SOURCE |
VARCHAR | A origem da atualização do atributo (API, SDK, dashboard etc.) |
ARCHIVED |
BOOLEAN | Se o perfil de usuário está arquivado |
SF_UPDATED_AT |
TIMESTAMP_LTZ | Quando os dados foram atualizados pela última vez no Snowflake |
EXTERNAL_USER_ID |
VARCHAR | Seu próprio identificador de usuário (se definido). Pode ser NULL em muitos perfis, dependendo da configuração do espaço de trabalho. |
FIRST_NAME |
VARCHAR | Nome do usuário |
LAST_NAME |
VARCHAR | Sobrenome do usuário |
EMAIL_ADDRESS |
VARCHAR | Endereço de e-mail do usuário |
GENDER |
VARCHAR | Gênero do usuário |
PHONE_NUMBER |
VARCHAR | Número de telefone do usuário |
DOB |
VARCHAR | Data de nascimento do usuário |
HOME_CITY |
VARCHAR | Cidade de residência do usuário |
COUNTRY |
VARCHAR | País do usuário |
LANGUAGE |
VARCHAR | Preferência de idioma do usuário |
TIME_ZONE |
VARCHAR | Fuso horário do usuário |

The ARCHIVED field has been populated in Snowflake since May 1, 2026. Users archived before that date don’t have the flag set, so ARCHIVED is NULL for those profiles. No backfill is available for earlier archives. Segment Extensions and queries that filter on ARCHIVED don’t include those users in archived-status results.
Esquema de USER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED
| Column name | Data type | Description |
|---|---|---|
APP_GROUP_ID |
VARCHAR | Your Braze workspace identifier |
USER_ID |
VARCHAR | The unique Braze user identifier |
EXTERNAL_USER_ID |
VARCHAR | Your own user identifier (if set) |
TIME |
NUMBER | Unix timestamp (seconds) of the profile update |
TIME_MS |
NUMBER | Unix timestamp (milliseconds) of the profile update |
UPDATE_SOURCE |
VARCHAR | The source of the attribute update (API, SDK, dashboard, etc.) |
ARCHIVED |
BOOLEAN | Whether the user profile is archived |
SF_UPDATED_AT |
TIMESTAMP_NTZ | When the data was last updated in Snowflake |
APP_ID |
VARCHAR | The specific app within your workspace |
CUSTOM_ATTRIBUTES |
OBJECT | JSON object containing all custom attributes (key-value pairs) |
Note:
This view uses OBJECT type for CUSTOM_ATTRIBUTES instead of VARIANT. Use the same JSON accessor syntax (:attribute_name::TYPE) to query individual attributes.
Logs históricos de alterações
Essas visualizações armazenam logs históricos de alterações dos atributos de usuário, registrando as mudanças com granularidade de 12 horas.
USER_DEFAULT_ATTRIBUTES_HISTORY_VIEW_SHAREDUSER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED
Uso
- Fornece um registro das alterações históricas nos atributos de usuário para um período contínuo de 6 meses.
- Os dados são capturados em snapshots a cada 12 horas. Então, várias atualizações dentro dessa janela são combinadas em um único registro. As alterações individuais dentro desse período não são mantidas separadamente.
EFF_DTeEND_DTmarcam o início e o fim de um estado de atributo do usuário.

Understanding date fields:
TIMEandTIME_MS: Represent the time the user profile update occurred in Braze (in seconds and milliseconds, respectively). For backfilled data, these values are the time of the backfill.SF_UPDATED_AT: Represents the time the data was last persisted in Snowflake. This field is most useful for determining data freshness—the time the row was most recently synced to your data warehouse.
Esquema de USER_DEFAULT_ATTRIBUTES_HISTORY_VIEW_SHARED
| Nome da coluna | Tipo de dados | Descrição |
|---|---|---|
APP_GROUP_ID |
VARCHAR | O identificador do seu espaço de trabalho na Braze |
USER_ID |
VARCHAR | O identificador único do usuário na Braze |
APP_ID |
VARCHAR | O app específico dentro do seu espaço de trabalho |
TIME |
NUMBER | Carimbo de data/hora Unix (segundos) da atualização do perfil |
TIME_MS |
NUMBER | Carimbo de data/hora Unix (milissegundos) da atualização do perfil |
UPDATE_SOURCE |
VARCHAR | A origem da atualização do atributo (API, SDK, dashboard etc.) |
SF_UPDATED_AT |
TIMESTAMP_NTZ | Quando os dados foram atualizados pela última vez no Snowflake |
EXTERNAL_USER_ID |
VARCHAR | Seu próprio identificador de usuário (se definido). Pode ser NULL para muitos perfis, dependendo da configuração do espaço de trabalho. |
FIRST_NAME |
VARCHAR | Nome do usuário |
LAST_NAME |
VARCHAR | Sobrenome do usuário |
EMAIL_ADDRESS |
VARCHAR | Endereço de e-mail do usuário |
GENDER |
VARCHAR | Gênero do usuário |
PHONE_NUMBER |
VARCHAR | Número de telefone do usuário |
DOB |
VARCHAR | Data de nascimento do usuário |
TIME_ZONE |
VARCHAR | Fuso horário do usuário |
HOME_CITY |
VARCHAR | Cidade de residência do usuário |
COUNTRY |
VARCHAR | País do usuário |
LANGUAGE |
VARCHAR | Preferência de idioma do usuário |
EFF_DT |
TIMESTAMP_NTZ | Data de vigência: quando esse estado do atributo começou |
END_DT |
TIMESTAMP_NTZ | Data de término: quando esse estado do atributo terminou (NULL para o estado atual) |
Esquema de USER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED
| Column name | Data type | Description |
|---|---|---|
APP_GROUP_ID |
VARCHAR | Your Braze workspace identifier |
USER_ID |
VARCHAR | The unique Braze user identifier |
APP_ID |
VARCHAR | The specific app within your workspace |
EXTERNAL_USER_ID |
VARCHAR | Your own user identifier (if set) |
TIME |
NUMBER | Unix timestamp (seconds) of the profile update |
TIME_MS |
NUMBER | Unix timestamp (milliseconds) of the profile update |
UPDATE_SOURCE |
VARCHAR | The source of the attribute update (API, SDK, dashboard, etc.) |
SF_UPDATED_AT |
TIMESTAMP_NTZ | When the data was last updated in Snowflake |
CUSTOM_ATTRIBUTES |
VARIANT | JSON object containing all custom attributes (key-value pairs) |
ARCHIVED |
BOOLEAN | Whether the user profile is archived |
EFF_DT |
TIMESTAMP_NTZ | Effective date: when this attribute state began |
END_DT |
TIMESTAMP_NTZ | End date: when this attribute state ended (NULL for current state) |
Casos de uso comuns
Criando segmentos de usuários
-- Find active users in a specific city who haven't received an email recently
SELECT
d.EXTERNAL_USER_ID,
d.EMAIL_ADDRESS,
d.HOME_CITY,
c.CUSTOM_ATTRIBUTES:last_email_sent::TIMESTAMP as last_email_sent
FROM USER_DEFAULT_ATTRIBUTES_VIEW_SHARED d
JOIN USER_CUSTOM_ATTRIBUTES_VIEW_SHARED c
ON d.USER_ID = c.USER_ID
WHERE d.HOME_CITY = 'New York'
AND d.EMAIL_ADDRESS IS NOT NULL
AND (c.CUSTOM_ATTRIBUTES:last_email_sent::TIMESTAMP < DATEADD(day, -30, CURRENT_TIMESTAMP())
OR c.CUSTOM_ATTRIBUTES:last_email_sent IS NULL);
Analisando o comportamento do usuário ao longo do tempo
-- Track how a user's loyalty tier changed over the past 6 months
SELECT
USER_ID,
CUSTOM_ATTRIBUTES:loyalty_tier::STRING as loyalty_tier,
EFF_DT,
END_DT
FROM USER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED
WHERE USER_ID = 'user_123'
AND EFF_DT >= DATEADD(month, -6, CURRENT_TIMESTAMP())
ORDER BY EFF_DT DESC;
Combinando atributos padrão e personalizados
-- Get a complete user profile with both default and custom attributes
SELECT
d.EXTERNAL_USER_ID,
d.FIRST_NAME,
d.LAST_NAME,
d.EMAIL_ADDRESS,
d.COUNTRY,
c.CUSTOM_ATTRIBUTES:subscription_status::STRING as subscription_status,
c.CUSTOM_ATTRIBUTES:lifetime_value::NUMBER as lifetime_value,
c.CUSTOM_ATTRIBUTES:last_purchase_date::DATE as last_purchase_date
FROM USER_DEFAULT_ATTRIBUTES_VIEW_SHARED d
LEFT JOIN USER_CUSTOM_ATTRIBUTES_VIEW_SHARED c
ON d.USER_ID = c.USER_ID
WHERE d.EXTERNAL_USER_ID = 'customer_456';
Encontrando clientes de alto valor
-- Identify users with high lifetime value who are at risk of churning
SELECT
d.EXTERNAL_USER_ID,
d.EMAIL_ADDRESS,
c.CUSTOM_ATTRIBUTES:lifetime_value::NUMBER as lifetime_value,
c.CUSTOM_ATTRIBUTES:days_since_last_purchase::NUMBER as days_since_last_purchase
FROM USER_DEFAULT_ATTRIBUTES_VIEW_SHARED d
JOIN USER_CUSTOM_ATTRIBUTES_VIEW_SHARED c
ON d.USER_ID = c.USER_ID
WHERE c.CUSTOM_ATTRIBUTES:lifetime_value::NUMBER > 1000
AND c.CUSTOM_ATTRIBUTES:days_since_last_purchase::NUMBER > 90
ORDER BY c.CUSTOM_ATTRIBUTES:lifetime_value::NUMBER DESC;
Melhores práticas
Uso recomendado de consultas
| Caso de uso | Visualizações recomendadas | Notas |
|---|---|---|
| Consultas gerais que não exigem atualizações recentes | USER_DEFAULT_ATTRIBUTES_VIEW_SHARED e USER_CUSTOM_ATTRIBUTES_VIEW_SHARED |
Execução rápida, com dados de até 12 horas atrás. |
| Consultas que exigem os atributos de usuário mais recentes | USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHARED e USER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED |
Fornece atualizações quase em tempo real, mas pode ser mais lenta para grandes conjuntos de dados. |
| Rastreamento histórico de alterações de atributos | USER_DEFAULT_ATTRIBUTES_HISTORY_VIEW_SHARED e USER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED |
Armazena alterações de atributos com granularidade de 12 horas. |
Considerações de performance
- Consultas em
USER_DEFAULT_ATTRIBUTES_VIEW_SHAREDouUSER_CUSTOM_ATTRIBUTES_VIEW_SHAREDdevem retornar em menos de 10 segundos para grandes conjuntos de dados (~1 bilhão de usuários) em um warehouse grande. - Consultas em
USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHAREDouUSER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHAREDpara um único usuário retornam em menos de um minuto, mas não escalam bem sem filtragem porUSER_ID. - Consultas com mais de 100 milhões de usuários em
USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHAREDouUSER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHAREDpodem levar vários minutos devido à agregação por usuário.