Auf dieser Seite wird das Nutzerereignisobjekt beschrieben, einschließlich der Auflistung potenzieller Nutzerereignistypen. Außerdem finden Sie Beispieldaten für alle Nutzerereignistypen.
So konfigurieren Sie Ihre Nutzerereignisse:
Nutzerereignisse mit Entitäten taggen
Nutzerereignisse mit Attributionstokens kennzeichnen
Vertex AI Search for Retail verwendet Nutzerereignisse in Echtzeit, um Empfehlungen und Suchergebnisse zu generieren. Wenn Sie Daten hochladen, können sowohl Empfehlungen als auch die Suche diese Daten verwenden. Sie müssen also nicht dieselben Ereignisse zweimal hochladen, wenn Sie beide Dienste verwenden.
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 für die Verbesserung der Modellqualität im Laufe der Zeit |
Anforderungen und Best Practices für Nutzerereignisse
In den folgenden Tabellen sind die Anforderungen und Best Practices für Nutzerereignistypen aufgeführt, die für Empfehlungen und die Suche verwendet werden. Prüfen Sie, ob Ihre Nutzerereignisse diese Anforderungen erfüllen, damit Vertex AI Search for Retail Qualitätsergebnisse generieren kann.
In diesem Abschnitt wird Folgendes aufgelistet:
- Anforderungen an Nutzerereignisse: Allgemeine Anforderungen an Nutzerereignisse. Diese Anforderungen gelten unabhängig davon, ob Sie Empfehlungen und die Suche verwenden.
- Empfehlungsspezifische Anforderungen: Nutzerereignisanforderungen für Empfehlungen.
- Suchspezifische Anforderungen: Nutzerereignisanforderungen für die Suche.
Wenn Sie Empfehlungsmodelle verwenden, sehen Sie sich auch die Anforderungen an Daten für den Modelltyp an. Hier sind zusätzliche Anforderungen aufgeführt, jeweils in Abhängigkeit von den verwendeten Empfehlungsmodelltypen und Optimierungszielen.
Messwerte zur Datenqualität für die Suche finden Sie in der Retail Search Console auf der Seite Datenqualität. Diese Messwerte geben den Prozentsatz der Produkte und Nutzerereignisse an, die die empfohlenen Standards für die Datenqualität erfüllen. Informationen zum Aufrufen der Suchdatenqualität finden Sie unter Leistungsstufen für die Suche freischalten.
Anforderungen an Nutzerereignisse
Achten Sie darauf, dass Ihre Nutzerereignisse die folgenden Anforderungen erfüllen, damit die Vertex AI Search for Retail Qualitätsergebnisse generieren kann. Diese 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 hinzu. |
Synthetische oder doppelte Ereignisse beeinträchtigen die Modellqualität 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 for Retail über genügend Daten verfügt, um gute Ergebnisse zu generieren. |
|
Besucher-IDs müssen beim Ereignisimport oder bei der Ereignisaufzeichnung sowie in API-Anfragen genau gleich formatiert sein. |
Wenn Sie ein einheitliches Format für Besucher-IDs verwenden, können Sie Besuchermuster korrekt erkennen und Ergebnisse basierend auf dem Nutzerverhalten von besserer Qualität 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 verknüpft werden, nachdem die zugehörigen Produkte aufgenommen wurden. Weitere Informationen finden Sie unter Nutzerereignisse wieder aufnehmen. |
|
Einige Nutzerereignisse sollten dieselbe Besucher-ID haben. |
Damit Vertex AI Search for Retail gültige Verhaltenssequenzverläufe erstellen kann, müssen mehrere Ereignisse mit derselben Besucher-ID erfasst werden.
Angenommen, |
|
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 |
|
Schließen Sie genau ein Es gibt keinen Standardwährungscode. Sie müssen einen Code angeben. |
Kaufereignisse ohne dieses Feld führen zu falschen Umsatzmesswerten. |
|
Prüfen Sie, ob einige Kaufereignisse mehrere Produkte enthalten. |
Wenn einige Kaufereignisse mehrere Produkte umfassen, kann das Modell Kaufmuster für gemeinsame Käufe lernen. |
Empfehlungen – spezifische Anforderungen
Wenn Sie Empfehlungen verwenden, müssen Ihre Nutzerereignisse die folgenden Anforderungen erfüllen.
Wenn Sie Empfehlungsmodelle verwenden, sehen Sie sich auch die Anforderungen an Daten für den Modelltyp an. Hier sind zusätzliche Anforderungen aufgeführt, jeweils in Abhängigkeit von den verwendeten Empfehlungsmodelltypen und Optimierungszielen.
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. |
Suchanforderungen
Wenn Sie die Suche verwenden, müssen Ihre Nutzerereignisse die folgenden Mindestanforderungen erfüllen, damit Ergebnisse erzielt werden.
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 für den Einzelhandel 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 Attributionstoken angeben, wird in der Retail Search ein Fehler ausgelöst und die Suchqualität und Messwertgenauigkeit werden erheblich beeinträchtigt. |
Anforderungen an die Suchmaschinenoptimierung
Wenn Sie möchten, dass die Suche die Ergebnisse automatisch anhand der allgemeinen Nutzertrends optimiert, laden Sie die folgenden Daten hoch.
Ereignisse sollten mindestens einmal täglich mit einer maximalen Verzögerung von 24 Stunden hochgeladen werden.
Messwert „Ereignisse“ | Ereignisvolumen/-häufigkeit | Beschreibung |
---|---|---|
Anzahl der search -Ereignisse |
250.000 in den letzten 90 Tagen |
Mindestens 250.000 Ereignisse in den letzten 90 Tagen sind erforderlich,um die Suche anhand der aufgenommenen Ereignisse zu optimieren.
Wir empfehlen, Ereignisse mindestens einmal täglich hochzuladen, um eine gute Datenqualität zu gewährleisten. Achten Sie beim Importieren von Verlaufsereignissen darauf, dass die Datenverteilung zum aktuellen Zeitstempel hin verzerrt ist. Die Anzahl der Ereignisse am letzten Tag mit Zeitstempel sollte der durchschnittlichen täglichen Ereignisanzahl entsprechen oder diese überschreiten. |
Anzahl der detail-page-view , die einem search -Ereignis zugeordnet werden können |
500.000 in den letzten 30 Tagen | Für die Optimierung der Suchergebnisse mithilfe von Nutzerereignissen sind mindestens 500.000 Ereignisse erforderlich. |
Durchschnittliche Anzahl von detail-page-view -Ereignissen, die einem search -Ereignis pro Produkt zugeordnet werden können |
10 in den letzten 30 Tagen | Erforderlich, um die Suchergebnisse anhand der aufgenommenen Ereignisse zu optimieren, es sei denn, Ereignisse der letzten 21 Tage werden hochgeladen. |
Anteil der search -Ereignisse mit parsebaren Filtern |
0,1 in den letzten 30 Tagen | Empfohlen, um die Reihenfolge der dynamischen Facetten in der Suchantwort zu optimieren. |
Anteil der gesuchten Produkte mit Preis | 0,95 in den letzten 30 Tagen | Erforderlich, um die Suchergebnisse anhand der aufgenommenen Ereignisse zu optimieren. |
Durchschnittliche Anzahl von add-to-cart -Ereignissen, die einem search -Ereignis pro produkt mit Preis zugeordnet werden können |
0,5 in den letzten 30 Tagen | Empfohlen für umsatzoptimierte Suchergebnisse. |
Durchschnittliche Anzahl der purchase-complete -Ereignisse, die einem search -Ereignis pro suchbarem Produkt mit Preis zugeordnet werden können |
0,5 in den letzten 30 Tagen | Empfohlen für umsatzoptimierte Suchergebnisse. |
Anforderungen an die Personalisierung der Suche
Für die Suche sind die folgenden Daten erforderlich, um die Textsuche zu personalisieren und Suchergebnisse für Ihre Nutzer basierend auf ihren Aktivitäten zu filtern.
Nachdem Sie die folgenden Daten hochgeladen haben, können Suchergebnisse automatisch personalisiert werden.
Messwert „Ereignisse“ | Ereignisvolumen/-häufigkeit | Beschreibung |
---|---|---|
Volumen der search -Ereignisse, die über die Suche gesendet wurden |
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 |
Wenn Sie die Personalisierung verwenden möchten, sollten Sie Suchergebnisse für die Textsuche oder die Navigationssuche nicht im Cache speichern. Wenn dieselben Ergebnisse für alle Besucher wiederverwendet werden, kann die Suche keinem Nutzer wirklich personalisierte Ergebnisse liefern. Außerdem besteht das Risiko, dass die privaten Daten der Nutzer offengelegt werden. Die Personalisierung der Suche wird automatisch deaktiviert, wenn Caching erkannt wird. Wenn Sie nur Suchergebnisse im Cache speichern, können Stöberergebnisse trotzdem personalisiert werden. Wenn Sie dagegen nur Suchergebnisse im Cache speichern, können Suchergebnisse für Textabfragen trotzdem personalisiert werden. |
Übereinstimmungen der Besucher-IDs zwischen SearchRequests und Nutzerereignissen
|
Übereinstimmung von mehr als 10% bei den letzten 100.000 Nutzerereignissen |
Achten Sie darauf, dass die Abstände und das Format der Besucher-IDs in SearchRequests und Nutzerereignissen übereinstimmen. Eine einheitliche Formatierung der Besucher-ID sorgt dafür, dass Nutzeraktivitäten in der Suche korrekt erkannt werden können.
|
Beispiele für Nutzerereignistypen und Schemas
In diesem Abschnitt werden die Datenformate für jeden unterstützten Ereignistyp bereitgestellt.
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 mit Produktinformationen (priceInfo
und availability
) sind optional.
Hinweis:
- Das Feld
experimentIds
ist nur erforderlich, wenn Sie einen A/B-Test machen. - Das Feld
attributionToken
ist nur für Vertex AI Search for Retail erforderlich. Sie wird verwendet, um die Leistung zu messen.predict
-,search
- unddetail-page-view
-Ereignisse, die aus Klicks generiert werden, sollten ein Attributionstoken haben, um die Ereignisse mit den sie generierenden Suchanfragen oder Empfehlungen zu verknüpfen. - Achten Sie darauf, dass für alle Ereignisse eine einzige Währung verwendet wird, insbesondere wenn Sie mit der Google Cloud Console Umsatzmesswerte abrufen möchten. 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 UserEvent
API-Referenzdokumentation.
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 von RFC 3339 angegebenen Format festlegen.
Je nach verwendeter API-Methode oder bei Verwendung zusätzlicher Felder sind möglicherweise weitere Felder erforderlich. Wenn das Nutzerereignis beispielsweise mit einer Entität verknüpft ist, müssen Sie das Feld entity
angeben.
Ausführliche Informationen zu den einzelnen Feldern und zu den Fällen, in denen sie erforderlich sind, finden Sie in der UserEvent
API-Referenzdokumentation.
JavaScript Pixel
var user_event = { "eventType": "add-to-cart", "visitorId": "visitor-id", "productDetails": [{ "product": { "id": "product-id" }, "quantity": { "value": 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 von RFC 3339 angegebenen Format festlegen.
Je nach verwendeter API-Methode oder bei Verwendung zusätzlicher Felder sind möglicherweise weitere Felder erforderlich. Wenn das Nutzerereignis beispielsweise mit einer Entität verknüpft ist, müssen Sie das Feld entity
angeben.
Ausführliche Informationen zu den einzelnen Feldern und dazu, wann sie erforderlich sind, finden Sie in der UserEvent
API-Referenzdokumentation.
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 von RFC 3339 angegebenen Format festlegen.
Je nach verwendeter API-Methode oder bei Verwendung zusätzlicher Felder sind möglicherweise weitere Felder erforderlich. Wenn das Nutzerereignis beispielsweise mit einer Entität verknüpft ist, müssen Sie das Feld entity
angeben.
Ausführliche Informationen zu den einzelnen Feldern und zu den Fällen, in denen sie erforderlich sind, finden Sie in der UserEvent
API-Referenzdokumentation.
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 von RFC 3339 angegebenen Format festlegen.
Je nach verwendeter API-Methode oder bei Verwendung zusätzlicher Felder sind möglicherweise weitere Felder erforderlich. Wenn das Nutzerereignis beispielsweise mit einer Entität verknüpft ist, müssen Sie das Feld entity
angeben.
Ausführliche Informationen zu den einzelnen Feldern und zu den Fällen, in denen sie erforderlich sind, finden Sie in der UserEvent
API-Referenzdokumentation.
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 von RFC 3339 angegebenen Format festlegen.
Je nach verwendeter API-Methode oder bei Verwendung zusätzlicher Felder sind möglicherweise weitere Felder erforderlich. Wenn das Nutzerereignis beispielsweise mit einer Entität verknüpft ist, müssen Sie das Feld entity
angeben.
Ausführliche Informationen zu den einzelnen Feldern und zu den Fällen, in denen sie erforderlich sind, finden Sie in der UserEvent
API-Referenzdokumentation.
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
Das sind die Mindestanforderungen an die Felder, damit Vertex AI Search for Retail funktioniert:
Damit Vertex AI Search for Retail eine Liste mit Suchergebnissen zurückgeben kann, sind sowohl
searchQuery
als auchproductDetails
erforderlich:searchQuery
wird aus dem Parametersearch_term
oder ausview_search_results
-Ereignissen gelesen.productDetails
wird aus dem Parameteritems
des Ereignissesview_item_list
gelesen. Sie sollte die Liste der Produkt-IDs enthalten, die dem Endnutzer auf der Suchergebnisseite angezeigt werden.
Mindestens eines der Felder
searchQuery
oderpageCategories
ist erforderlich.
In den folgenden Beispielen werden nur die erforderlichen Felder des Nutzerereignisformats search
gezeigt.
Beim Importieren von Ereignissen müssen Sie den Zeitstempel im Feld eventTime
in dem von RFC 3339 angegebenen Format festlegen.
Je nach verwendeter API-Methode oder bei Verwendung zusätzlicher Felder sind möglicherweise weitere Felder erforderlich. Wenn das Nutzerereignis beispielsweise mit einer Entität verknüpft ist, müssen Sie das Feld entity
angeben.
Ausführliche Informationen zu den einzelnen Feldern und zu den Fällen, in denen sie erforderlich sind, finden Sie in der UserEvent
API-Referenzdokumentation.
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 für Suchen nur erforderlich, wenn Sie die automatische Vervollständigung verwenden möchten. Sie ist für die Suche nicht erforderlich.
In den folgenden Beispielen ist das Feld completionDetail
zu sehen, wenn ein Nutzer „sh“ eingibt und in der Vorschlagsliste auf den zweiten Vorschlag „Schuhe“ klickt, um ein Suchereignis auszulösen. Wenn der Nutzer auf keinen Vorschlag klickt, bleibt das Feld completionDetail
leer.
eventType
muss "search"
lauten.
completionAttributionToken
ist das attributionToken
aus der completeQuery
-Antwort.
selectedSuggestion
sollte 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 von RFC 3339 angegebenen Format festlegen.
Je nach verwendeter API-Methode oder bei Verwendung zusätzlicher Felder sind möglicherweise weitere Felder erforderlich. Wenn das Nutzerereignis beispielsweise mit einer Entität verknüpft ist, müssen Sie das Feld entity
angeben.
Ausführliche Informationen zu den einzelnen Feldern und zu den Fällen, in denen sie erforderlich sind, finden Sie in der UserEvent
API-Referenzdokumentation.
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-Felder für Nutzerereignisse
In der folgenden Tabelle sehen Sie, wie Google Analytics 4-Ereignisfelder für Nutzer Feldern in Vertex AI Search für den Einzelhandel zugeordnet werden.
Bevor Sie Nutzerereignisse aus Google Analytics 4 importieren oder erfassen, müssen Sie dafür sorgen, dass in Ihren Google Analytics 4-Nutzerereignissen die folgenden Felder verwendet werden, damit Ihre Daten in Vertex AI Search for Retail 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" festgelegt Wert: event_params.value.string_value |
productDetails.product.priceInfo.currencyCode |
Schlüssel:event_params.key auf "currency" festgelegt Wert: event_params.value.string_value |
purchaseTransaction.currencyCode |
Schlüssel:event_params.key auf "search_term" festgelegt Wert: 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 zu besseren, spezifischeren Empfehlungen für Ihre Nutzer führen. Verwenden Sie zum Hinzufügen benutzerdefinierter Attribute attributes
, wenn Sie ein Nutzerereignis aufzeichnen.
Wenn Sie benutzerdefinierte Attribute für aufgenommene Nutzerereignisse angeben, müssen Sie diese auch in die Nutzerereignisse aufnehmen, die Sie Anfragen zur Vorhersage zuordnen. Die Formatierung von benutzerdefinierten Attributen muss bei importierten Ereignissen und Ereignissen, die in Vorhersageanfragen bereitgestellt werden, einheitlich sein. So können diese benutzerdefinierten Attribute beim Trainieren von Modellen und Bereitstellen von Vorhersagen verwendet werden, was die Qualität der Empfehlungen verbessert.
Sie können benutzerdefinierte Textwerte mit dem Feld text
oder benutzerdefinierte numerische Werte mit dem Feld number
angeben.
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 einbezogen werden, enthalten den Wert visitorId
und, falls verfügbar, den Wert userId
.
userId
ist optional und kann als eindeutige permanente Kennzeichnung für einen Nutzer auf allen Geräten verwendet werden, wenn sich ein Nutzer auf Ihrer Website anmeldet. Wenn Sie die userId
für einen Nutzer aufzeichnen, kann Vertex AI Search for Retail für einen Nutzer persönlichere Ergebnisse über mehrere Geräte hinweg generieren, z. B. sowohl ein Mobilgerät als auch einen Webbrowser.
Informationen zum Zeitstempel
Wenn Sie ein Nutzerereignis aufzeichnen, müssen Sie einen genauen Zeitstempel für das Ereignis angeben. Genaue Zeitstempel sorgen dafür, dass Ereignisse in der richtigen Reihenfolge gespeichert werden. Für Ereignisse, die mit Tag Manager und JavaScript Pixel erfasst wurden, werden Zeitstempel automatisch erfasst. Beim Importieren von Ereignissen müssen Sie den Zeitstempel im Feld eventTime
in dem von RFC 3339 angegebenen Format festlegen.