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, ponte en contacto con tu administrador de éxito de cliente o con soporte de Braze.
Vistas disponibles
| Tipo | Vista | Descripción |
|---|---|---|
| Atributo predeterminado | USER_DEFAULT_ATTRIBUTES_VIEW_SHARED |
Instantáneas del perfil de usuario |
USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHARED |
Perfiles de usuario en tiempo real | |
USER_DEFAULT_ATTRIBUTES_HISTORY_VIEW_SHARED |
Historial de cambios | |
| Atributo personalizado | USER_CUSTOM_ATTRIBUTES_VIEW_SHARED |
Instantáneas del perfil de usuario |
USER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED |
Perfiles de usuario en tiempo real | |
USER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED |
Historial de cambios |
Instantáneas del perfil de usuario
Estas vistas proporcionan instantáneas periódicas de los atributos del perfil de usuario. Los datos se retrasan hasta 12 horas, por lo que resultan ú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 del usuario con un retraso de hasta 12 horas.
- Funciona bien para consultas que no requieren precisión en tiempo real.
- Ejecución más rápida de la consulta, sobre todo 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 | 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 | El origen 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 se ha establecido) |
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 | 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 se ha establecido) |
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 | El origen 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 del 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 produzca 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 situaciones en las que se necesitan datos recientes.
- Consideraciones de rendimiento:
- Las consultas sobre usuarios individuales son más rápidas (menos de un minuto utilizando un almacén grande).
- Las consultas sin filtros de USER_ID requieren la agregación de todos los usuarios, lo que conlleva tiempos de ejecución significativamente más largos.
- Las consultas en un gran conjunto de datos (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 | 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 | El origen 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 se ha establecido) |
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
| Nombre de columna | Tipo de datos | Descripción |
|---|---|---|
APP_GROUP_ID |
VARCHAR | Identificador de tu espacio de trabajo de Braze |
USER_ID |
VARCHAR | El identificador único de usuario de Braze |
EXTERNAL_USER_ID |
VARCHAR | Tu propio identificador de usuario (si se ha establecido) |
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 | El origen de la actualización del atributo (API, SDK, panel, etc.) |
ARCHIVED |
BOOLEAN | Si el perfil de usuario está archivado |
SF_UPDATED_AT |
TIMESTAMP_NTZ | Cuándo se actualizaron los datos por última vez en Snowflake |
APP_ID |
VARCHAR | La aplicación específica dentro de tu espacio de trabajo |
CUSTOM_ATTRIBUTES |
OBJECT | Objeto JSON que contiene todos los atributos personalizados (pares clave-valor) |

Esta vista utiliza el tipo OBJECT para CUSTOM_ATTRIBUTES en lugar de VARIANT. Usa la misma sintaxis de acceso JSON (:attribute_name::TYPE) para consultar atributos individuales.
Historial de cambios
Estas vistas almacenan registros de cambios históricos de los atributos de los usuarios, 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 los cambios históricos en los atributos de los usuarios durante un periodo continuo de 6 meses.
- Los datos se capturan en instantáneas cada 12 horas, lo que significa que varias 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 final del estado de atributo de un 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 | 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 | El origen 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 se ha establecido) |
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 de atributo |
END_DT |
TIMESTAMP_NTZ | Fecha de fin: cuándo terminó este estado de atributo (NULL para el estado actual) |
Esquema de USER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED
| Nombre de columna | Tipo de datos | Descripción |
|---|---|---|
APP_GROUP_ID |
VARCHAR | 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 |
EXTERNAL_USER_ID |
VARCHAR | Tu propio identificador de usuario (si se ha establecido) |
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 | El origen 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 |
EFF_DT |
TIMESTAMP_NTZ | Fecha efectiva: cuándo comenzó este estado de atributo |
END_DT |
TIMESTAMP_NTZ | Fecha de fin: cuándo terminó este estado de atributo (NULL para el estado actual) |
Casos de uso comunes
Crear segmentos 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);
Analizar el comportamiento del usuario 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;
Combinar 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';
Encontrar 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 últimos atributos del usuario | 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 lento para grandes conjuntos de datos. |
| Seguimiento histórico de los cambios de 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 dar resultados en menos de 10 segundos para grandes conjuntos de datos (~1000 millones de usuarios) en un almacén grande. - Las consultas en
USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHAREDoUSER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHAREDpara un solo usuario se devuelven en menos de un minuto, pero escalan mal sin filtrar 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.