Skip to content

Attributs du profil utilisateur

Cette page sert de référence pour les vues d’attributs par défaut et personnalisés dans Snowflake. Il existe trois vues pour les attributs par défaut et trois vues pour les attributs personnalisés, chacune étant conçue pour un cas d’usage spécifique avec ses propres considérations en matière de performances.

Parité des données avec le tableau de bord

Dans de rares cas, les valeurs des attributs par défaut et personnalisés dans les vues Snowflake de cette page peuvent ne pas correspondre à ce que vous voyez sur le profil d’un utilisateur dans le tableau de bord de Braze.

Par exemple, un attribut peut apparaître comme NULL dans Snowflake alors que le tableau de bord affiche une valeur pour cet utilisateur.

Si vous constatez des écarts généralisés, contactez votre gestionnaire du succès des clients ou le support Braze.

Vues disponibles

Vues disponibles
Type Vue Description
Attribut par défaut USER_DEFAULT_ATTRIBUTES_VIEW_SHARED Instantanés de profils utilisateur
USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHARED Profils utilisateur en temps réel
USER_DEFAULT_ATTRIBUTES_HISTORY_VIEW_SHARED Journaux de modifications historiques
Attribut personnalisé USER_CUSTOM_ATTRIBUTES_VIEW_SHARED Instantanés de profils utilisateur
USER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED Profils utilisateur en temps réel
USER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED Journaux de modifications historiques

Instantanés du profil utilisateur

Ces vues fournissent des instantanés périodiques des attributs du profil utilisateur. Les données sont retardées de 12 heures maximum, ce qui les rend utiles pour les requêtes qui ne nécessitent pas de mises à jour en temps réel.

  • USER_DEFAULT_ATTRIBUTES_VIEW_SHARED
  • USER_CUSTOM_ATTRIBUTES_VIEW_SHARED

Utilisation

  • Fournit un instantané des attributs utilisateur avec un délai pouvant aller jusqu’à 12 heures.
  • Performant pour les requêtes qui ne nécessitent pas une précision en temps réel.
  • Exécution de requêtes plus rapide, en particulier lors du filtrage sur des attributs autres que USER_ID.
  • Limitation : les données ne sont pas à jour en temps réel.

Schéma USER_DEFAULT_ATTRIBUTES_VIEW_SHARED

Nom de la colonne Type de données Description
APP_GROUP_ID VARCHAR L’identifiant de votre espace de travail Braze
APP_ID VARCHAR L’application spécifique au sein de votre espace de travail
USER_ID VARCHAR L’identifiant utilisateur unique de Braze
TIME NUMBER Horodatage unix (secondes) de la mise à jour du profil
TIME_MS NUMBER Horodatage unix (millisecondes) de la mise à jour du profil
UPDATE_SOURCE VARCHAR La source de la mise à jour de l’attribut (API, SDK, tableau de bord, etc.)
SF_UPDATED_AT TIMESTAMP_NTZ Date de la dernière mise à jour des données dans Snowflake
EXTERNAL_USER_ID VARCHAR Votre propre identifiant utilisateur (si défini)
FIRST_NAME VARCHAR Prénom de l’utilisateur
LAST_NAME VARCHAR Nom de famille de l’utilisateur
EMAIL_ADDRESS VARCHAR Adresse e-mail de l’utilisateur
GENDER VARCHAR Genre de l’utilisateur
PHONE_NUMBER VARCHAR Numéro de téléphone de l’utilisateur
DOB VARCHAR Date de naissance de l’utilisateur
TIME_ZONE VARCHAR Fuseau horaire de l’utilisateur
HOME_CITY VARCHAR Ville de résidence de l’utilisateur
COUNTRY VARCHAR Pays de l’utilisateur
LANGUAGE VARCHAR Préférence linguistique de l’utilisateur
ARCHIVED BOOLEAN Indique si le profil utilisateur est archivé

Schéma USER_CUSTOM_ATTRIBUTES_VIEW_SHARED

Nom de la colonne Type de données Description
APP_GROUP_ID VARCHAR L’identifiant de votre espace de travail Braze
APP_ID VARCHAR L’application spécifique au sein de votre espace de travail
USER_ID VARCHAR L’identifiant utilisateur unique de Braze
EXTERNAL_USER_ID VARCHAR Votre propre identifiant utilisateur (si défini)
TIME NUMBER Horodatage unix (secondes) de la mise à jour du profil
TIME_MS NUMBER Horodatage unix (millisecondes) de la mise à jour du profil
UPDATE_SOURCE VARCHAR La source de la mise à jour de l’attribut (API, SDK, tableau de bord, etc.)
SF_UPDATED_AT TIMESTAMP_NTZ Date de la dernière mise à jour des données dans Snowflake
CUSTOM_ATTRIBUTES VARIANT Objet JSON contenant tous les attributs personnalisés (paires clé-valeur)
ARCHIVED BOOLEAN Indique si le profil utilisateur est archivé

Travailler avec CUSTOM_ATTRIBUTES

La colonne CUSTOM_ATTRIBUTES stocke tous vos attributs personnalisés sous forme d’objet JSON. Vous pouvez accéder aux attributs individuels à l’aide des fonctions JSON de Snowflake.

Exemple : interroger des attributs personnalisés spécifiques

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;

Exemple : analyser les données d’attributs personnalisés

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;

Vues de profil utilisateur en temps réel

Ces vues fournissent des mises à jour en quasi temps réel des attributs de profil utilisateur, avec un délai pouvant aller jusqu’à 10 minutes après une mise à jour dans Braze.

  • USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHARED
  • USER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED

Utilisation

  • Fournit des attributs utilisateur à jour avec un délai minimal (~10 minutes).
  • Utile pour l’analyse en temps réel et les scénarios nécessitant des données récentes.
  • Considérations de performance :
    • Les requêtes sur des utilisateurs individuels sont plus rapides (moins d’une minute avec un entrepôt de grande taille).
    • Les requêtes sans filtre USER_ID nécessitent une agrégation sur l’ensemble des utilisateurs, ce qui entraîne des temps d’exécution nettement plus longs.
    • Les requêtes sur un jeu de données volumineux (par exemple plus de 100 millions d’utilisateurs) peuvent prendre plusieurs minutes.

Schéma USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHARED

Nom de la colonne Type de données Description
APP_GROUP_ID VARCHAR L’identifiant de votre espace de travail Braze
APP_ID VARCHAR L’application spécifique au sein de votre espace de travail
USER_ID VARCHAR L’identifiant utilisateur unique Braze
TIME NUMBER Horodatage unix (secondes) de la mise à jour du profil
TIME_MS NUMBER Horodatage unix (millisecondes) de la mise à jour du profil
UPDATE_SOURCE VARCHAR La source de la mise à jour de l’attribut (API, SDK, tableau de bord, etc.)
ARCHIVED BOOLEAN Indique si le profil utilisateur est archivé
SF_UPDATED_AT TIMESTAMP_LTZ Date de la dernière mise à jour des données dans Snowflake
EXTERNAL_USER_ID VARCHAR Votre propre identifiant utilisateur (si défini)
FIRST_NAME VARCHAR Prénom de l’utilisateur
LAST_NAME VARCHAR Nom de famille de l’utilisateur
EMAIL_ADDRESS VARCHAR Adresse e-mail de l’utilisateur
GENDER VARCHAR Genre de l’utilisateur
PHONE_NUMBER VARCHAR Numéro de téléphone de l’utilisateur
DOB VARCHAR Date de naissance de l’utilisateur
HOME_CITY VARCHAR Ville de résidence de l’utilisateur
COUNTRY VARCHAR Pays de l’utilisateur
LANGUAGE VARCHAR Préférence linguistique de l’utilisateur
TIME_ZONE VARCHAR Fuseau horaire de l’utilisateur

Schéma 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.

Journaux de modifications historiques

Ces vues stockent les journaux de modifications historiques des attributs utilisateur, capturant les changements avec une granularité de 12 heures.

  • USER_DEFAULT_ATTRIBUTES_HISTORY_VIEW_SHARED
  • USER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED

Utilisation

  • Fournit un enregistrement des modifications historiques des attributs utilisateur sur une période glissante de 6 mois.
  • Les données sont capturées toutes les 12 heures, ce qui signifie que plusieurs mises à jour au cours de cette fenêtre sont combinées en un seul enregistrement. Les modifications individuelles au cours de cette période ne sont pas conservées séparément.
  • EFF_DT et END_DT marquent le début et la fin de l’état d’un attribut utilisateur.

Schéma de USER_DEFAULT_ATTRIBUTES_HISTORY_VIEW_SHARED

Nom de la colonne Type de donnée Description
APP_GROUP_ID VARCHAR L’identifiant de votre espace de travail Braze
USER_ID VARCHAR L’identifiant utilisateur unique Braze
APP_ID VARCHAR L’application spécifique au sein de votre espace de travail
TIME NUMBER Horodatage unix (secondes) de la mise à jour du profil
TIME_MS NUMBER Horodatage unix (millisecondes) de la mise à jour du profil
UPDATE_SOURCE VARCHAR La source de la mise à jour de l’attribut (API, SDK, tableau de bord, etc.)
SF_UPDATED_AT TIMESTAMP_NTZ Date de la dernière mise à jour des données dans Snowflake
EXTERNAL_USER_ID VARCHAR Votre propre identifiant utilisateur (si défini)
FIRST_NAME VARCHAR Prénom de l’utilisateur
LAST_NAME VARCHAR Nom de famille de l’utilisateur
EMAIL_ADDRESS VARCHAR Adresse e-mail de l’utilisateur
GENDER VARCHAR Genre de l’utilisateur
PHONE_NUMBER VARCHAR Numéro de téléphone de l’utilisateur
DOB VARCHAR Date de naissance de l’utilisateur
TIME_ZONE VARCHAR Fuseau horaire de l’utilisateur
HOME_CITY VARCHAR Ville de résidence de l’utilisateur
COUNTRY VARCHAR Pays de l’utilisateur
LANGUAGE VARCHAR Préférence linguistique de l’utilisateur
EFF_DT TIMESTAMP_NTZ Date d’effet : date à laquelle cet état d’attribut a commencé
END_DT TIMESTAMP_NTZ Date de fin : date à laquelle cet état d’attribut s’est terminé (NULL pour l’état actuel)

Schéma 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)

Cas d’usage courants

Créer des Segments d’utilisateurs

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);

Analyser le comportement des utilisateurs au fil du temps

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;

Combiner les attributs par défaut et les attributs personnalisés

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';

Identifier les clients à forte valeur

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;

Bonnes pratiques

Cas d’usage Vues recommandées Notes
Requêtes générales ne nécessitant pas de mises à jour récentes USER_DEFAULT_ATTRIBUTES_VIEW_SHARED et USER_CUSTOM_ATTRIBUTES_VIEW_SHARED Exécution rapide, avec des données datant de 12 heures au maximum.
Requêtes nécessitant les derniers attributs utilisateur USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHARED et USER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED Fournit des mises à jour en quasi temps réel, mais peut être plus lent pour les grands ensembles de données.
Suivi historique des modifications d’attributs USER_DEFAULT_ATTRIBUTES_HISTORY_VIEW_SHARED et USER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED Stocke les modifications d’attributs avec une granularité de 12 heures.

Considérations de performance

  • Les requêtes sur USER_DEFAULT_ATTRIBUTES_VIEW_SHARED ou USER_CUSTOM_ATTRIBUTES_VIEW_SHARED devraient s’exécuter en moins de 10 secondes pour de grands ensembles de données (~1 milliard d’utilisateurs) sur un entrepôt de grande taille.
  • Les requêtes sur USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHARED ou USER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED pour un seul utilisateur s’exécutent en moins d’une minute, mais ne passent pas bien à l’échelle sans filtrage par USER_ID.
  • Les requêtes portant sur plus de 100 millions d’utilisateurs dans USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHARED ou USER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED peuvent prendre plusieurs minutes en raison de l’agrégation par utilisateur.
New Stuff!