Auf dieser Seite wird das Nutzerereignisobjekt beschrieben, einschließlich der Auflistung potenzieller Nutzerereignistypen. Außerdem finden Sie Beispieldaten für alle Nutzerereignistypen.
Vertex AI Search für den Einzelhandel verwendet Nutzerereignisse in Echtzeit, um Empfehlungen und Suchergebnisse zu generieren. Wenn Sie Daten hochladen, können diese Daten sowohl in den Empfehlungen als auch in der Suche verwendet werden. Wenn Sie beide Dienste nutzen, müssen Sie die Ereignisse also nicht zweimal hochladen.
Informationen zum Aufzeichnen von Nutzerereignissen finden Sie unter Nutzerereignisse in Echtzeit aufzeichnen.
Nutzerereignistypen
Es gibt mehrere Nutzerereignistypen, die Sie aufzeichnen können, wenn Nutzer Ihre Einzelhandels-Website besuchen:
Name des Nutzerereignisses | Nutzeraktion |
---|---|
add-to-cart | Legt Artikel in den Einkaufswagen. |
category-page-view | Zeigt spezielle Seiten an, wie Verkaufs- oder Werbeaktionsseiten. |
detail-page-view | Ruft die Produktdetailseite auf. |
home-page-view | Ruft die Startseite auf. |
purchase-complete | Schließt den Bestellprozess ab. |
search | Durchsucht den Katalog. |
shopping-cart-page-view | Ruft den Einkaufswagen auf. |
Ausführliche Informationen zum UserEvent-Objekt finden Sie unter UserEvent.
Ereignistyppriorität
Für optimale Ergebnisse empfehlen wir, Nutzerereignisse für alle Ereignistypen aufzuzeichnen. In der folgenden Tabelle wird die Priorität der verschiedenen Nutzerereignistypen beschrieben. Sie müssen die Nutzerereignisse mit der höchsten Priorität protokollieren, um qualitativ hochwertige Datenmodelle zu erhalten.
Priorität | Nutzerereignisse |
---|---|
Erforderlich für den ersten Live-Test |
|
Wichtig, um die Qualität des Empfehlungsmodells im Laufe der Zeit zu verbessern |
Anforderungen und Best Practices für Nutzerereignisse
In den folgenden Tabellen sind die Anforderungen und Best Practices für Nutzerereignistypen aufgeführt, die von Empfehlungen und Suchen verwendet werden. Prüfen Sie, ob Ihre Nutzerereignisse diese Anforderungen erfüllen, damit Vertex AI Search für den Einzelhandel qualitativ hochwertige Ergebnisse generieren kann.
In diesem Abschnitt wird Folgendes aufgelistet:
- Anforderungen für Nutzerereignisse: Allgemeine Anforderungen an Nutzerereignisse. Diese Anforderungen gelten unabhängig davon, ob Sie Empfehlungen und die Suche verwenden.
- Empfehlungsspezifische Anforderungen: Anforderungen an Nutzerereignisse für Empfehlungen.
- Suchspezifische Anforderungen: Anforderungen an Nutzerereignisse für die Suche.
Wenn Sie Empfehlungsmodelle verwenden, finden Sie unter Datenanforderungen für Modelltypen weitere Anforderungen, die vom Empfehlungsmodelltyp und dem Optimierungsziel abhängen, das Sie verwenden möchten.
Sie können Messwerte zur Datenqualität für die Suche in der Search for Retail-Konsole auf der Seite Datenqualität ansehen. Diese Messwerte geben den Prozentsatz der Produkte und Nutzerereignisse an, die die empfohlenen Datenqualitätsstandards erfüllen. Informationen zum Ansehen der Suchdatenqualität finden Sie unter Stufen für die Suchleistung aktivieren.
Anforderungen an Nutzerereignisse
Achten Sie darauf, dass Ihre Nutzerereignisse die folgenden Anforderungen erfüllen, damit Vertex AI Search für den Einzelhandel qualitativ hochwertige Ergebnisse generieren kann. Sie gelten sowohl für Empfehlungen als auch für die Suche.
Ereignistyp | Anforderung | Auswirkungen |
---|---|---|
Alle Ereignisse |
Fügen Sie keine synthetischen Daten oder doppelten Ereignisse ein. |
Synthetische oder doppelte Ereignisse wirken sich negativ auf die Modellqualität aus und verhindern häufig ein erfolgreiches Modelltraining. Doppelte Ereignisse können zu falschen Messwerten führen. |
Geben Sie mindestens 100 eindeutige Besucher-IDs für jeden aufgenommenen Ereignistyp an. |
Dadurch wird sichergestellt, dass Vertex AI Search für den Einzelhandel genügend Daten hat, um qualitativ hochwertige Ergebnisse zu generieren. |
|
Besucher-IDs müssen beim Importieren und Aufzeichnen von Ereignissen sowie in API-Anfragen exakt gleich formatiert sein. |
Durch die Verwendung eines einheitlichen Formats für Besucher-IDs lassen sich Besuchermuster korrekt identifizieren und bessere Ergebnisse auf der Grundlage des Nutzerverhaltens liefern. |
|
Die in den Ereignissen enthaltenen Produkte sollten in Ihrem Produktkatalog enthalten sein. |
Das Verhältnis von nicht verbundenen Ereignissen sollte so niedrig wie möglich sein. Ein hohes Verhältnis kann sich negativ auf die Qualität der Empfehlung oder der Suchergebnisse auswirken. Nicht verknüpfte Ereignisdaten werden nicht zum Trainieren von Modellen verwendet. Nicht verknüpfte Ereignisse können jedoch später zusammengeführt werden, nachdem die zugehörigen Produkte aufgenommen wurden. Weitere Informationen finden Sie unter Nutzerereignisse wieder verknüpfen. |
|
Einige Nutzerereignisse sollten dieselbe Besucher-ID haben. |
Zum Erstellen gültiger Verhaltenssequenzverläufe muss Vertex AI Search für den Einzelhandel in der Lage sein, mehrere Ereignisse mit derselben Besucher-ID zu sehen.
|
|
detail-page-view |
Fügen Sie genau ein Produkt pro Ereignis ein. |
Das Ereignis kann nicht verwendet werden, wenn kein Produkt vorhanden ist. Wenn mehrere Produkte angegeben sind, wird das Ereignis fehlerhaft und kann nicht verwendet werden. |
add-to-cart |
Fügen Sie genau ein Produkt pro Ereignis ein. |
Wenn mehrere Produkte angegeben sind, ist das Ereignis fehlerhaft und kann nicht verwendet werden. |
purchase-complete |
|
|
Schließen Sie genau ein Es gibt keinen Standard-Währungscode. Sie müssen einen Code angeben. |
Kaufereignisse ohne dieses Feld führen zu falschen Umsatzmesswerten. |
|
Prüfen Sie, ob einige Kaufereignisse mehrere Produkte umfassen. |
Wenn Sie einige Kaufereignisse mit mehreren Produkten haben, kann das Modell Muster bei gemeinsamen Kaufen lernen. |
Empfehlungsspezifische Anforderungen
Wenn Sie Empfehlungen verwenden, müssen Ihre Nutzerereignisse die folgenden Anforderungen erfüllen.
Wenn Sie Empfehlungsmodelle verwenden, finden Sie unter Datenanforderungen für Modelltypen weitere Anforderungen, die vom Empfehlungsmodelltyp und dem Optimierungsziel abhängen, das Sie verwenden möchten.
Ereignistyp | Anforderung | Auswirkungen |
---|---|---|
purchase-complete |
Vereinfachen Sie Einkaufswagen mit mehreren Artikeln nicht zu mehreren Kaufereignissen. Sie sollten weiterhin als einzelne Kaufereignisse verbleiben, die mehrere Produkte enthalten. |
Dadurch wird sichergestellt, dass gültige Muster für gemeinsame Käufe generiert werden. |
Anforderungen für die Suche
Wenn Sie die Suche verwenden, müssen Ihre Nutzerereignisse die folgenden Mindestanforderungen erfüllen, um Ergebnisse zu erhalten.
Ereignistyp | Anforderung | Auswirkungen |
---|---|---|
search |
|
Wenn Sie dieses Feld nicht angeben, kann sich dies erheblich auf die Qualität und Messwerte der Suchergebnisse auswirken. |
Die Besucher-ID in Suchanfragen sollte mit der Besucher-ID übereinstimmen, die in Ereignissen gesendet wurde, die sich auf diese Suchanfrage beziehen. |
Wenn sie nicht übereinstimmen, sind die Ereignisse fehlerhaft und die Messwerte sind möglicherweise falsch. |
|
Die Liste der Produkt-IDs in Suchereignissen muss vollständig mit der Liste der Produkte übereinstimmen, die dem Nutzer angezeigt werden. |
Wenn sie nicht übereinstimmen, kann die negative Auswirkung auf die Qualität der Suchergebnisse hoch sein und die Messwerte sind falsch. |
|
Wenn bei der Suche ein Filter verwendet wird, muss |
Wenn dieses Feld nicht vorhanden ist, kann Vertex AI Search for Retail den Filterteil der Daten nicht verwenden, was sich negativ auf die Qualität der Suchergebnisse auswirken kann. |
|
Fügen Sie das Feld |
Wenn Sie kein Suchtoken angeben, hat dies erhebliche negative Auswirkungen auf die Suchqualität und Messwertgenauigkeit. |
Anforderungen an die Suchoptimierung
Laden Sie die folgenden Daten hoch, damit die Suche anhand von allgemeinen Nutzertrends automatisch optimiert werden kann.
Ereignisse sollten mindestens täglich und mit einer maximalen Verzögerung von 24 Stunden hochgeladen werden.
Messwert „Ereignisse“ | Ereignisvolumen/-häufigkeit | Beschreibung |
---|---|---|
Volumen von search Ereignissen |
2.000.000 in den letzten 90 Tagen |
In den letzten 90 Tagen sind mindestens 2 Millionen Ereignisse erforderlich, um die Suche anhand der aufgenommenen Ereignisse zu optimieren.
Wir empfehlen, Ereignisse mindestens täglich hochzuladen, um eine gute Datenqualität zu gewährleisten. Achten Sie beim Importieren historischer Ereignisse darauf, dass sich die Datenverteilung in Richtung des neuesten Zeitstempels bewegt. Die Anzahl der Ereignisse am letzten Tag des Zeitstempels sollte gleich oder größer als die durchschnittliche tägliche Ereignisanzahl sein. |
Volumen von detail-page-view , das einem search -Ereignis zugeordnet werden kann |
500.000 in den letzten 30 Tagen | Zum Optimieren von Suchergebnissen mithilfe von Nutzerereignissen sind mindestens 500.000 Ereignisse erforderlich. |
Durchschnittliche detail-page-view -Ereignisse, die einem search -Ereignis pro Produkt zugeordnet werden können |
10 in den letzten 30 Tagen | Erforderlich zur Optimierung von Suchergebnissen anhand der aufgenommenen Ereignisse, sofern keine Ereignisse der letzten 21 Tage hochgeladen wurden. |
Anteil der search -Ereignisse mit parsbaren Filtern |
0,1 in den letzten 30 Tagen | Empfohlen zum Optimieren der Reihenfolge dynamischer Attribute in der Suchantwort. |
Anteil der gesuchten Produkte mit Preisangabe | 0,95 in den letzten 30 Tagen | Erforderlich zum Optimieren von Suchergebnissen anhand der aufgenommenen Ereignisse. |
Durchschnittliche add-to-cart -Ereignisse, die einem search -Ereignis pro kostenpflichtigem Produkt zugeordnet werden können |
0,5 in den letzten 30 Tagen | Empfohlen für umsatzoptimierte Suchergebnisse. |
Durchschnittliche purchase-complete -Ereignisse, die einem search -Ereignis pro suchbarem Preisprodukt zugeordnet werden können |
0,5 in den letzten 30 Tagen | Empfohlen für umsatzoptimierte Suchergebnisse. |
Anforderungen an die Personalisierung der Suche
Die Suche benötigt die folgenden Daten, um die Textsuche zu personalisieren und Suchergebnisse für deine Nutzer auf Grundlage ihrer Aktivitäten zu durchsuchen.
Nachdem Sie die folgenden Daten hochgeladen haben, können die Ergebnisse automatisch personalisiert werden.
Messwert „Ereignisse“ | Ereignisvolumen/-häufigkeit | Beschreibung |
---|---|---|
Anzahl der search Ereignisse mit Suchanfrage |
100.000 in den letzten 30 Tagen |
Für die Personalisierung sind mindestens 100.000 Ereignisse erforderlich,die in den letzten 30 Tagen über die Suche ausgeliefert wurden.
|
Suchergebnisse werden nicht im Cache gespeichert | Weniger als 1% der letzten 100.000 Nutzerereignisse |
Speichern Sie die Suchergebnisse für die Textsuche nicht im Cache und stöbern Sie nicht bei Suchvorgängen, wenn Sie die Personalisierung verwenden möchten. Wenn Sie für mehrere Besucher dieselben Ergebnisse wiederverwenden, werden Nutzern keine wirklich personalisierten Ergebnisse angezeigt und es besteht das Risiko, dass private Daten der Nutzer in die falschen Hände geraten. Die Suche deaktiviert die Personalisierung automatisch, wenn Caching erkannt wird. Wenn Sie nur Suchergebnisse im Cache speichern, kann die Suche trotzdem die Stöberergebnisse personalisieren. Wenn Sie jedoch nur Stöberergebnisse im Cache speichern, kann die Suche dennoch Textabfrage-Suchergebnisse personalisieren. |
Besucher-ID-Übereinstimmungen zwischen SearchRequests und Nutzerereignissen
|
Mehr als 10% Übereinstimmung für die letzten 100.000 Nutzerereignisse |
Achten Sie darauf, dass der Abstand und die Formatierung der Besucher-ID bei SearchRequests und Nutzerereignissen übereinstimmen. Durch eine einheitliche Formatierung der Besucher-ID wird sichergestellt, dass die Nutzeraktivität bei der Suche korrekt identifiziert werden kann.
|
Beispiele für Nutzerereignistypen und Schemas
Dieser Abschnitt enthält die Datenformate für jeden unterstützten Ereignistyp.
Beispiele für JavaScript Pixel und Tag Manager werden bereitgestellt. Für BigQuery wird das vollständige Tabellenschema für jeden Typ bereitgestellt.
Für alle Nutzerereignistypen ist userId
optional. Die Felder für Produktinformationen (priceInfo
und availability
) sind optional.
Hinweis:
- Das Feld
experimentIds
ist nur erforderlich, wenn Sie einen A/B-Test machen. - Das Feld
attributionToken
ist optional. Es wird verwendet, um die Leistung zu messen.predict
-,search
- unddetail-page-view
-Ereignisse, die durch Klicks generiert werden, müssen ein Attributionstoken haben, damit die Ereignisse mit den Suchanfragen oder Empfehlungen verknüpft werden können, die sie generiert haben. - Achten Sie darauf, dass für alle Ereignisse eine einzige Währung verwendet wird, insbesondere wenn Sie die Google Cloud Console verwenden möchten, um Umsatzmesswerte zu erhalten. Die Vertex AI Search for Retail API unterstützt nicht die Verwendung mehrerer Währungen pro Katalog.
Weitere Informationen zum Nutzerereignisobjekt finden Sie in der Referenzdokumentation zur UserEvent
API.
In den Einkaufswagen
Im Folgenden sehen Sie das Nutzerereignisformat add-to-cart
.
Mindestens erforderliches add-to-cart-Objekt
In den folgenden Beispielen werden nur die erforderlichen Felder des Nutzerereignisformats add-to-cart
gezeigt.
Beim Importieren von Ereignissen müssen Sie den Zeitstempel im Feld eventTime
in dem durch RFC 3339 angegebenen Format angeben.
Je nach verwendeter API-Methode oder zusätzlichen Feldern können andere Felder erforderlich sein. Wenn das Nutzerereignis beispielsweise mit einer Entität verknüpft ist, geben Sie das Feld entity
an.
Ausführliche Informationen zu den einzelnen Feldern und wann sie erforderlich sind, finden Sie in der Referenzdokumentation zur UserEvent
API.
JavaScript Pixel
var user_event = { "eventType": "add-to-cart", "visitorId": "visitor-id", "productDetails": [{ "product": { "id": "product-id" }, "quantity": product-quantity }] };
Tag Manager
<script> dataLayer = dataLayer || []; dataLayer.push({ 'cloud_retail': { 'eventType': 'add-to-cart', 'visitorId': 'visitor-id', // You can also define the visitor ID // directly on the Tag Manager tag. 'productDetails': [{ 'product': { 'id': 'product-id' }, 'quantity': product-quantity }] } }); </script>
BigQuery
Dies ist das vollständige JSON-Schema für diesen Nutzerereignistyp. Geben Sie dieses Schema an, wenn Sie Tabellen für diesen Nutzerereignistyp in BigQuery erstellen.
Die Modi für Pflichtfelder werden auf REQUIRED
oder REPEATED
gesetzt. Die Modi für optionale Felder sind auf NULLABLE
gesetzt.
Beachten Sie, dass eventTime
zum Importieren von Ereignissen mit BigQuery erforderlich ist. eventTime
ist ein String mit einem Zeitstempelformat.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "visitorId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "experimentIds", "type": "STRING", "mode": "REPEATED" }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "productDetails", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "product", "type": "RECORD", "mode": "REQUIRED", "fields": [ { "name": "id", "type": "STRING", "mode": "REQUIRED" } ] }, { "name": "quantity", "type": "INTEGER", "mode": "REQUIRED" } ] }, { "name": "cartId", "type": "STRING", "mode": "NULLABLE" }, { "name": "userInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "userId", "type": "STRING", "mode": "NULLABLE" }, { "name": "ipAddress", "type": "STRING", "mode": "NULLABLE" }, { "name": "userAgent", "type": "STRING", "mode": "NULLABLE" }, { "name": "directUserRequest", "type": "BOOLEAN", "mode": "NULLABLE" } ] }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" }, { "name": "referrerUri", "type": "STRING", "mode": "NULLABLE" }, { "name": "pageViewId", "type": "STRING", "mode": "NULLABLE" }, { "name": "entity", "type": "STRING", "mode": "NULLABLE" } ]
Aufruf von Seite „Kategorie“
Im Folgenden sehen Sie das Nutzerereignisformat category-page-view
.
Mindestens erforderliches category-page-view-Objekt
In den folgenden Beispielen werden nur die erforderlichen Felder des Nutzerereignisformats category-page-view
gezeigt.
Obwohl normalerweise nur eine Kategorie mit einer Seite verknüpft ist, unterstützt das Feld pageCategories
auch eine Kategoriehierarchie, die Sie als Liste bereitstellen können.
Beim Importieren von Ereignissen müssen Sie den Zeitstempel im Feld eventTime
in dem durch RFC 3339 angegebenen Format angeben.
Je nach verwendeter API-Methode oder zusätzlichen Feldern können andere Felder erforderlich sein. Wenn das Nutzerereignis beispielsweise mit einer Entität verknüpft ist, geben Sie das Feld entity
an.
Ausführliche Informationen zu den einzelnen Feldern und wann sie erforderlich sind, finden Sie in der Referenzdokumentation zur UserEvent
API.
JavaScript Pixel
var user_event = { "eventType": "category-page-view", "visitorId": "visitor-id", "pageCategories": ["category1 > category2"] };
Tag Manager
<script> dataLayer = dataLayer || []; dataLayer.push({ 'cloud_retail': { 'eventType': 'category-page-view', 'visitorId": 'visitor-id', // You can also define the user ID and visitor ID // directly on the Tag Manager tag. 'pageCategories': ['category1 > category2'] } }); </script>
BigQuery
Dies ist das vollständige JSON-Schema für diesen Nutzerereignistyp. Geben Sie dieses Schema an, wenn Sie Tabellen für diesen Nutzerereignistyp in BigQuery erstellen.
Die Modi für Pflichtfelder werden auf REQUIRED
oder REPEATED
gesetzt. Die Modi für optionale Felder sind auf NULLABLE
gesetzt.
Beachten Sie, dass eventTime
zum Importieren von Ereignissen mit BigQuery erforderlich ist. eventTime
ist ein String mit einem Zeitstempelformat.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "visitorId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "experimentIds", "type": "STRING", "mode": "REPEATED" }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "productDetails", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "product", "type": "RECORD", "mode": "REQUIRED", "fields": [ { "name": "id", "type": "STRING", "mode": "REQUIRED" } ] } ] }, { "name": "pageCategories", "type": "STRING", "mode": "REPEATED" }, { "name": "userInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "userId", "type": "STRING", "mode": "NULLABLE" }, { "name": "ipAddress", "type": "STRING", "mode": "NULLABLE" }, { "name": "userAgent", "type": "STRING", "mode": "NULLABLE" }, { "name": "directUserRequest", "type": "BOOLEAN", "mode": "NULLABLE" } ] }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" }, { "name": "referrerUri", "type": "STRING", "mode": "NULLABLE" }, { "name": "pageViewId", "type": "STRING", "mode": "NULLABLE" }, { "name": "entity", "type": "STRING", "mode": "NULLABLE" } ]
Detailseitenansicht
Im Folgenden sehen Sie das Datenformat des Nutzerereignisses detail-page-view
.
Mindestens erforderliches detail-page-view-Objekt
In den folgenden Beispielen werden nur die erforderlichen Felder des Nutzerereignisformats detail-page-view
gezeigt.
In den meisten Fällen enthält productDetails
Details zum zugehörigen Produkt, es sei denn, mehrere Artikel werden gemeinsam verkauft.
Beim Importieren von Ereignissen müssen Sie den Zeitstempel im Feld eventTime
in dem durch RFC 3339 angegebenen Format angeben.
Je nach verwendeter API-Methode oder zusätzlichen Feldern können andere Felder erforderlich sein. Wenn das Nutzerereignis beispielsweise mit einer Entität verknüpft ist, geben Sie das Feld entity
an.
Ausführliche Informationen zu den einzelnen Feldern und wann sie erforderlich sind, finden Sie in der Referenzdokumentation zur UserEvent
API.
JavaScript Pixel
var user_event = { "eventType": "detail-page-view", "visitorId": "visitor-id", "productDetails": [{ "product": { "id": "product-id" } }] };
Tag Manager
<script> dataLayer = dataLayer || []; dataLayer.push({ 'cloud_retail': { 'eventType': 'detail-page-view', 'visitorId': 'visitor-id', // You can also define the visitor ID directly on // the Tag Manager tag. 'productDetails': [{ 'product': { 'id': 'product-id' } }] } }); </script>
BigQuery
Dies ist das vollständige JSON-Schema für diesen Nutzerereignistyp. Geben Sie dieses Schema an, wenn Sie Tabellen für diesen Nutzerereignistyp in BigQuery erstellen.
Die Modi für Pflichtfelder werden auf REQUIRED
oder REPEATED
gesetzt. Die Modi für optionale Felder sind auf NULLABLE
gesetzt.
Beachten Sie, dass eventTime
zum Importieren von Ereignissen mit BigQuery erforderlich ist. eventTime
ist ein String mit einem Zeitstempelformat.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "visitorId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "experimentIds", "type": "STRING", "mode": "REPEATED" }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "productDetails", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "product", "type": "RECORD", "mode": "REQUIRED", "fields": [ { "name": "id", "type": "STRING", "mode": "REQUIRED" } ] } ] }, { "name": "userInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "userId", "type": "STRING", "mode": "NULLABLE" }, { "name": "ipAddress", "type": "STRING", "mode": "NULLABLE" }, { "name": "userAgent", "type": "STRING", "mode": "NULLABLE" }, { "name": "directUserRequest", "type": "BOOLEAN", "mode": "NULLABLE" } ] }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" }, { "name": "referrerUri", "type": "STRING", "mode": "NULLABLE" }, { "name": "pageViewId", "type": "STRING", "mode": "NULLABLE" }, { "name": "entity", "type": "STRING", "mode": "NULLABLE" } ]
Startseitenansicht
Im Folgenden sehen Sie das Nutzerereignisformat home-page-view
.
Mindestens erforderliches home-page-view-Objekt
In den folgenden Beispielen werden nur die erforderlichen Felder des Nutzerereignisformats home-page-view
gezeigt.
Beim Importieren von Ereignissen müssen Sie den Zeitstempel im Feld eventTime
in dem durch RFC 3339 angegebenen Format angeben.
Je nach verwendeter API-Methode oder zusätzlichen Feldern können andere Felder erforderlich sein. Wenn das Nutzerereignis beispielsweise mit einer Entität verknüpft ist, geben Sie das Feld entity
an.
Ausführliche Informationen zu den einzelnen Feldern und wann sie erforderlich sind, finden Sie in der Referenzdokumentation zur UserEvent
API.
JavaScript Pixel
var user_event = { "eventType": "home-page-view", "visitorId": "visitor-id", };
Tag Manager
<script> dataLayer = dataLayer || []; dataLayer.push({ 'cloud_retail': { 'eventType': 'home-page-view', 'visitorId': 'visitor-id' // You can also define the visitor ID // directly on the Tag Manager tag. } }); </script>
BigQuery
Dies ist das vollständige JSON-Schema für diesen Nutzerereignistyp. Geben Sie dieses Schema an, wenn Sie Tabellen für diesen Nutzerereignistyp in BigQuery erstellen.
Die Modi für Pflichtfelder werden auf REQUIRED
oder REPEATED
gesetzt. Die Modi für optionale Felder sind auf NULLABLE
gesetzt.
Beachten Sie, dass eventTime
zum Importieren von Ereignissen mit BigQuery erforderlich ist. eventTime
ist ein String mit einem Zeitstempelformat.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "visitorId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "experimentIds", "type": "STRING", "mode": "REPEATED" }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "productDetails", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "product", "type": "RECORD", "mode": "REQUIRED", "fields": [ { "name": "id", "type": "STRING", "mode": "REQUIRED" } ] }, { "name": "quantity", "type": "INTEGER", "mode": "REQUIRED" } ] }, { "name": "userInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "userId", "type": "STRING", "mode": "NULLABLE" }, { "name": "ipAddress", "type": "STRING", "mode": "NULLABLE" }, { "name": "userAgent", "type": "STRING", "mode": "NULLABLE" }, { "name": "directUserRequest", "type": "BOOLEAN", "mode": "NULLABLE" } ] }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" }, { "name": "referrerUri", "type": "STRING", "mode": "NULLABLE" }, { "name": "pageViewId", "type": "STRING", "mode": "NULLABLE" }, { "name": "entity", "type": "STRING", "mode": "NULLABLE" } ]
Kauf abgeschlossen
Im Folgenden sehen Sie das Datenformat des Nutzerereignisses purchase-complete
.
Mindestens erforderliches purchase-complete-Objekt
In den folgenden Beispielen werden nur die erforderlichen Felder des Nutzerereignisformats purchase-complete
gezeigt.
Beim Importieren von Ereignissen müssen Sie den Zeitstempel im Feld eventTime
in dem durch RFC 3339 angegebenen Format angeben.
Je nach verwendeter API-Methode oder zusätzlichen Feldern können andere Felder erforderlich sein. Wenn das Nutzerereignis beispielsweise mit einer Entität verknüpft ist, geben Sie das Feld entity
an.
Ausführliche Informationen zu den einzelnen Feldern und wann sie erforderlich sind, finden Sie in der Referenzdokumentation zur UserEvent
API.
JavaScript Pixel
var user_event = { "eventType": "purchase-complete", "visitorId": "visitor-id", "productDetails": [{ "product": { "id": "product-id" }, "quantity": product-quantity }], "purchaseTransaction": { "revenue": revenue, "currencyCode": "currency-code" } };
Tag Manager
<script> dataLayer = dataLayer || []; dataLayer.push({ 'cloud_retail': { 'eventType': 'purchase-complete', 'visitorId': 'visitor-id', // You can also define the visitor id directly on // the Tag Manager tag. 'productDetails': [{ 'product': { 'id': 'product-id' }, 'quantity': product-quantity }], 'purchaseTransaction': { 'revenue': revenue, 'currencyCode': 'currency-code' } } }); </script>
BigQuery
Dies ist das vollständige JSON-Schema für diesen Nutzerereignistyp. Geben Sie dieses Schema an, wenn Sie Tabellen für diesen Nutzerereignistyp in BigQuery erstellen.
Die Modi für Pflichtfelder werden auf REQUIRED
oder REPEATED
gesetzt. Die Modi für optionale Felder sind auf NULLABLE
gesetzt.
Beachten Sie, dass eventTime
zum Importieren von Ereignissen mit BigQuery erforderlich ist. eventTime
ist ein String mit einem Zeitstempelformat.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "visitorId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "experimentIds", "type": "STRING", "mode": "REPEATED" }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "productDetails", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "product", "type": "RECORD", "mode": "REQUIRED", "fields": [ { "name": "id", "type": "STRING", "mode": "REQUIRED" }, { "name": "priceInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "price", "type": "FLOAT", "mode": "REQUIRED" }, { "name": "originalPrice", "type": "FLOAT", "mode": "NULLABLE" }, { "name": "currencyCode", "type": "STRING", "mode": "REQUIRED" }, { "name": "cost", "type": "FLOAT", "mode": "NULLABLE" } ] } ] }, { "name": "quantity", "type": "INTEGER", "mode": "REQUIRED" } ] }, { "name": "cartId", "type": "STRING", "mode": "NULLABLE" }, { "name": "purchaseTransaction", "type": "RECORD", "mode": "REQUIRED", "fields": [ { "name": "id", "type": "STRING", "mode": "NULLABLE" }, { "name": "revenue", "type": "FLOAT", "mode": "REQUIRED" }, { "name": "tax", "type": "FLOAT", "mode": "NULLABLE" }, { "name": "cost", "type": "FLOAT", "mode": "NULLABLE" }, { "name": "currencyCode", "type": "STRING", "mode": "REQUIRED" } ] }, { "name": "userInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "userId", "type": "STRING", "mode": "NULLABLE" }, { "name": "ipAddress", "type": "STRING", "mode": "NULLABLE" }, { "name": "userAgent", "type": "STRING", "mode": "NULLABLE" }, { "name": "directUserRequest", "type": "BOOLEAN", "mode": "NULLABLE" } ] }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" }, { "name": "referrerUri", "type": "STRING", "mode": "NULLABLE" }, { "name": "pageViewId", "type": "STRING", "mode": "NULLABLE" }, { "name": "entity", "type": "STRING", "mode": "NULLABLE" } ]
Suche
Im Folgenden sehen Sie das Nutzerereignisformat search
.
Mindestens erforderliches search-Objekt
In den folgenden Beispielen werden nur die erforderlichen Felder des Nutzerereignisformats search
gezeigt.
Mindestens eines der Felder searchQuery
oder pageCategories
ist erforderlich.
productDetails
sollte die Liste der Produkt-IDs enthalten, die dem Endnutzer auf der Suchergebnisseite angezeigt werden.
Beim Importieren von Ereignissen müssen Sie den Zeitstempel im Feld eventTime
in dem durch RFC 3339 angegebenen Format angeben.
Je nach verwendeter API-Methode oder zusätzlichen Feldern können andere Felder erforderlich sein. Wenn das Nutzerereignis beispielsweise mit einer Entität verknüpft ist, geben Sie das Feld entity
an.
Ausführliche Informationen zu den einzelnen Feldern und wann sie erforderlich sind, finden Sie in der Referenzdokumentation zur UserEvent
API.
JavaScript Pixel
var user_event = { "eventType": "search", "visitorId": "visitor-id", "searchQuery": "search-query", "pageCategories": ["category1 > category2"], "productDetails": [ { "product": { "id": "product-id1" } }, { "product": { "id": "product-id2" } } ] };
Tag Manager
<script> dataLayer = dataLayer || []; dataLayer.push({ 'cloud_retail': { 'eventType': 'search', 'visitorId': 'visitor-id', // You can also define the visitor ID // directly on the Tag Manager tag. 'searchQuery': 'search-query', 'pageCategories': ['category1 > category2'], 'productDetails': [ { 'product': { 'id': 'product-id1' } }, { 'product': { 'id': 'product-id2' } } ] } }); </script>
BigQuery
Dies ist das vollständige JSON-Schema für diesen Nutzerereignistyp. Geben Sie dieses Schema an, wenn Sie Tabellen für diesen Nutzerereignistyp in BigQuery erstellen.
Die Modi für Pflichtfelder werden auf REQUIRED
oder REPEATED
gesetzt. Die Modi für optionale Felder sind auf NULLABLE
gesetzt.
Beachten Sie, dass eventTime
zum Importieren von Ereignissen mit BigQuery erforderlich ist. eventTime
ist ein String mit einem Zeitstempelformat.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "visitorId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "productDetails", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "product", "type": "RECORD", "mode": "REQUIRED", "fields": [ { "name": "id", "type": "STRING", "mode": "REQUIRED" } ] } ] }, { "name": "searchQuery", "type": "STRING", "mode": "NULLABLE" }, { "name": "pageCategories", "type": "STRING", "mode": "REPEATED" }, { "name": "entity", "type": "STRING", "mode": "NULLABLE" } ]
Automatische Vervollständigung
Dieses Feld ist nur für Suchereignisse erforderlich, wenn Sie die automatische Vervollständigung verwenden möchten. Es ist für die Suche nicht erforderlich.
In den folgenden Beispielen sehen Sie das Feld completionDetail
, wenn ein Nutzer „sh“ eingibt und in der Vorschlagsliste auf den zweiten Vorschlag „shoes“ klickt, um ein Suchereignis auszulösen. Wenn der Nutzer auf keinen Vorschlag klickt, bleibt das Feld completionDetail
leer.
eventType
muss "search"
lauten.
completionAttributionToken
ist die attributionToken
aus der completeQuery
-Antwort.
selectedSuggestion
muss mit searchQuery
übereinstimmen.
JavaScript Pixel
var user_event = { "eventType": "search", "visitorId": "visitor-id", "searchQuery": "search-query", "pageCategories": ["category1 > category2"], "productDetails": [ { "product": { "id": "product-id1" } }, { "product": { "id": "product-id2" } } ] "completionDetail": { "completionAttributionToken": "completion_token", "selectedSuggestion": "search-query", "selectedPosition": completion_position } };
Tag Manager
<script> dataLayer = dataLayer || []; dataLayer.push({ 'cloud_retail': { 'eventType': 'search', 'visitorId': 'visitor-id', // You can also define the visitor ID // directly on the Tag Manager tag. 'searchQuery': 'search-query', 'pageCategories': ['category1 > category2'], 'productDetails': [ { 'product': { 'id': 'product-id1' } }, { 'product': { 'id': 'product-id2' } } ] "completionDetail": { "completionAttributionToken": 'completion_token', "selectedSuggestion": 'search-query', "selectedPosition": completion_position } } }); </script>
BigQuery
Dies ist das vollständige JSON-Schema für diesen Nutzerereignistyp. Geben Sie dieses Schema an, wenn Sie Tabellen für diesen Nutzerereignistyp in BigQuery erstellen.
Die Modi für Pflichtfelder werden auf REQUIRED
oder REPEATED
gesetzt. Die Modi für optionale Felder sind auf NULLABLE
gesetzt.
Beachten Sie, dass eventTime
zum Importieren von Ereignissen mit BigQuery erforderlich ist. eventTime
ist ein String mit einem Zeitstempelformat.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "visitorId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "productDetails", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "product", "type": "RECORD", "mode": "REQUIRED", "fields": [ { "name": "id", "type": "STRING", "mode": "REQUIRED" } ] } ] }, { "name": "searchQuery", "type": "STRING", "mode": "NULLABLE" }, { "name": "pageCategories", "type": "STRING", "mode": "REPEATED" }, { "name": "completionDetail", "type": "RECORD" "mode": "NULLABLE" "fields": [ { "name": "completionAttributionToken", "type": "STRING", "mode": "REQUIRED" }, { "name": "selectedSuggestion", "type": "STRING", "mode": "REQUIRED" }, { "name": "selectedPosition", "type": "INTEGER", "mode": "REQUIRED" } ] } ]
Shopping cart page view
Im Folgenden sehen Sie das Datenformat des Nutzerereignisses shopping-cart-page-view
.
Mindestens erforderliches shopping-cart-page-view-Objekt
In den folgenden Beispielen werden nur die erforderlichen Felder des Nutzerereignisformats shopping-cart-page-view
gezeigt.
Geben Sie das productDetails
-Objekt an, sofern der Einkaufswagen nicht leer ist.
Beim Importieren von Ereignissen müssen Sie den Zeitstempel im Feld eventTime
in dem durch RFC 3339 angegebenen Format angeben.
Je nach verwendeter API-Methode oder zusätzlichen Feldern können andere Felder erforderlich sein. Wenn das Nutzerereignis beispielsweise mit einer Entität verknüpft ist, geben Sie das Feld entity
an.
Ausführliche Informationen zu den einzelnen Feldern und wann sie erforderlich sind, finden Sie in der Referenzdokumentation zur UserEvent
API.
JavaScript Pixel
var user_event = { "eventType": "shopping-cart-page-view", "visitorId": "visitor-id "cartId": "cart-id", "productDetails": [{ "product": { "id": "product-id" }, { "id": "product-id" } }] };
Tag Manager
<script> dataLayer = dataLayer || []; dataLayer.push({ 'cloud_retail': { 'eventType': 'shopping-cart-page-view', 'visitorId': 'visitor-id' // You can also define the visitor ID // directly on the Tag Manager tag. 'cartId': 'cart-id', 'productDetails': [{ 'product': { 'id': 'product-id' }, { 'id': 'product-id' } }] } }); </script>
BigQuery
Dies ist das vollständige JSON-Schema für diesen Nutzerereignistyp. Geben Sie dieses Schema an, wenn Sie Tabellen für diesen Nutzerereignistyp in BigQuery erstellen.
Die Modi für Pflichtfelder werden auf REQUIRED
oder REPEATED
gesetzt. Die Modi für optionale Felder sind auf NULLABLE
gesetzt.
Beachten Sie, dass eventTime
zum Importieren von Ereignissen mit BigQuery erforderlich ist. eventTime
ist ein String mit einem Zeitstempelformat.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "visitorId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "experimentIds", "type": "STRING", "mode": "REPEATED" }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "productDetails", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "product", "type": "RECORD", "mode": "REQUIRED", "fields": [ { "name": "id", "type": "STRING", "mode": "REQUIRED" } ] }, { "name": "quantity", "type": "INTEGER", "mode": "REQUIRED" } ] }, { "name": "cartId", "type": "STRING", "mode": "NULLABLE" }, { "name": "userInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "userId", "type": "STRING", "mode": "NULLABLE" }, { "name": "ipAddress", "type": "STRING", "mode": "NULLABLE" }, { "name": "userAgent", "type": "STRING", "mode": "NULLABLE" }, { "name": "directUserRequest", "type": "BOOLEAN", "mode": "NULLABLE" } ] }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" }, { "name": "referrerUri", "type": "STRING", "mode": "NULLABLE" }, { "name": "pageViewId", "type": "STRING", "mode": "NULLABLE" }, { "name": "entity", "type": "STRING", "mode": "NULLABLE" } ]
Google Analytics 4-Nutzerereignisfelder
Die folgende Tabelle zeigt, wie Google Analytics 4-Nutzerereignisfelder Vertex AI Search für Einzelhandelsfelder zugeordnet werden.
Bevor Sie Nutzerereignisse aus Google Analytics 4 importieren oder aufzeichnen, prüfen Sie, ob für Ihre Google Analytics 4-Nutzerereignisse die folgenden Felder verwendet werden, damit Ihre Daten in Vertex AI Search für den Einzelhandel korrekt eingebunden werden können.
Google Analytics 4 | Einzelhandel |
---|---|
ecommerce.purchase_revenue |
purchaseTransaction.revenue |
event_name |
eventType |
event_timestamp |
eventTime |
items.item_id |
productDetails.product.id |
items.price |
productDetails.product.priceInfo.price |
items.quantity |
productDetails.quantity |
Schlüssel:event_params.key auf "currency" festgelegtWert: event_params.value.string_value |
productDetails.product.priceInfo.currencyCode |
Schlüssel:event_params.key auf "currency" festgelegtWert: event_params.value.string_value |
purchaseTransaction.currencyCode |
Schlüssel:event_params.key auf "search_term" festgelegtWert: event_params.value.string_value |
searchQuery |
user_id |
userInfo.userId |
user_pseudo_id |
visitorId |
Benutzerdefinierte Attribute
Sie können zusätzliche benutzerdefinierte Attribute und Funktionen für Nutzerereignisse hinzufügen. Dies kann dazu führen, dass Ihre Nutzer bessere, spezifischere Empfehlungen erhalten. Verwenden Sie zum Hinzufügen von benutzerdefinierten Attributen attributes
, wenn Sie ein Nutzerereignis aufzeichnen.
Wenn Sie benutzerdefinierte Attribute für aufgenommene Nutzerereignisse angeben, müssen sie auch in die Nutzerereignisse aufgenommen werden, die Sie mit Vorhersageanfragen verknüpfen. Die Formatierung benutzerdefinierter Attribute muss für importierte Ereignisse und Ereignisse, die mit Vorhersageanfragen bereitgestellt werden, einheitlich sein. Dadurch können diese benutzerdefinierten Attribute beim Trainieren von Modellen und beim Bereitstellen von Vorhersagen verwendet werden, was zur Verbesserung der Empfehlungsqualität beiträgt.
Benutzerdefinierte Textwerte können mit dem Feld text
oder benutzerdefinierte numerische Werte über das Feld number
angegeben werden.
Das folgende Beispiel zeigt den Abschnitt attributes
aus einer Anfrage zum Aufzeichnen eines Nutzerereignisses:
"attributes": { "user_age": {"text": ["teen", "young adult"]}, "user_location": {"text": ["CA"]} }
Über Nutzerinformationen
visitorId
steht für die eindeutige Nutzerkennung und ist erforderlich, wenn Sie ein Nutzerereignis aufzeichnen.
Die Nutzerinformationen (UserInfo
), die beim Aufzeichnen eines Nutzerereignisses enthalten sind, enthalten den Wert visitorId
und, sofern verfügbar, den Wert userId
.
userId
ist optional und kann geräteübergreifend als eindeutige, dauerhafte Kennung für einen Nutzer verwendet werden, wenn sich ein Nutzer auf Ihrer Website anmeldet. Wenn Sie die userId
für einen Nutzer aufzeichnen, kann Vertex AI Search für den Einzelhandel personalisiertere Ergebnisse für einen Nutzer auf mehreren Geräten generieren, z. B. sowohl auf einem Mobilgerät als auch in einem Webbrowser.
Informationen zum Zeitstempel
Wenn Sie ein Nutzerereignis aufzeichnen, müssen Sie einen genauen Zeitstempel für das Ereignis angeben. Korrekte Zeitstempel sorgen dafür, dass Ereignisse in der richtigen Reihenfolge gespeichert werden. Für Ereignisse, die mit Tag Manager und dem JavaScript-Pixel erfasst werden, werden automatisch Zeitstempel erfasst. Beim Importieren von Ereignissen müssen Sie den Zeitstempel im Feld eventTime
in dem von RFC 3339 angegebenen Format festlegen.