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 for Commerce 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.
- Konfigurieren und implementieren Sie Ihre Nutzerereignisse.
- Weitere Informationen zu Nutzerereignistypen
- Weitere Informationen zu Attributionstokens
Funktionsweise der Suchattribution
Nutzerereignistypen
Es gibt mehrere Nutzerereignistypen, die Sie aufzeichnen können, wenn Nutzer Ihre Einzelhandels-Website besuchen:
Name des Nutzerereignisses | Nutzeraktion | Google Analytics 4 event_name |
---|---|---|
home-page-view | Ruft die Startseite auf. | view_homepage |
search (Suchen und surfen) | Durchsucht den Katalog. | view_item_list + [searchQuery ODER pageCategories + filter ] |
category-page-view (nur Empfehlungen) | Zeigt spezielle Seiten an, wie Verkaufs- oder Werbeaktionsseiten. | view_item_list + pageCategories |
detail-page-view | Ruft die Produktdetailseite auf. | view_item |
add-to-cart | Legt Artikel in den Einkaufswagen. | add_to_cart |
shopping-cart-page-view | Ruft den Einkaufswagen auf. | begin_checkout |
purchase-complete | Schließt den Bestellprozess ab. | purchase |
Eine ausführliche Liste der GA4-Ereignisfelder finden Sie unter Google Analytics 4-Felder für Nutzerereignisse.
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 | Nutzerereignistypen |
---|---|
Erforderlich für den ersten Live-Test für Empfehlungen (Ereignistypen hängen vom Typ des Empfehlungsmodells ab) |
|
Zusätzliches Ereignis für Live-Test in der Suche erforderlich |
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 Commerce 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 Datenanforderungen für Modelltypen an, wo zusätzliche Anforderungen aufgelistet werden, in Abhängigkeit von den zu verwendenden Empfehlungsmodelltypen und Optimierungszielen.
Messwerte zur Datenqualität für die Suche finden Sie in der Search for Commerce 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 dazu, wie Sie die Qualität von Suchdaten ansehen können, finden Sie unter Leistungsstufen für die Suche freischalten.
Allgemeine Anforderungen an Nutzerereignisse
Achten Sie darauf, dass Ihre Nutzerereignisse die folgenden Anforderungen erfüllen, damit Vertex AI Search für den Einzelhandel Qualitätsergebnisse generieren kann. Diese gelten sowohl für Empfehlungen als auch für die Suche.
Ereignistyp | Anforderung | Auswirkungen |
---|---|---|
Alle Termine |
Geben Sie keine synthetischen Daten oder doppelten Ereignisse an. |
Synthetische oder doppelte Ereignisse wirken sich negativ auf die Modellqualität aus und verhindern oft 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. |
So wird geprüft, ob Vertex AI Search für den Einzelhandel über genügend Daten verfügt, um gute Ergebnisse zu generieren. |
|
Besucher-IDs müssen beim Importieren oder Aufzeichnen von Ereignissen und in API-Anfragen genau gleich formatiert sein. |
Wenn Sie ein einheitliches Format für Besucher-IDs verwenden, können Besuchermuster richtig erkannt und auf Grundlage des Nutzerverhaltens qualitativ hochwertigere Ergebnisse erzielt werden. |
|
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 neu verknüpfen. |
|
Einige Nutzerereignisse sollten dieselbe Besucher-ID haben. |
Damit gültige Verhaltenssequenzverläufe erstellt werden können, müssen in Vertex AI Search for Commerce mehrere Ereignisse mit derselben Besucher-ID vorhanden sein.
|
|
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. Ein Code muss angegeben werden. |
Kaufereignisse ohne dieses Feld führen zu falschen Umsatzmesswerten. |
|
Prüfen Sie, ob einige Kaufereignisse mehrere Produkte enthalten. |
Wenn Sie einige Kaufereignisse mit mehreren Produkten haben, kann das Modell Muster für gemeinsame Käufe lernen. |
Recommendations-spezifische Anforderungen
Wenn Sie Empfehlungen verwenden, müssen Ihre Nutzerereignisse die folgenden Anforderungen erfüllen.
Wenn Sie Empfehlungsmodelle verwenden, sehen Sie sich auch die Datenanforderungen für Modelltypen an, wo zusätzliche Anforderungen aufgelistet werden, in Abhängigkeit von den zu verwendenden 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. |
Suchspezifische Anforderungen
Wenn Sie die Suche verwenden, müssen Ihre Nutzerereignisse die folgenden Mindestanforderungen erfüllen, damit Ergebnisse zurückgegeben 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 for Commerce 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 Attributions-Token angeben, wird in der Suche für den Handel ein Fehler ausgelöst. Dies hat erhebliche negative Auswirkungen auf die Suchqualität und Messwertgenauigkeit. |
Voraussetzungen für die Suchmaschinenoptimierung
Damit die Suche die Suchergebnisse automatisch auf Grundlage allgemeiner Nutzertrends optimieren kann, laden Sie die folgenden Daten hoch.
Ereignisse sollten mindestens täglich mit einer maximalen Verzögerung von 24 Stunden hochgeladen werden.
Messwert für Ereignisse | Anzahl/Häufigkeit von Ereignissen | Beschreibung |
---|---|---|
Anzahl der search -Ereignisse |
250.000 in den letzten 90 Tagen |
Für die Optimierung der Suchfunktion auf Grundlage der aufgenommenen Ereignisse sind mindestens 250.000 Ereignisse in den letzten 90 Tagen erforderlich. Wir empfehlen, Ereignisse mindestens täglich hochzuladen, um eine gute Datenqualität zu gewährleisten. Achten Sie beim Importieren von Verlaufsdaten darauf, dass die Datenverteilung zum neuesten Zeitstempel hin verzerrt ist. Die Anzahl der Ereignisse am letzten Timestamp-Tag sollte mindestens dem durchschnittlichen täglichen Ereignisvolumen entsprechen. |
Anzahl der detail-page-view , die einem search -Ereignis zugeordnet werden |
500.000 in den letzten 30 Tagen | Für die Optimierung von Suchergebnissen anhand von Nutzerereignissen sind mindestens 500.000 Ereignisse erforderlich. |
Durchschnittliche Anzahl von detail-page-view -Ereignissen, die einem search -Ereignis pro Produkt zugeordnet werden |
10 in den letzten 30 Tagen | Erforderlich, um Suchergebnisse anhand der erfassten Ereignisse zu optimieren, sofern keine Ereignisse für die letzten 21 Tage hochgeladen werden. |
Anteil der search -Ereignisse mit parsierbaren Filtern |
0,1 in den letzten 30 Tagen | Empfohlen zum Optimieren der Reihenfolge dynamischer Attribute in der Suchantwort. |
Anteil der gesuchten Produkte mit Preis | 0,95 in den letzten 30 Tagen | Erforderlich, um Suchergebnisse anhand der erfassten Ereignisse zu optimieren. |
Durchschnittliche Anzahl von add-to-cart -Ereignissen, die einem search -Ereignis pro Produkt mit Preis zugeordnet werden |
0,5 in den letzten 30 Tagen | Empfohlen für umsatzoptimierte Suchergebnisse. |
Durchschnittliche Anzahl von purchase-complete -Ereignissen, die einem search -Ereignis pro durchsuchbarem Produkt mit Preis zugeordnet werden |
0,5 in den letzten 30 Tagen | Empfohlen für umsatzoptimierte Suchergebnisse. |
Anforderungen für die Personalisierung der Suche
Für die Personalisierung der Textsuche und der Suchergebnisse für Ihre Nutzer auf Grundlage ihrer Aktivitäten sind die folgenden Daten erforderlich.
Nachdem Sie die folgenden Daten hochgeladen haben, können Suchergebnisse automatisch personalisiert werden.
Messwert für Ereignisse | Anzahl/Häufigkeit von Ereignissen | Beschreibung |
---|---|---|
Volumen der von der Suche bereitgestellten search -Ereignisse |
100.000 in den letzten 30 Tagen |
Es müssen mindestens 100.000 Suchereignisse in den letzten 30 Tagen vorliegen,um eine Personalisierung zu ermöglichen. |
Suchergebnisse werden nicht im Cache gespeichert | Weniger als 1% der letzten 100.000 Nutzerereignisse |
Suchergebnisse für Text- oder Browsersuchen sollten nicht im Cache gespeichert werden, wenn Sie eine Personalisierung verwenden möchten. Wenn für alle Besucher dieselben Ergebnisse verwendet werden, kann die Suche keine wirklich personalisierten Ergebnisse für einzelne Nutzer liefern. Außerdem besteht das Risiko, dass private Daten von Nutzern offengelegt werden. Die Personalisierung der Suche wird automatisch deaktiviert, wenn Caching erkannt wird. Wenn Sie nur Suchergebnisse im Cache speichern, kann die Suche weiterhin Stöberergebnisse personalisieren. Wenn Sie hingegen nur Browsergebnisse im Cache speichern, können die Suchergebnisse für Textanfragen weiterhin personalisiert werden. |
Übereinstimmungen zwischen Besucher-IDs in SearchRequests und Nutzerereignissen
|
Mehr als 10% Übereinstimmung bei den letzten 100.000 Nutzerereignissen |
Achten Sie darauf, dass die Abstände und die Formatierung der Besucher-ID in SearchRequests und Nutzerereignissen übereinstimmen. Durch die einheitliche Formatierung der Besucher-ID wird sichergestellt, dass die Suche Nutzeraktivitäten richtig identifizieren kann.
|
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 Commerce erforderlich. Es wird verwendet, um die Leistung zu messen. Attributionstokens sollten nicht anpredict
,search
unddetail-page-view
oder an Klickereignisse gesendet werden. - Achten Sie darauf, dass für alle Ereignisse eine einzige Währung verwendet wird, insbesondere wenn Sie mit derGoogle Cloud -Konsole Umsatzmesswerte abrufen möchten. Die Vertex AI Search for Commerce API unterstützt nicht die Verwendung mehrerer Währungen pro Katalog.
Weitere Informationen zum Nutzerereignisobjekt finden Sie in der API-Referenzdokumentation für UserEvent
.
In den Einkaufswagen
Im Folgenden sehen Sie das Nutzerereignisformat add-to-cart
.
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 wenn zusätzliche Felder verwendet werden, sind möglicherweise weitere Felder erforderlich. 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 dazu, wann sie erforderlich sind, finden Sie in der API-Referenzdokumentation zu UserEvent
.
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
.
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 wenn zusätzliche Felder verwendet werden, sind möglicherweise weitere Felder erforderlich. 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 dazu, wann sie erforderlich sind, finden Sie in der API-Referenzdokumentation zu UserEvent
.
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
.
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 wenn zusätzliche Felder verwendet werden, sind möglicherweise weitere Felder erforderlich. 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 dazu, wann sie erforderlich sind, finden Sie in der API-Referenzdokumentation zu UserEvent
.
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
.
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 wenn zusätzliche Felder verwendet werden, sind möglicherweise weitere Felder erforderlich. 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 dazu, wann sie erforderlich sind, finden Sie in der API-Referenzdokumentation zu UserEvent
.
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
.
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 wenn zusätzliche Felder verwendet werden, sind möglicherweise weitere Felder erforderlich. 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 dazu, wann sie erforderlich sind, finden Sie in der API-Referenzdokumentation zu UserEvent
.
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" } ]
Suchen
Im Folgenden sehen Sie das Nutzerereignisformat search
.
Mindestens erforderliches search-Objekt
Das sind die mindestens erforderlichen Felder, damit Vertex AI Search for Commerce eine Liste mit Suchergebnissen zurückgeben kann:
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.userEvents
erfasst alle Metadaten, die für die Retail API erforderlich sind, um zu erfahren, wie Endnutzer mit der Website des Kunden interagieren.
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 wenn zusätzliche Felder verwendet werden, sind möglicherweise weitere Felder erforderlich. 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 dazu, wann sie erforderlich sind, finden Sie in der API-Referenzdokumentation zu UserEvent
.
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. Für die Suche ist sie nicht erforderlich.
In den folgenden Beispielen wird das Feld completionDetail
gezeigt, wenn ein Nutzer „sh“ eingibt und in der Vorschlagsliste auf den zweiten Vorschlag „Schuhe“ klickt, um ein Suchereignis auszulösen. Wenn der Nutzer keine Vorschläge auswählt, bleibt das Feld completionDetail
leer.
eventType
muss "search"
lauten.
completionAttributionToken
ist der attributionToken
aus der Antwort completeQuery
.
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" } ] } ]
Einkaufswagen-Seitenansicht
Im Folgenden sehen Sie das Datenformat des Nutzerereignisses shopping-cart-page-view
.
In den folgenden Beispielen werden nur die erforderlichen Felder des Nutzerereignisformats shopping-cart-page-view
gezeigt.
Geben Sie die Objekte productDetails
und userEvents
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 wenn zusätzliche Felder verwendet werden, sind möglicherweise weitere Felder erforderlich. 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 dazu, wann sie erforderlich sind, finden Sie in der API-Referenzdokumentation zu UserEvent
.
JavaScript Pixel
var user_event = { "eventType": "shopping-cart-page-view"", "visitorId": "VISITOR-ID" "cartId": "CART-ID", "productDetails": [{ "product": { "id": "PRODUCT-ID" }, "quantity": PRODUCT-QUANTITY }] };
Ersetzen Sie PRODUCT-ID
, PRODUCT-QUANTITY
, VISOTOR-ID
und CART-ID
durch Ihre Produkt-ID, Produktmenge, Sitzungs-ID und Warenkorb-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' }, 'quantity': PRODUCT-QUANTITY }] } }); </script>
Ersetzen Sie PRODUCT-ID
, PRODUCT-QUANTITY
, VISOTOR-ID
und CART-ID
durch Ihre Produkt-ID, Produktmenge, Sitzungs-ID und Warenkorb-ID.
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-Felder für Nutzerereignisse Vertex AI Search for Commerce-Feldern zugeordnet werden.
Bevor Sie Nutzerereignisse aus Google Analytics 4 importieren oder aufzeichnen, müssen Sie dafür sorgen, dass Ihre Google Analytics 4-Nutzerereignisse die folgenden Felder verwenden, damit Vertex AI Search for Commerce Ihre Daten korrekt integrieren kann.
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 |