Atributos do perfil de usuário
Esta página serve como 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 visualizações para atributos personalizados, cada uma 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ê notar 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 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 em muitos perfis, principalmente quando o espaço de trabalho não tem determinadas Feature Flags ativadas. Ao consultar dados de usuários, considere a possibilidade de 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 necessá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 do 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 os 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 do 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 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 | 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 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 |
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 |
Esquema 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 em muitos perfis, dependendo da configuração do 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 |
CUSTOM_ATTRIBUTES |
VARIANT | Objeto JSON com todos os atributos personalizados (pares de chave-valor) |
ARCHIVED |
BOOLEAN | Se o perfil de usuário está arquivado |
Como trabalhar 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. Os dados podem ter 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 (~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, o que aumenta significativamente o tempo de execução.
- 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 exclusivo do usuário na Braze |
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.) |
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 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 |
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 |
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 de alterações históricas
Essas visualizações armazenam logs de alterações históricas dos atributos de usuários, registrando as alterações 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ários durante um período contínuo de 6 meses.
- Os dados são capturados a cada 12 horas. Então, várias atualizações feitas nesse intervalo 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 do estado de um 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 exclusivo do usuário na Braze |
APP_ID |
VARCHAR | O app específico dentro do seu espaço de trabalho |
TIME |
NUMBER | Registro de data e hora Unix (segundos) da atualização do perfil |
TIME_MS |
NUMBER | Registro de 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 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 |
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 início: 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
Criação de 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);
Análise do 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;
Combinação de 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';
Identificação de 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 |
Oferece 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 escalam mal sem filtragem porUSER_ID. - Consultas em 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.