Dies ist die Dokumentation für Recommendations AI, Retail Search und die neue Retail Console.

Nutzerereignisse

Auf dieser Seite wird das Nutzerereignisobjekt beschrieben, einschließlich der Auflistung potenzieller Nutzerereignistypen. Außerdem finden Sie Beispieldaten für alle Nutzerereignistypen.

Der Einzelhandel verwendet Nutzerereignisse in Echtzeit, um Empfehlungen und Suchergebnisse zu generieren. Wenn Sie Daten in die Retail API hochladen, können sowohl Recommendations AI als auch Retail Search diese Daten verwenden, sodass Sie nicht dieselben Ereignisse zweimal hochladen müssen, wenn Sie beide Dienste verwenden.

Weitere 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 Recommendations AI)

search (für Retail Search)

Wichtig für die Verbesserung der Recommendations AI-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 von Recommendations AI und Retail Search verwendet werden. Prüfen Sie, ob Ihre Nutzerereignisse diese Anforderungen erfüllen, damit die Retail API Qualitätsergebnisse generieren kann.

In diesem Abschnitt wird Folgendes aufgelistet:

Wenn Sie Recommendations AI-Modelle verwenden, sehen Sie sich auch die Anforderungen an Nutzerereignisdaten an, wo zusätzliche Anforderungen aufgelistet werden, in Abhängigkeit von den zu verwendenden Empfehlungsmodelltypen und Optimierungszielen.

Die Messwerte für die Datenqualität werden auch in der Retail Console auf der Seite Daten im Steuerfeld Datenqualität angezeigt. Diese Messwerte zeigen den Prozentsatz der Produkte und Nutzerereignisse, die den empfohlenen Datenqualitätsstandards entsprechen. Weitere Informationen zum Aufrufen der Datenqualität finden Sie unter Datenqualitätsmesswerte.

Retail API-Anforderungen

Achten Sie darauf, dass Ihre Nutzerereignisse die folgenden Anforderungen erfüllen, damit die Retail API Qualitätsergebnisse generieren kann. Diese gelten sowohl für Recommendations AI als auch für Retail Search.

Ereignistyp Anforderung Auswirkungen
Alle Ereignisse

Geben Sie keine doppelten Ereignisse ein.

Doppelte Ereignisse können zu falschen Messwerten führen und die Modellqualität negativ beeinträchtigen.

Geben Sie mindestens 100 eindeutige Besucher-IDs für jeden aufgenommenen Ereignistyp an.

Dadurch wird sichergestellt, dass die Retail API über genügend Daten verfügt, um gute Ergebnisse zu generieren.

Das Feld Product.name ist für alle Produkte erforderlich. Verwenden Sie den vollständigen Ressourcennamen des Produkts und nicht die Produkt-ID, die die letzte Komponente des Ressourcennamens ist.

Ein Ereignis, das ein Produkt ohne Product.name-Feld enthält, kann nicht von der Retail API verwendet 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.

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

purchase_transaction.revenue einschließen.

Ohne dieses Feld sind keine Modelle zur Umsatzoptimierung verfügbar.

Schließen Sie genau ein purchase_transaction.currency_code für alle Kaufereignisse ein.

Kaufereignisse ohne dieses Feld führen zu falschen Umsatzmesswerten.

Recommendations AI-spezifische Anforderungen

Wenn Sie Recommendations AI verwenden, müssen Ihre Nutzerereignisse die folgenden Anforderungen erfüllen.

Wenn Sie Recommendations AI-Modelle verwenden, sehen Sie sich auch die Anforderungen an Nutzerereignisdaten 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.

Retail Search-spezifische Anforderungen

Wenn Sie Retail Search verwenden, müssen Ihre Nutzerereignisse die folgenden Anforderungen erfüllen.

Ereignistyp Anforderung Auswirkungen
search

search_query muss für Suchereignisse vorhanden sein (außer 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 die Retail API 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 Suchtoken angeben, hat dies erhebliche negative Auswirkungen auf die Suchqualität und Messwertgenauigkeit.

Anforderungen an das Suchziel

Bestätigen Sie, dass Sie die Mindestanforderungen an die Daten erfüllen, um die Suche basierend auf den aufgenommenen Ereignissen automatisch zu optimieren. Videos sollten mindestens einmal pro Tag hochgeladen werden. Die maximale Verzögerung beträgt 24 Stunden.

Messwert „Ereignisse“ Anzahl der Ereignisse/Häufigkeit Beschreibung
Volumen von search Ereignissen 2.000.0000 in den letzten 90 Tagen Wir empfehlen,2.000.000 search-Ereignisse über 90 Tage aufzunehmen,um detailliertere Datenanalysen zu erhalten. In den letzten 90 Tagen sind mindestens 2 Millionen Ereignisse erforderlich, um die Suche anhand der aufgenommenen Ereignisse zu optimieren.
Volumen von detail-page-view, das einem search-Ereignis zugeordnet werden kann 500.000 in den letzten 30 Tagen Zur Optimierung der Suchergebnisse mithilfe von Nutzerereignissen sind mindestens 500.000 Ereignisse erforderlich.
Durchschnittliche detail-page-view-Ereignisse, die einem search-Ereignis pro Produkt zugeordnet werden können 10 in den letzten 30 Tagen Erforderlich zur Optimierung von Suchergebnissen mithilfe der aufgenommenen Ereignisse, es sei denn, die Ereignisse der letzten 21 Tage werden hochgeladen.
Anteil von search-Ereignissen mit parsbaren Filtern 0,1 in den letzten 30 Tagen Empfohlen für ein gutes dynamisches Facettenmodell.
Anteil der gesuchten Produkte mit dem Preis 0,95 in den letzten 30 Tagen Erforderlich bei der Optimierung der Suchergebnisse anhand der aufgenommenen Ereignisse.
Durchschnittliche add-to-cart-Ereignisse, die einem search-Ereignis pro kostenpflichtigem Produkt zugeordnet werden können 0,5 in den letzten 30 Tagen Empfohlen für umsatzoptimierte Suchergebnisse.
Durchschnittliche purchase-complete-Ereignisse, die einem search-Ereignis pro durchsuchbarem Produkt zugeordnet werden können 0,5 in den letzten 30 Tagen Empfohlen für umsatzoptimierte Suchergebnisse.

Beispiele für Nutzerereignistypen und Schemas

In diesem Abschnitt werden die Datenformate für jeden von der Retail API 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 optional. Es wird verwendet, um die Leistung zu messen. predict-, search- und detail-page-view-Ereignisse, die aus Klicks der Retail API generiert werden, sollten ein Attributionstoken haben, um die Ereignisse mit den sie generierenden Suchanfragen oder Empfehlungen zu verknüpfen.
  • Alle Ereignisse müssen eine einzige Währung enthalten, insbesondere wenn Sie die Cloud Console verwenden möchten, um Umsatzmesswerte zu erhalten. Die Retail 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.

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

Je nach der verwendeten API-Methode oder wenn zusätzliche Felder verwendet werden, sind möglicherweise andere Felder erforderlich. Ausführliche Informationen zu jedem Feld und wann es erforderlich ist, findest du in der Dokumentation zur UserEvent API.

JavaScript Pixel

var user_event = {
  "eventType": "add-to-cart",
  "visitorId": "visitor-id",
  "cartId": "cart-id",
  "productDetails": [{
    "product": {
      "id": "product-id"
    },
    "quantity": product-quantity
  }]
};

Tag Manager

<script>
    dataLayer = dataLayer || [];
    dataLayer.push({
      'cloud_retail': {
        'eventType': 'add-to-cart',
        'visitorId': 'visitor-id',
        // You can also define the visitor ID
        // directly on the Tag Manager tag.
        'cartId': 'cart-id',
        '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": "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"
 }
]
}
]

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

Je nach der verwendeten API-Methode oder wenn zusätzliche Felder verwendet werden, sind möglicherweise andere Felder erforderlich. Ausführliche Informationen zu jedem Feld und wann es erforderlich ist, findest du in der Dokumentation zur UserEvent API.

JavaScript Pixel

var user_event = {
  "eventType": "category-page-view",
  "visitorId": "visitor-id",
  "pageCategories": ["category1 > category2"]
};

Tag Manager

<script>
    dataLayer = dataLayer || [];
    dataLayer.push({
      'cloud_retail': {
        'eventType': 'category-page-view',
        'visitorId": 'visitor-id',
        // You can also define the user ID and visitor ID
        // directly on the Tag Manager tag.
        'pageCategories': ['category1 > category2']
      }
    });
</script>

BigQuery

Dies ist das vollständige JSON-Schema für diesen Nutzerereignistyp. Geben Sie dieses Schema an, wenn Sie Tabellen für diesen Nutzerereignistyp in BigQuery erstellen.

Die Modi für Pflichtfelder werden auf REQUIRED oder REPEATED gesetzt. Die Modi für optionale Felder sind auf NULLABLE gesetzt.

Beachten Sie, dass eventTime zum Importieren von Ereignissen mit BigQuery erforderlich ist. eventTime ist ein String mit einem Zeitstempelformat.

[
{
"name": "eventType",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "visitorId",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "eventTime",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "pageCategories",
"type": "STRING",
"mode": "REPEATED"
}
]

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

Je nach der verwendeten API-Methode oder wenn zusätzliche Felder verwendet werden, sind möglicherweise andere Felder erforderlich. Ausführliche Informationen zu jedem Feld und wann es erforderlich ist, findest du in der Dokumentation zur UserEvent API.

JavaScript Pixel

var user_event = {
  "eventType": "detail-page-view",
  "visitorId": "visitor-id",
  "productDetails": [{
    "product": {
      "id": "product-id"
    }
  }]
};

Tag Manager

<script>
    dataLayer = dataLayer || [];
    dataLayer.push({
      'cloud_retail': {
        'eventType': 'detail-page-view',
        'visitorId': 'visitor-id',
        // You can also define the visitor ID directly on
        // the Tag Manager tag.
        'productDetails': [{
          'product': {
            'id': 'product-id'
          }
        }]
      }
    });
</script>

BigQuery

Dies ist das vollständige JSON-Schema für diesen Nutzerereignistyp. Geben Sie dieses Schema an, wenn Sie Tabellen für diesen Nutzerereignistyp in BigQuery erstellen.

Die Modi für Pflichtfelder werden auf REQUIRED oder REPEATED gesetzt. Die Modi für optionale Felder sind auf NULLABLE gesetzt.

Beachten Sie, dass eventTime zum Importieren von Ereignissen mit BigQuery erforderlich ist. eventTime ist ein String mit einem Zeitstempelformat.

[
{
"name": "eventType",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "visitorId",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "eventTime",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "productDetails",
"type": "RECORD",
"mode": "REPEATED",
"fields": [
 {
   "name": "product",
   "type": "RECORD",
   "mode": "REQUIRED",
   "fields": [
     {
       "name": "id",
       "type": "STRING",
       "mode": "REQUIRED"
     }
   ]
 }
]
}
]

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

Je nach der verwendeten API-Methode oder wenn zusätzliche Felder verwendet werden, sind möglicherweise andere Felder erforderlich. Ausführliche Informationen zu jedem Feld und wann es erforderlich ist, findest du in der Dokumentation zur UserEvent API.

JavaScript Pixel

var user_event = {
  "eventType": "home-page-view",
  "visitorId": "visitor-id",
};

Tag Manager

<script>
    dataLayer = dataLayer || [];
    dataLayer.push({
      'cloud_retail': {
        'eventType': 'home-page-view',
        'visitorId': 'visitor-id'
        // You can also define the visitor ID
        // directly on the Tag Manager tag.
      }
    });
</script>

BigQuery

Dies ist das vollständige JSON-Schema für diesen Nutzerereignistyp. Geben Sie dieses Schema an, wenn Sie Tabellen für diesen Nutzerereignistyp in BigQuery erstellen.

Die Modi für Pflichtfelder werden auf REQUIRED oder REPEATED gesetzt. Die Modi für optionale Felder sind auf NULLABLE gesetzt.

Beachten Sie, dass eventTime zum Importieren von Ereignissen mit BigQuery erforderlich ist. eventTime ist ein String mit einem Zeitstempelformat.

[
{
"name": "eventType",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "visitorId",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "eventTime",
"type": "STRING",
"mode": "REQUIRED"
}
]

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

Je nach der verwendeten API-Methode oder wenn zusätzliche Felder verwendet werden, sind möglicherweise andere Felder erforderlich. Ausführliche Informationen zu jedem Feld und wann es erforderlich ist, findest du in der Dokumentation zur UserEvent API.

JavaScript Pixel

var user_event = {
  "eventType": "purchase-complete",
  "visitorId": "visitor-id",
  "productDetails": [{
    "product": {
      "id": "product-id"
    },
    "quantity": product-quantity
  }],
  "purchaseTransaction": {
    "revenue": revenue,
    "currencyCode": "currency-code"
  }
};

Tag Manager

<script>
    dataLayer = dataLayer || [];
    dataLayer.push({
      'cloud_retail': {
        'eventType': 'purchase-complete',
        'visitorId': 'visitor-id',
        // You can also define the visitor id directly on
        // the Tag Manager tag.
        'productDetails': [{
          'product': {
            'id': 'product-id'
          },
          'quantity': product-quantity
        }],
        'purchaseTransaction': {
          'revenue': revenue,
          'currencyCode': 'currency-code'
        }
      }
    });
</script>

BigQuery

Dies ist das vollständige JSON-Schema für diesen Nutzerereignistyp. Geben Sie dieses Schema an, wenn Sie Tabellen für diesen Nutzerereignistyp in BigQuery erstellen.

Die Modi für Pflichtfelder werden auf REQUIRED oder REPEATED gesetzt. Die Modi für optionale Felder sind auf NULLABLE gesetzt.

Beachten Sie, dass eventTime zum Importieren von Ereignissen mit BigQuery erforderlich ist. eventTime ist ein String mit einem Zeitstempelformat.

[
{
"name": "eventType",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "visitorId",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "eventTime",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "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": "purchaseTransaction",
"type": "RECORD",
"mode": "REQUIRED",
"fields": [
 {
   "name": "revenue",
   "type": "FLOAT",
   "mode": "REQUIRED"
 },
 {
   "name": "currencyCode",
   "type": "STRING",
   "mode": "REQUIRED"
 }
]
}
]

Im Folgenden sehen Sie das Nutzerereignisformat search.

Mindestens erforderliches search-Objekt

In den folgenden Beispielen werden nur die erforderlichen Felder des Nutzerereignisformats search gezeigt.

Mindestens eines der Felder searchQuery oder pageCategories ist erforderlich.

productDetails sollte die Liste der Produkt-IDs enthalten, die dem Endnutzer auf der Suchergebnisseite angezeigt werden.

Beim Importieren von Ereignissen müssen Sie den Zeitstempel im Feld eventTime in dem von RFC 3339 angegebenen Format angeben.

Je nach der verwendeten API-Methode oder wenn zusätzliche Felder verwendet werden, sind möglicherweise andere Felder erforderlich. Ausführliche Informationen zu jedem Feld und wann es erforderlich ist, findest du in der Dokumentation zur UserEvent API.

JavaScript Pixel

var user_event = {
  "eventType": "search",
  "visitorId": "visitor-id",
  "searchQuery": "search-query",
  "pageCategories": ["category1 > category2"],
  "productDetails": [
    {
      "product": {
        "id": "product-id1"
      }
    }, {
      "product": {
        "id": "product-id2"
      }
    }
  ]
};

Tag Manager

<script>
    dataLayer = dataLayer || [];
    dataLayer.push({
      'cloud_retail': {
        'eventType': 'search',
        'visitorId': 'visitor-id',
        // You can also define the visitor ID
        // directly on the Tag Manager tag.
        'searchQuery': 'search-query',
        'pageCategories': ['category1 > category2'],
        'productDetails': [
          {
            'product': {
              'id': 'product-id1'
            }
          }, {
            'product': {
              'id': 'product-id2'
            }
          }
        ]
      }
    });
</script>

BigQuery

Dies ist das vollständige JSON-Schema für diesen Nutzerereignistyp. Geben Sie dieses Schema an, wenn Sie Tabellen für diesen Nutzerereignistyp in BigQuery erstellen.

Die Modi für Pflichtfelder werden auf REQUIRED oder REPEATED gesetzt. Die Modi für optionale Felder sind auf NULLABLE gesetzt.

Beachten Sie, dass eventTime zum Importieren von Ereignissen mit BigQuery erforderlich ist. eventTime ist ein String mit einem Zeitstempelformat.

[
{
"name": "eventType",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "visitorId",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "eventTime",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "productDetails",
"type": "RECORD",
"mode": "REPEATED",
"fields": [
 {
   "name": "product",
   "type": "RECORD",
   "mode": "REQUIRED",
   "fields": [
     {
       "name": "id",
       "type": "STRING",
       "mode": "REQUIRED"
     }
   ]
 }
]
},
{
"name": "searchQuery",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "pageCategories",
"type": "STRING",
"mode": "REPEATED"
}
]

Automatische Vervollständigung

Dieses Feld ist nur für Suchereignisse erforderlich, wenn du Automatische Vervollständigung verwenden möchtest. Sie ist für die Suche nicht erforderlich.

Die folgenden Beispiele zeigen das Feld completionDetail, wenn ein Nutzer in der Vorschlagsliste einen zweiten Vorschlag (&sht;) eingibt und darauf klickt, um ein Suchereignis auszulösen. Wenn der Nutzer nicht auf Vorschläge klickt, bleibt das Feld completionDetail leer.

eventType muss "search" lauten.

completionAttributionToken ist der attributionToken aus der completeQuery-Antwort.

selectedSuggestion muss mit searchQuery übereinstimmen.

JavaScript Pixel

var user_event = {
  "eventType": "search",
  "visitorId": "visitor-id",
  "searchQuery": "search-query",
  "pageCategories": ["category1 > category2"],
  "productDetails": [
    {
      "product": {
        "id": "product-id1"
      }
    }, {
      "product": {
        "id": "product-id2"
      }
    }
  ]
  "completionDetail": {
    "completionAttributionToken": "completion_token",
    "selectedSuggestion": "search-query",
    "selectedPosition": completion_position
  }
};

Tag Manager

<script>
    dataLayer = dataLayer || [];
    dataLayer.push({
      'cloud_retail': {
        'eventType': 'search',
        'visitorId': 'visitor-id',
        // You can also define the visitor ID
        // directly on the Tag Manager tag.
        'searchQuery': 'search-query',
        'pageCategories': ['category1 > category2'],
        'productDetails': [
          {
            'product': {
              'id': 'product-id1'
            }
          }, {
            'product': {
              'id': 'product-id2'
            }
          }
        ]
        "completionDetail": {
          "completionAttributionToken": 'completion_token',
          "selectedSuggestion": 'search-query',
          "selectedPosition": completion_position
        }
      }
    });
</script>

BigQuery

Dies ist das vollständige JSON-Schema für diesen Nutzerereignistyp. Geben Sie dieses Schema an, wenn Sie Tabellen für diesen Nutzerereignistyp in BigQuery erstellen.

Die Modi für Pflichtfelder werden auf REQUIRED oder REPEATED gesetzt. Die Modi für optionale Felder sind auf NULLABLE gesetzt.

Beachten Sie, dass eventTime zum Importieren von Ereignissen mit BigQuery erforderlich ist. eventTime ist ein String mit einem Zeitstempelformat.

[
{
"name": "eventType",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "visitorId",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "eventTime",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "productDetails",
"type": "RECORD",
"mode": "REPEATED",
"fields": [
 {
   "name": "product",
   "type": "RECORD",
   "mode": "REQUIRED",
   "fields": [
     {
       "name": "id",
       "type": "STRING",
       "mode": "REQUIRED"
     }
   ]
 }
]
},
{
"name": "searchQuery",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "pageCategories",
"type": "STRING",
"mode": "REPEATED"
},
{
"name": "completionDetail",
"type": "RECORD"
"mode": "NULLABLE"
"fields": [
 {
   "name": "completionAttributionToken",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "selectedSuggestion",
   "type": "STRING",
   "mode": "REQUIRED"
 },
 {
   "name": "selectedPosition",
   "type": "INTEGER",
   "mode": "REQUIRED"
 }
]
}
]

Shopping cart page view

Im Folgenden sehen Sie das Datenformat des Nutzerereignisses shopping-cart-page-view.

Mindestens erforderliches shopping-cart-page-view-Objekt

In den folgenden Beispielen werden nur die erforderlichen Felder des Nutzerereignisformats shopping-cart-page-view gezeigt.

Geben Sie das productDetails-Objekt an, sofern der Einkaufswagen nicht leer ist.

Beim Importieren von Ereignissen müssen Sie den Zeitstempel im Feld eventTime in dem von RFC 3339 angegebenen Format angeben.

Je nach der verwendeten API-Methode oder wenn zusätzliche Felder verwendet werden, sind möglicherweise andere Felder erforderlich. Ausführliche Informationen zu jedem Feld und wann es erforderlich ist, findest du in der Dokumentation zur UserEvent API.

JavaScript Pixel

var user_event = {
  "eventType": "shopping-cart-page-view",
  "visitorId": "visitor-id
  "cartId": "cart-id",
  "productDetails": [{
    "product": {
       "id": "product-id"
     },
     {
       "id": "product-id"
     }
   }]
};

Tag Manager

<script>
    dataLayer = dataLayer || [];
    dataLayer.push({
      'cloud_retail': {
        'eventType': 'shopping-cart-page-view',
        'visitorId': 'visitor-id'
        // You can also define the visitor ID
        // directly on the Tag Manager tag.
        'cartId': 'cart-id',
        'productDetails': [{
          'product': {
            'id': 'product-id'
           },
           {
             'id': 'product-id'
           }
         }]
      }
    });
</script>

BigQuery

Dies ist das vollständige JSON-Schema für diesen Nutzerereignistyp. Geben Sie dieses Schema an, wenn Sie Tabellen für diesen Nutzerereignistyp in BigQuery erstellen.

Die Modi für Pflichtfelder werden auf REQUIRED oder REPEATED gesetzt. Die Modi für optionale Felder sind auf NULLABLE gesetzt.

Beachten Sie, dass eventTime zum Importieren von Ereignissen mit BigQuery erforderlich ist. eventTime ist ein String mit einem Zeitstempelformat.

[
{
"name": "eventType",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "visitorId",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "eventTime",
"type": "STRING",
"mode": "REQUIRED"
}
]

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. Wenn Sie benutzerdefinierte Attribute hinzufügen möchten, verwenden Sie attributes, wenn Sie ein Nutzerereignis aufzeichnen.

Wenn Sie benutzerdefinierte Attribute für aufgenommene Nutzerereignisse angeben, müssen diese auch in die Nutzerereignisse aufgenommen werden, die Sie mit Vorhersageanfragen verknüpfen. Die Formatierung benutzerdefinierter Attribute muss zwischen importierten Ereignissen und Ereignissen, die in Vorhersageanfragen angegeben werden, einheitlich sein. Dadurch kann die Retail API diese benutzerdefinierten Attribute beim Trainieren von Modellen und bei der Bereitstellung von Vorhersagen verwenden. Dies verbessert die Empfehlungsqualität.

Du kannst benutzerdefinierte Textwerte im Feld text oder benutzerdefinierte numerische Werte über das 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) enthalten beim Aufzeichnen eines Nutzerereignisses den Wert visitorId und, falls verfügbar, den Wert userId. userId ist optional und kann als eindeutige, dauerhafte Kennung für einen Nutzer auf verschiedenen Geräten verwendet werden, wenn sich ein Nutzer auf deiner Website anmeldet. Wenn du das userId für einen Nutzer aufzeichnest, kann die Retail API die Ergebnisse für einen Nutzer auf mehreren Geräten wie etwa einem Mobilgerät und einem Webbrowser personalisieren.

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 die Retail API Ereignisse in der richtigen Reihenfolge speichert. 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.

Weitere Informationen