Auf dieser Seite werden Nutzerereignisse für Gemini Enterprise-Apps beschrieben, einschließlich Nutzerereignistypen, Anforderungen und Beispielen für Nutzerereignistypen.
Wenn Sie die Gemini Enterprise APIs in Ihren eigenen Anwendungen verwenden, müssen Sie die Suche in Ihrer Anwendung so konfigurieren, dass Nutzerereignisse erfasst werden. Anschließend müssen Sie die Nutzerereignisdaten Ihrer Gemini Enterprise-Anwendung hinzufügen.
Wenn Sie Ihre App über dieGoogle Cloud Console erstellen, müssen Sie Nutzerereignisse nicht manuell importieren und diese Seite nicht lesen.
Hilfe zum Aufzeichnen von Nutzerereignissen finden Sie unter Echtzeit-Nutzerereignisse aufzeichnen. Informationen zum Bulk-Import von bisherigen Nutzerereignissen finden Sie unter Vergangene Nutzerereignisse importieren.
Nutzerereignistypen
Sie können die folgenden Arten von Nutzerereignissen aufzeichnen, während Endnutzer auf Ihrer Website surfen oder suchen:
| Name des Nutzerereignisses | Nutzeraktion |
|---|---|
view-item |
Ruft Details eines Dokuments ab. |
search |
Sucht nach Daten in der Gemini Enterprise App. |
Weitere Informationen zum Nutzerereignisobjekt finden Sie in der [UserEvent API-Referenzdokumentation][user-event].
Beispiele für Nutzerereignistypen und Schemas
In diesem Abschnitt finden Sie die Datenformate für die einzelnen Ereignistypen, die von Gemini Enterprise-Apps unterstützt werden. Beispiele für JavaScript-Pixel sind verfügbar. Für BigQuery wird das vollständige Tabellenschema für jeden Typ bereitgestellt.
Für alle Nutzerereignistypen ist userId optional.
Weitere Informationen zum Nutzerereignisobjekt finden Sie in der [UserEvent-API-Referenzdokumentation][user-event].
view-item
Im Folgenden sehen Sie das Datenformat des Nutzerereignisses view-item.
Anforderungen an die Suchoptimierung für „view_item“-Ereignisse
Wenn Sie möchten, dass die Suche die Suchergebnisse automatisch anhand allgemeiner Nutzertrends optimiert, laden Sie die folgenden Daten hoch.
Ereignisse sollten mindestens täglich mit einer maximalen Verzögerung von 24 Stunden hochgeladen werden.
| Messwert „Ereignisse“ | Anzahl/Häufigkeit der Ereignisse | Beschreibung |
|---|---|---|
Anzahl der view-item-Ereignisse |
250.000 Artikel ansehen |
Mindestens 250.000 Elemente sind erforderlich, um die Suche anhand der aufgenommenen Ereignisse zu optimieren. |
Erforderliches Mindestobjekt „view-item“
In den folgenden Beispielen werden nur die erforderlichen Felder des Nutzerereignisformats view-item gezeigt.
Das Objekt documents enthält die ID des Dokuments (id) und seinen Ressourcennamen (name).
- Wenn Sie Nutzerereignisse auf Datenspeicherebene aufnehmen oder aufzeichnen, können Sie die ID (
id) oder den Ressourcennamen (name) des Dokuments angeben. - Wenn Sie Ereignisse auf Standortebene aufnehmen oder aufzeichnen, müssen Sie den Ressourcennamen des Dokuments (
name) angeben, da er den vollständigen Pfad des Dokuments angibt und auf den Datenspeicher verweist, in dem sich das Dokument befindet. Sie können die ID des Dokuments als optionale, zusätzliche Information angeben.
JavaScript Pixel
var user_event = {
"eventType": "view-item",
"userPseudoId": "USER_PSEUDO_ID",
"engine": "APP_ID",
"eventTime": "2020-01-01T03:33:33.000001Z",
"documents": [{
"name": "DOCUMENT_NAME"
}]
};
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 für den Import von Ereignissen mit BigQuery erforderlich ist. eventTime ist ein String im Zeitstempelformat.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "userPseudoId", "type": "STRING", "mode": "REQUIRED" }, { "name": "engine", "type": "STRING", "mode": "NULLABLE" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "userInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "userId", "type": "STRING", "mode": "NULLABLE" }, { "name": "userAgent", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "pageInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "pageviewId", "type": "STRING", "mode": "NULLABLE" }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" }, { "name": "referrerUri", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "documents", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "id", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "tagIds", "type": "STRING", "mode": "REPEATED" }, { "name": "attributes", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "example_text_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "text", "type": "STRING", "mode": "REPEATED" } ] }, { "name": "example_number_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "numbers", "type": "NUMERIC", "mode": "REPEATED" } ] } ] } ]
search
Im Folgenden sehen Sie das Nutzerereignisformat search.
Anforderungen an die Suchmaschinenoptimierung für Suchereignisse
Wenn Sie die Suche automatisch anhand allgemeiner Nutzertrends optimieren lassen möchten, laden Sie die folgenden Daten hoch.
Ereignisse sollten mindestens täglich mit einer maximalen Verzögerung von 24 Stunden hochgeladen werden.
| Messwert „Ereignisse“ | Anzahl/Häufigkeit der Ereignisse | Beschreibung |
|---|---|---|
Anzahl der search-Ereignisse |
100.000 Suchanfragen |
Es sind mindestens 100.000 Suchanfragen erforderlich, um die Sucherfahrung basierend auf den aufgenommenen Ereignissen zu optimieren. |
Mindestens erforderliches search-Objekt
In den folgenden Beispielen werden nur die erforderlichen Felder des Nutzerereignisformats search gezeigt.
searchQuery für Suchereignisse an, bei denen der Nutzer eine Textanfrage eingegeben hat.
Die attributionToken wird mit den Suchanfrageergebnissen zurückgegeben.
Das Objekt documents enthält die ID des Dokuments (id) und seinen Ressourcennamen (name).
- Wenn Sie Nutzerereignisse auf Datenspeicherebene aufnehmen oder aufzeichnen, können Sie die ID (
id) oder den Ressourcennamen (name) des Dokuments angeben. - Wenn Sie Ereignisse auf Standortebene aufnehmen oder aufzeichnen, müssen Sie den Ressourcennamen des Dokuments (
name) angeben, da er den vollständigen Pfad des Dokuments angibt und auf den Datenspeicher verweist, in dem sich das Dokument befindet. Sie können die ID des Dokuments als optionale, zusätzliche Information angeben.
JavaScript Pixel
var user_event = {
"eventType": "search",
"userPseudoId": "USER_PSEUDO_ID",
"engine": "APP_ID",
"eventTime": "2020-01-01T03:33:33.000001Z",
"searchInfo": {
"searchQuery": "SEARCH_QUERY",
},
"attributionToken": "ATTRIBUTION_TOKEN",
"documents": [
{
"name": "DOCUMENT_NAME_1",
},
{
"name": "DOCUMENT_NAME_2",
},
]
};
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 für den Import von Ereignissen mit BigQuery erforderlich ist. eventTime ist ein String im Zeitstempelformat.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "userPseudoId", "type": "STRING", "mode": "REQUIRED" }, { "name": "engine", "type": "STRING", "mode": "NULLABLE" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "searchInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "searchQuery", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "pageInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "pageCategory", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "documents", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "id", "type": "STRING", "mode": "NULLABLE" } ] } ]
Über Nutzerinformationen
userPseudoId steht für die eindeutige Nutzer-ID und ist erforderlich, wenn Sie ein Nutzerereignis aufzeichnen.
Die Nutzerinformationen ([UserInfo][user-info]), die beim Aufzeichnen eines Nutzerereignisses enthalten sind, enthalten den Wert userPseudoId 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 er sich auf Ihrer Website anmeldet. Wenn Sie die userId für einen Nutzer aufzeichnen, können Gemini Enterprise-Apps personalisierte Ergebnisse für einen Nutzer auf mehreren Geräten generieren, z. B. auf einem Mobilgerät und in einem 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 Ihre Ereignisse in der richtigen Reihenfolge gespeichert werden. Zeitstempel werden automatisch für Ereignisse aufgezeichnet, die mit dem JavaScript-Pixel erfasst werden. Wenn Sie Ereignisse importieren, müssen Sie den Zeitstempel im Feld [eventTime][event-time] im Format angeben, das in RFC 3339 festgelegt ist.
[rec-type-reqs]: /gemini/enterprise/docs/about-media-recommendations-types [record-events]: /gemini/enterprise/docs/record-user-events [event-time]: /gemini/enterprise/docs/reference/rest/v1/projects.locations.dataStores.userEvents#UserEvent.FIELDS.event_time [user-event]: /gemini/enterprise/docs/reference/rest/v1/projects.locations.dataStores.userEvents [user-info]: /gemini/enterprise/docs/reference/rest/v1/projects.locations.dataStores.userEvents#userinfo