Nutzerereignisse

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

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.

Geben Sie 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