Nutzerereignisse konfigurieren

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:

  1. Bisherige Nutzerereignisse importieren

  2. Nutzerereignisse in Echtzeit aufzeichnen

  3. Nutzerereignisse mit Entitäten taggen

  4. 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

add-to-cart

detail-page-view

purchase-complete

home-page-view (für Empfehlungen)

search (für die Suche)

Wichtig für die Verbesserung der Modellqualität im Laufe der Zeit

category-page-view

search

shopping-cart-page-view

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:

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, visitor123 hat sich fünf Seiten mit Produktdetails angesehen, drei Produkte in den Einkaufswagen gelegt und dann zwei der ursprünglichen fünf Produkte gekauft. Wenn für diese Ereignisse alle dieselbe Besucher-ID mit einheitlichem Format angegeben ist, kann Vertex AI Search for Retail diese Verhaltenssequenz in seinen Modellen berücksichtigen.

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 purchase_transaction.revenue ein.

purchase-complete-Ereignisse, bei denen das Feld revenue fehlt, werden nicht zum Trainieren von Modellen verwendet.

Schließen Sie genau ein purchase_transaction.currency_code für alle Kaufereignisse 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

searchQuery muss für Suchereignisse vorhanden sein und pageCategories für Stöberereignisse.

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 filter vorhanden sein und korrekt geparst werden.

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 attribution_token ein, um andere Ereignisse mit Suchereignissen zu verknüpfen.

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- und detail-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"
 }
]

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 auch productDetails erforderlich:

    • searchQuery wird aus dem Parameter search_term oder aus view_search_results-Ereignissen gelesen.
    • productDetails wird aus dem Parameter items des Ereignisses view_item_list gelesen. Sie sollte die Liste der Produkt-IDs enthalten, die dem Endnutzer auf der Suchergebnisseite angezeigt werden.
  • Mindestens eines der Felder searchQuery oder pageCategories 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.

Nächste Schritte