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 circunstâncias raras, os valores de atributos padrão e personalizados nas visualizações do Snowflake nesta 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ê perceber discrepâncias generalizadas, entre em contato com seu gerente de sucesso do cliente ou com o suporte da Braze.
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 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 de usuário com um atraso de até 12 horas.
- Tem bom desempenho para consultas que não exigem precisão em tempo real.
- Execução de consultas mais rápida, especialmente 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.
Schema de USER_DEFAULT_ATTRIBUTES_VIEW_SHARED
| Nome da coluna | Tipo de dados | Descrição |
|---|---|---|
APP_GROUP_ID |
VARCHAR | Identificador do seu espaço de trabalho da Braze |
APP_ID |
VARCHAR | O app específico dentro do seu espaço de trabalho |
USER_ID |
VARCHAR | O identificador exclusivo de usuário da Braze |
TIME |
NUMBER | Timestamp Unix (segundos) da atualização do perfil |
TIME_MS |
NUMBER | Timestamp 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) |
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 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 |
Schema de USER_CUSTOM_ATTRIBUTES_VIEW_SHARED
| Nome da coluna | Tipo de dados | Descrição |
|---|---|---|
APP_GROUP_ID |
VARCHAR | Identificador do seu espaço de trabalho da Braze |
APP_ID |
VARCHAR | O app específico dentro do seu espaço de trabalho |
USER_ID |
VARCHAR | O identificador exclusivo de usuário da Braze |
EXTERNAL_USER_ID |
VARCHAR | Seu próprio identificador de usuário (se definido) |
TIME |
NUMBER | Timestamp Unix (segundos) da atualização do perfil |
TIME_MS |
NUMBER | Timestamp 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 contendo todos os atributos personalizados (pares chave-valor) |
ARCHIVED |
BOOLEAN | Se o perfil de usuário está arquivado |
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: consultando atributos personalizados específicos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-- 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: analisando dados de atributos personalizados
1
2
3
4
5
6
7
8
9
10
11
12
13
14
-- 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 sobre atributos de perfil de usuário, com dados atrasados em 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 desempenho:
- Consultas em 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, resultando em tempos de execução significativamente mais longos.
- Consultas em um grande conjunto de dados (como mais de 100 milhões de usuários) podem levar muitos 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 | 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 de usuário da Braze |
TIME |
NUMBER | Timestamp Unix (segundos) da atualização do perfil |
TIME_MS |
NUMBER | Timestamp 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) |
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 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.
Registros históricos de alterações
Essas visualizações armazenam registros históricos de alterações de atributos de usuário, capturando mudanças com uma granularidade de 12 horas.
USER_DEFAULT_ATTRIBUTES_HISTORY_VIEW_SHAREDUSER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED
Uso
- Fornece um registro de alterações históricas nos atributos de usuário para um período contínuo de 6 meses.
- Os dados são capturados a cada 12 horas, o que significa que várias atualizações nessa janela são combinadas em um único registro. Alterações individuais dentro desse período não são retidas 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 | Identificador do seu espaço de trabalho da Braze |
USER_ID |
VARCHAR | Identificador único do usuário na Braze |
APP_ID |
VARCHAR | O app específico dentro do seu espaço de trabalho |
TIME |
NUMBER | Timestamp Unix (segundos) da atualização do perfil |
TIME_MS |
NUMBER | Timestamp 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) |
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 do usuário |
COUNTRY |
VARCHAR | País do usuário |
LANGUAGE |
VARCHAR | Preferência de idioma do usuário |
EFF_DT |
TIMESTAMP_NTZ | Data efetiva: quando esse estado do atributo começou |
END_DT |
TIMESTAMP_NTZ | Data final: 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 Segments de usuários
1
2
3
4
5
6
7
8
9
10
11
12
13
-- 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
1
2
3
4
5
6
7
8
9
10
-- 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
-- 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
1
2
3
4
5
6
7
8
9
10
11
12
-- 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;
Boas práticas
Uso recomendado de consultas
| Caso de uso | Views 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 desempenho
- 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 de grande porte. - 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 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.