Attribute des Nutzerprofils
Diese Seite dient als Referenz für die Standard- und angepassten Attributansichten in Snowflake. Es gibt drei Ansichten für Standardattribute und drei Ansichten für angepasste Attribute, die jeweils für einen bestimmten Anwendungsfall mit eigenen Performance-Überlegungen konzipiert wurden.
Datenparität mit dem Dashboard
In seltenen Fällen stimmen die Werte von Standardattributen und angepassten Attributen in den Snowflake-Ansichten auf dieser Seite möglicherweise nicht mit dem überein, was Sie im Profil einer Nutzerin oder eines Nutzers im Braze-Dashboard sehen.
So kann ein Attribut in Snowflake beispielsweise als NULL erscheinen, während das Dashboard für diese:n Nutzer:in einen Wert anzeigt.
Wenn Sie weitreichende Abweichungen feststellen, wenden Sie sich an Ihren Customer-Success-Manager oder an den Braze-Support.
Verfügbarkeit der externen Nutzer-ID

Gehen Sie nicht davon aus, dass EXTERNAL_USER_ID in jedem Nutzerprofil-Datensatz vorhanden ist. Die Verfügbarkeit hängt von der Workspace-spezifischen Konfiguration ab und davon, wie Nutzerprofile aktualisiert werden. Dieses Feld kann bei vielen Profilen NULL sein, insbesondere wenn in einem Workspace bestimmte Feature-Flags nicht aktiviert sind. Berücksichtigen Sie bei Abfragen von Nutzerdaten, dass EXTERNAL_USER_ID null sein kann, und verwenden Sie in Ihren SQL-Anfragen eine geeignete Behandlung von Nullwerten (zum Beispiel LEFT JOIN statt INNER JOIN oder eine Filterung mit IS NOT NULL, wenn die externe ID erforderlich ist).
Verfügbare Ansichten
| Typ | Ansicht | Beschreibung |
|---|---|---|
| Standardattribut | USER_DEFAULT_ATTRIBUTES_VIEW_SHARED |
Snapshots von Nutzerprofilen |
USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHARED |
Nutzerprofile in Realtime | |
USER_DEFAULT_ATTRIBUTES_HISTORY_VIEW_SHARED |
Historische Änderungsprotokolle | |
| Angepasstes Attribut | USER_CUSTOM_ATTRIBUTES_VIEW_SHARED |
Snapshots von Nutzerprofilen |
USER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED |
Nutzerprofile in Realtime | |
USER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED |
Historische Änderungsprotokolle |
Snapshots von Nutzerprofilen
Diese Ansichten liefern regelmäßige Snapshots der Attribute von Nutzerprofilen. Die Daten sind um bis zu 12 Stunden verzögert und eignen sich daher für Anfragen, die keine Realtime-Updates erfordern.
USER_DEFAULT_ATTRIBUTES_VIEW_SHAREDUSER_CUSTOM_ATTRIBUTES_VIEW_SHARED
Verwendung
- Liefert einen Snapshot der Nutzerattribute mit einer Verzögerung von bis zu 12 Stunden.
- Eignet sich gut für Anfragen, die keine Realtime-Genauigkeit erfordern.
- Schnellere Ausführung von Anfragen, insbesondere beim Filtern nach anderen Attributen als
USER_ID. - Einschränkung: Die Daten sind nicht in Realtime aktuell.

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 von USER_DEFAULT_ATTRIBUTES_VIEW_SHARED
| Spaltenname | Datentyp | Beschreibung |
|---|---|---|
APP_GROUP_ID |
VARCHAR | Bezeichner Ihres Braze-Workspace |
APP_ID |
VARCHAR | Die spezifische App innerhalb Ihres Workspace |
USER_ID |
VARCHAR | Der eindeutige Braze-Nutzerbezeichner |
TIME |
NUMBER | Unix-Zeitstempel (Sekunden) des Profil-Updates |
TIME_MS |
NUMBER | Unix-Zeitstempel (Millisekunden) des Profil-Updates |
UPDATE_SOURCE |
VARCHAR | Die Quelle des Attribut-Updates (API, SDK, Dashboard usw.) |
SF_UPDATED_AT |
TIMESTAMP_NTZ | Zeitpunkt, zu dem die Daten zuletzt in Snowflake aktualisiert wurden |
EXTERNAL_USER_ID |
VARCHAR | Ihr eigener Nutzerbezeichner (falls festgelegt). Kann je nach Workspace-Konfiguration bei vielen Profilen NULL sein. |
FIRST_NAME |
VARCHAR | Vorname der Nutzer:in |
LAST_NAME |
VARCHAR | Nachname der Nutzer:in |
EMAIL_ADDRESS |
VARCHAR | E-Mail-Adresse der Nutzer:in |
GENDER |
VARCHAR | Geschlecht der Nutzer:in |
PHONE_NUMBER |
VARCHAR | Telefonnummer der Nutzer:in |
DOB |
VARCHAR | Geburtsdatum der Nutzer:in |
TIME_ZONE |
VARCHAR | Zeitzone der Nutzer:in |
HOME_CITY |
VARCHAR | Wohnort der Nutzer:in |
COUNTRY |
VARCHAR | Land der Nutzer:in |
LANGUAGE |
VARCHAR | Bevorzugte Sprache der Nutzer:in |
ARCHIVED |
BOOLEAN | Ob das Nutzerprofil archiviert ist |
Schema von USER_CUSTOM_ATTRIBUTES_VIEW_SHARED
| Spaltenname | Datentyp | Beschreibung |
|---|---|---|
APP_GROUP_ID |
VARCHAR | Bezeichner Ihres Braze-Workspace |
APP_ID |
VARCHAR | Die spezifische App innerhalb Ihres Workspace |
USER_ID |
VARCHAR | Der eindeutige Braze-Nutzerbezeichner |
EXTERNAL_USER_ID |
VARCHAR | Ihr eigener Nutzerbezeichner (falls festgelegt). Kann je nach Workspace-Konfiguration bei vielen Profilen NULL sein. |
TIME |
NUMBER | Unix-Zeitstempel (Sekunden) des Profil-Updates |
TIME_MS |
NUMBER | Unix-Zeitstempel (Millisekunden) des Profil-Updates |
UPDATE_SOURCE |
VARCHAR | Die Quelle des Attribut-Updates (API, SDK, Dashboard usw.) |
SF_UPDATED_AT |
TIMESTAMP_NTZ | Zeitpunkt, zu dem die Daten zuletzt in Snowflake aktualisiert wurden |
CUSTOM_ATTRIBUTES |
VARIANT | JSON-Objekt mit allen angepassten Attributen (Schlüssel-Wert-Paare) |
ARCHIVED |
BOOLEAN | Ob das Nutzerprofil archiviert ist |
Arbeiten mit CUSTOM_ATTRIBUTES
Die Spalte CUSTOM_ATTRIBUTES speichert alle Ihre angepassten Attribute als JSON-Objekt. Mit den JSON-Funktionen von Snowflake können Sie auf einzelne Attribute zugreifen.
Beispiel: Bestimmte angepasste Attribute abfragen
-- 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;
Beispiel: Daten angepasster Attribute analysieren
-- 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;
Realtime-Ansichten für Nutzerprofile
Diese Ansichten liefern nahezu in Realtime Updates zu Attributen von Nutzerprofilen. Die Daten werden mit einer Verzögerung von bis zu 10 Minuten bereitgestellt, nachdem ein Update in Braze erfolgt ist.
USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHAREDUSER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED
Verwendung
- Liefert aktuelle Nutzerattribute mit minimaler Verzögerung (~10 Minuten).
- Nützlich für Realtime-Analysen und Szenarien, in denen aktuelle Daten erforderlich sind.
- Hinweise zur Performance:
- Abfragen zu einzelnen Nutzer:innen sind schneller (unter einer Minute mit einem großen Warehouse).
- Abfragen ohne USER_ID-Filter erfordern eine Aggregation über alle Nutzer:innen, was zu deutlich längeren Ausführungszeiten führt.
- Abfragen auf einem großen Datensatz (z. B. mehr als 100 Millionen Nutzer:innen) können viele Minuten dauern.

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 von USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHARED
| Spaltenname | Datentyp | Beschreibung |
|---|---|---|
APP_GROUP_ID |
VARCHAR | Ihr Bezeichner für den Braze-Workspace |
APP_ID |
VARCHAR | Die spezifische App in Ihrem Workspace |
USER_ID |
VARCHAR | Der eindeutige Braze-Bezeichner für Nutzer:innen |
TIME |
NUMBER | Unix-Zeitstempel (Sekunden) des Profil-Updates |
TIME_MS |
NUMBER | Unix-Zeitstempel (Millisekunden) des Profil-Updates |
UPDATE_SOURCE |
VARCHAR | Die Quelle des Attribut-Updates (API, SDK, Dashboard usw.) |
ARCHIVED |
BOOLEAN | Ob das Nutzerprofil archiviert ist |
SF_UPDATED_AT |
TIMESTAMP_LTZ | Wann die Daten zuletzt in Snowflake aktualisiert wurden |
EXTERNAL_USER_ID |
VARCHAR | Ihr eigener Bezeichner für Nutzer:innen (falls festgelegt). Kann je nach Workspace-Konfiguration bei vielen Profilen NULL sein. |
FIRST_NAME |
VARCHAR | Vorname der Nutzer:in |
LAST_NAME |
VARCHAR | Nachname der Nutzer:in |
EMAIL_ADDRESS |
VARCHAR | E-Mail-Adresse der Nutzer:in |
GENDER |
VARCHAR | Geschlecht der Nutzer:in |
PHONE_NUMBER |
VARCHAR | Telefonnummer der Nutzer:in |
DOB |
VARCHAR | Geburtsdatum der Nutzer:in |
HOME_CITY |
VARCHAR | Wohnort der Nutzer:in |
COUNTRY |
VARCHAR | Land der Nutzer:in |
LANGUAGE |
VARCHAR | Bevorzugte Sprache der Nutzer:in |
TIME_ZONE |
VARCHAR | Zeitzone der Nutzer:in |
Schema von 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.
Historische Änderungsprotokolle
Diese Ansichten speichern historische Änderungsprotokolle von Nutzerattributen und erfassen Änderungen mit einer Granularität von 12 Stunden.
USER_DEFAULT_ATTRIBUTES_HISTORY_VIEW_SHAREDUSER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED
Verwendung
- Bietet eine Aufzeichnung historischer Änderungen an Nutzerattributen für einen rollierenden Zeitraum von 6 Monaten.
- Die Daten werden alle 12 Stunden als Snapshot erfasst. Mehrere Updates innerhalb dieses Zeitfensters werden also zu einem einzigen Datensatz zusammengefasst. Einzelne Änderungen innerhalb dieses Zeitraums werden nicht separat gespeichert.
EFF_DTundEND_DTmarkieren Beginn und Ende des Attributstatus von Nutzer:innen.

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.
USER_DEFAULT_ATTRIBUTES_HISTORY_VIEW_SHARED-Schema
| Spaltenname | Datentyp | Beschreibung |
|---|---|---|
APP_GROUP_ID |
VARCHAR | Bezeichner Ihres Braze-Workspace |
USER_ID |
VARCHAR | Der eindeutige Braze-Nutzer-Bezeichner |
APP_ID |
VARCHAR | Die spezifische App innerhalb Ihres Workspace |
TIME |
NUMBER | Unix-Zeitstempel (Sekunden) des Profil-Updates |
TIME_MS |
NUMBER | Unix-Zeitstempel (Millisekunden) des Profil-Updates |
UPDATE_SOURCE |
VARCHAR | Die Quelle des Attribut-Updates (API, SDK, Dashboard usw.) |
SF_UPDATED_AT |
TIMESTAMP_NTZ | Zeitpunkt der letzten Aktualisierung der Daten in Snowflake |
EXTERNAL_USER_ID |
VARCHAR | Ihr eigener Nutzer-Bezeichner (falls festgelegt). Kann je nach Workspace-Konfiguration für viele Profile NULL sein. |
FIRST_NAME |
VARCHAR | Vorname der Nutzer:in |
LAST_NAME |
VARCHAR | Nachname der Nutzer:in |
EMAIL_ADDRESS |
VARCHAR | E-Mail-Adresse der Nutzer:in |
GENDER |
VARCHAR | Geschlecht der Nutzer:in |
PHONE_NUMBER |
VARCHAR | Telefonnummer der Nutzer:in |
DOB |
VARCHAR | Geburtsdatum der Nutzer:in |
TIME_ZONE |
VARCHAR | Zeitzone der Nutzer:in |
HOME_CITY |
VARCHAR | Wohnort der Nutzer:in |
COUNTRY |
VARCHAR | Land der Nutzer:in |
LANGUAGE |
VARCHAR | Bevorzugte Sprache der Nutzer:in |
EFF_DT |
TIMESTAMP_NTZ | Gültigkeitsdatum: Beginn dieses Attributstatus |
END_DT |
TIMESTAMP_NTZ | Enddatum: Ende dieses Attributstatus (NULL für den aktuellen Status) |
USER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED-Schema
| 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) |
Häufige Anwendungsfälle
Nutzersegmente erstellen
-- 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);
Nutzerverhalten im Zeitverlauf analysieren
-- 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;
Standardattribute und angepasste Attribute kombinieren
-- 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';
Hochwertige Kund:innen finden
-- 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;
Best Practices
Empfohlene Verwendung von Abfragen
| Anwendungsfall | Empfohlene Ansichten | Hinweise |
|---|---|---|
| Allgemeine Abfragen, die keine aktuellen Updates erfordern | USER_DEFAULT_ATTRIBUTES_VIEW_SHARED und USER_CUSTOM_ATTRIBUTES_VIEW_SHARED |
Schnelle Ausführung mit Daten, die bis zu 12 Stunden alt sind. |
| Abfragen, die die neuesten Nutzerattribute erfordern | USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHARED und USER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHARED |
Bietet Updates nahezu in Realtime, kann bei großen Datensätzen jedoch langsamer sein. |
| Historisches Tracking von Attributänderungen | USER_DEFAULT_ATTRIBUTES_HISTORY_VIEW_SHARED und USER_CUSTOM_ATTRIBUTES_HISTORY_VIEW_SHARED |
Speichert Attributänderungen mit einer Granularität von 12 Stunden. |
Überlegungen zur Performance
- Abfragen auf
USER_DEFAULT_ATTRIBUTES_VIEW_SHAREDoderUSER_CUSTOM_ATTRIBUTES_VIEW_SHAREDsollten bei großen Datensätzen (~1 Milliarde Nutzer:innen) auf einem großen Warehouse in weniger als 10 Sekunden Ergebnisse liefern. - Abfragen auf
USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHAREDoderUSER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHAREDfür einzelne Nutzer:innen liefern in weniger als einer Minute Ergebnisse, skalieren ohne Filterung nachUSER_IDjedoch schlecht. - Abfragen auf mehr als 100 Millionen Nutzer:innen in
USER_LATEST_STATE_DEFAULT_ATTRIBUTES_VIEW_SHAREDoderUSER_LATEST_STATE_CUSTOM_ATTRIBUTE_VIEW_SHAREDkönnen aufgrund der Aggregation pro Nutzer:in mehrere Minuten dauern.