Ir para o conteúdo

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

Visualizações disponíveis

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_SHARED
  • USER_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.

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_SHARED
  • USER_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.

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_SHARED
  • USER_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_DT e END_DT marcam o início e o fim do estado de um atributo do usuário.

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

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_SHARED ou USER_CUSTOM_ATTRIBUTES_VIEW_SHARED devem 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_SHARED ou USER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED para um único usuário retornam em menos de um minuto, mas escalam mal sem filtragem por USER_ID.
  • Consultas em mais de 100 milhões de usuários em USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHARED ou USER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED podem levar vários minutos devido à agregação por usuário.
New Stuff!