Atributos del perfil de usuario
Esta página sirve de referencia para las vistas de atributos predeterminados y personalizados en Snowflake. Hay tres vistas para atributos predeterminados y tres vistas para atributos personalizados, cada una diseñada para un caso de uso específico con sus propias consideraciones de rendimiento.
Paridad de datos con el panel
En circunstancias excepcionales, los valores de atributos predeterminados y personalizados en las vistas de Snowflake de esta página pueden no coincidir con lo que ves en el perfil de un usuario en el panel de Braze.
Por ejemplo, un atributo puede aparecer como NULL en Snowflake mientras que el panel muestra un valor para ese usuario.
Si observas discrepancias generalizadas, contacta a tu administrador de éxito de cliente o a soporte de Braze.
Vistas disponibles
| Tipo | Vista | Descripción |
|---|---|---|
| Atributo predeterminado | USER_DEFAULT_ATTRIBUTES_VIEW_SHARED |
Instantáneas de perfiles de usuario |
USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHARED |
Perfiles de usuario en tiempo real | |
USER_DEFAULT_ATTRIBUTES_HISTORY_VIEW_SHARED |
Registros de cambios históricos | |
| Atributo personalizado | USER_CUSTOM_ATTRIBUTES_VIEW_SHARED |
Instantáneas de perfiles de usuario |
USER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED |
Perfiles de usuario en tiempo real | |
USER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED |
Registros de cambios históricos |
Instantáneas del perfil de usuario
Estas vistas proporcionan instantáneas periódicas de los atributos del perfil de usuario. Los datos tienen un retraso de hasta 12 horas, lo que las hace útiles para consultas que no requieren actualizaciones en tiempo real.
USER_DEFAULT_ATTRIBUTES_VIEW_SHAREDUSER_CUSTOM_ATTRIBUTES_VIEW_SHARED
Uso
- Proporciona una instantánea de los atributos de usuario con un retraso de hasta 12 horas.
- Funciona bien para consultas que no requieren precisión en tiempo real.
- Ejecución de consultas más rápida, especialmente al filtrar por atributos distintos de
USER_ID. - Limitación: Los datos no están actualizados en tiempo 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
| Nombre de columna | Tipo de datos | Descripción |
|---|---|---|
APP_GROUP_ID |
VARCHAR | El identificador de tu espacio de trabajo de Braze |
APP_ID |
VARCHAR | La aplicación específica dentro de tu espacio de trabajo |
USER_ID |
VARCHAR | El identificador único de usuario de Braze |
TIME |
NUMBER | Marca de tiempo unix (segundos) de la actualización del perfil |
TIME_MS |
NUMBER | Marca de tiempo unix (milisegundos) de la actualización del perfil |
UPDATE_SOURCE |
VARCHAR | La fuente de la actualización del atributo (API, SDK, panel, etc.) |
SF_UPDATED_AT |
TIMESTAMP_NTZ | Cuándo se actualizaron los datos por última vez en Snowflake |
EXTERNAL_USER_ID |
VARCHAR | Tu propio identificador de usuario (si está configurado) |
FIRST_NAME |
VARCHAR | Nombre del usuario |
LAST_NAME |
VARCHAR | Apellido del usuario |
EMAIL_ADDRESS |
VARCHAR | Dirección de correo electrónico del usuario |
GENDER |
VARCHAR | Género del usuario |
PHONE_NUMBER |
VARCHAR | Número de teléfono del usuario |
DOB |
VARCHAR | Fecha de nacimiento del usuario |
TIME_ZONE |
VARCHAR | Zona horaria del usuario |
HOME_CITY |
VARCHAR | Ciudad de residencia del usuario |
COUNTRY |
VARCHAR | País del usuario |
LANGUAGE |
VARCHAR | Preferencia de idioma del usuario |
ARCHIVED |
BOOLEAN | Si el perfil de usuario está archivado |
Esquema de USER_CUSTOM_ATTRIBUTES_VIEW_SHARED
| Nombre de columna | Tipo de datos | Descripción |
|---|---|---|
APP_GROUP_ID |
VARCHAR | El identificador de tu espacio de trabajo de Braze |
APP_ID |
VARCHAR | La aplicación específica dentro de tu espacio de trabajo |
USER_ID |
VARCHAR | El identificador único de usuario de Braze |
EXTERNAL_USER_ID |
VARCHAR | Tu propio identificador de usuario (si está configurado) |
TIME |
NUMBER | Marca de tiempo unix (segundos) de la actualización del perfil |
TIME_MS |
NUMBER | Marca de tiempo unix (milisegundos) de la actualización del perfil |
UPDATE_SOURCE |
VARCHAR | La fuente de la actualización del atributo (API, SDK, panel, etc.) |
SF_UPDATED_AT |
TIMESTAMP_NTZ | Cuándo se actualizaron los datos por última vez en Snowflake |
CUSTOM_ATTRIBUTES |
VARIANT | Objeto JSON que contiene todos los atributos personalizados (pares clave-valor) |
ARCHIVED |
BOOLEAN | Si el perfil de usuario está archivado |
Trabajar con CUSTOM_ATTRIBUTES
La columna CUSTOM_ATTRIBUTES almacena todos tus atributos personalizados como un objeto JSON. Puedes acceder a atributos individuales utilizando las funciones JSON de Snowflake.
Ejemplo: Consultar 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;
Ejemplo: Analizar datos 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;
Vistas de perfil de usuario en tiempo real
Estas vistas proporcionan actualizaciones casi en tiempo real de los atributos del perfil de usuario, con datos retrasados hasta 10 minutos después de que se produce una actualización en Braze.
USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHAREDUSER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED
Uso
- Proporciona atributos de usuario actualizados con un retraso mínimo (~10 minutos).
- Útil para análisis en tiempo real y escenarios en los que se requieren datos recientes.
- Consideraciones de rendimiento:
- Las consultas sobre usuarios individuales son más rápidas (menos de un minuto usando un almacén grande).
- Las consultas sin filtros de USER_ID requieren agregación entre todos los usuarios, lo que genera tiempos de ejecución significativamente más largos.
- Las consultas sobre un conjunto de datos grande (como más de 100 millones de usuarios) pueden tardar muchos 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
| Nombre de columna | Tipo de datos | Descripción |
|---|---|---|
APP_GROUP_ID |
VARCHAR | El identificador de tu espacio de trabajo de Braze |
APP_ID |
VARCHAR | La aplicación específica dentro de tu espacio de trabajo |
USER_ID |
VARCHAR | El identificador único de usuario de Braze |
TIME |
NUMBER | Marca de tiempo unix (segundos) de la actualización del perfil |
TIME_MS |
NUMBER | Marca de tiempo unix (milisegundos) de la actualización del perfil |
UPDATE_SOURCE |
VARCHAR | La fuente de la actualización del atributo (API, SDK, panel, etc.) |
ARCHIVED |
BOOLEAN | Si el perfil de usuario está archivado |
SF_UPDATED_AT |
TIMESTAMP_LTZ | Cuándo se actualizaron los datos por última vez en Snowflake |
EXTERNAL_USER_ID |
VARCHAR | Tu propio identificador de usuario (si está configurado) |
FIRST_NAME |
VARCHAR | Nombre del usuario |
LAST_NAME |
VARCHAR | Apellido del usuario |
EMAIL_ADDRESS |
VARCHAR | Dirección de correo electrónico del usuario |
GENDER |
VARCHAR | Género del usuario |
PHONE_NUMBER |
VARCHAR | Número de teléfono del usuario |
DOB |
VARCHAR | Fecha de nacimiento del usuario |
HOME_CITY |
VARCHAR | Ciudad de residencia del usuario |
COUNTRY |
VARCHAR | País del usuario |
LANGUAGE |
VARCHAR | Preferencia de idioma del usuario |
TIME_ZONE |
VARCHAR | Zona horaria del usuario |
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 de cambios históricos
Estas vistas almacenan registros de cambios históricos de atributos de usuario, capturando los cambios con una granularidad de 12 horas.
USER_DEFAULT_ATTRIBUTES_HISTORY_VIEW_SHAREDUSER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED
Uso
- Proporciona un registro de cambios históricos en los atributos de usuario durante un periodo continuo de 6 meses.
- Los datos se capturan en instantáneas cada 12 horas, lo que significa que múltiples actualizaciones en esta ventana se combinan en un único registro. Los cambios individuales dentro de este periodo no se conservan por separado.
EFF_DTyEND_DTmarcan el inicio y el fin del estado de un atributo de usuario.

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
| Nombre de columna | Tipo de datos | Descripción |
|---|---|---|
APP_GROUP_ID |
VARCHAR | El identificador de tu espacio de trabajo de Braze |
USER_ID |
VARCHAR | El identificador único de usuario de Braze |
APP_ID |
VARCHAR | La aplicación específica dentro de tu espacio de trabajo |
TIME |
NUMBER | Marca de tiempo unix (segundos) de la actualización del perfil |
TIME_MS |
NUMBER | Marca de tiempo unix (milisegundos) de la actualización del perfil |
UPDATE_SOURCE |
VARCHAR | La fuente de la actualización del atributo (API, SDK, panel, etc.) |
SF_UPDATED_AT |
TIMESTAMP_NTZ | Cuándo se actualizaron los datos por última vez en Snowflake |
EXTERNAL_USER_ID |
VARCHAR | Tu propio identificador de usuario (si está configurado) |
FIRST_NAME |
VARCHAR | Nombre del usuario |
LAST_NAME |
VARCHAR | Apellido del usuario |
EMAIL_ADDRESS |
VARCHAR | Dirección de correo electrónico del usuario |
GENDER |
VARCHAR | Género del usuario |
PHONE_NUMBER |
VARCHAR | Número de teléfono del usuario |
DOB |
VARCHAR | Fecha de nacimiento del usuario |
TIME_ZONE |
VARCHAR | Zona horaria del usuario |
HOME_CITY |
VARCHAR | Ciudad de residencia del usuario |
COUNTRY |
VARCHAR | País del usuario |
LANGUAGE |
VARCHAR | Preferencia de idioma del usuario |
EFF_DT |
TIMESTAMP_NTZ | Fecha efectiva: cuándo comenzó este estado del atributo |
END_DT |
TIMESTAMP_NTZ | Fecha de fin: cuándo terminó este estado del atributo (NULL para el estado actual) |
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) |
Ejemplos comunes
Creación de Segments de usuarios
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);
Análisis del comportamiento de los usuarios a lo largo del tiempo
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;
Combinación de atributos predeterminados y 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';
Identificación de 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;
Buenas prácticas
Uso recomendado de consultas
| Caso de uso | Vistas recomendadas | Notas |
|---|---|---|
| Consultas generales que no requieren actualizaciones recientes | USER_DEFAULT_ATTRIBUTES_VIEW_SHARED y USER_CUSTOM_ATTRIBUTES_VIEW_SHARED |
Ejecución rápida, con datos de hasta 12 horas de antigüedad. |
| Consultas que requieren los atributos de usuario más recientes | USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHARED y USER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED |
Proporciona actualizaciones casi en tiempo real, pero puede ser más lenta para conjuntos de datos grandes. |
| Seguimiento histórico de cambios en atributos | USER_DEFAULT_ATTRIBUTES_HISTORY_VIEW_SHARED y USER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED |
Almacena los cambios de atributos con una granularidad de 12 horas. |
Consideraciones de rendimiento
- Las consultas en
USER_DEFAULT_ATTRIBUTES_VIEW_SHAREDoUSER_CUSTOM_ATTRIBUTES_VIEW_SHAREDdeberían devolver resultados en menos de 10 segundos para conjuntos de datos grandes (~1000 millones de usuarios) en un almacén de datos grande. - Las consultas en
USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHAREDoUSER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHAREDpara un solo usuario devuelven resultados en menos de un minuto, pero escalan mal sin filtrado porUSER_ID. - Las consultas sobre más de 100 millones de usuarios en
USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHAREDoUSER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHAREDpueden tardar varios minutos debido a la agregación por usuario.