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 Apps verwenden, müssen Sie die Suche in Ihrer App konfigurieren, um die Nutzerereignisse zu erhalten, und dann die Daten zu Nutzerereignissen Ihrer Gemini Enterprise-App hinzufügen.

Wenn Sie Ihre App über die Konsole Google Cloud erstellen, müssen Sie Nutzerereignisse nicht manuell importieren und diese Seite nicht lesen .

Weitere Informationen 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, wenn Endnutzer auf Ihrer Website surfen oder suchen:

Name des Nutzerereignisses Nutzeraktion
view-item Details eines Dokuments ansehen
search Daten in der Gemini Enterprise-App suchen

Weitere Informationen zum Nutzerereignisobjekt finden Sie in der [UserEvent-API-Referenzdokumentation][user-event].

Beispiele für Nutzerereignistypen und Schemas

In diesem Abschnitt werden die Datenformate für jeden Ereignistyp beschrieben, der von Gemini Enterprise-Apps unterstützt wird. Es werden Beispiele für JavaScript-Pixel bereitgestellt. 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 Suchmaschinenoptimierung für „view-item“-Ereignisse

Damit die Suche die Suchergebnisse automatisch anhand allgemeiner Nutzertrends optimieren kann, laden Sie die folgenden Daten hoch.

Ereignisse sollten mindestens täglich mit einer maximalen Verzögerung von 24 Stunden hochgeladen werden.

Ereignismesswert Ereignisvolumen/-häufigkeit Beschreibung
Volumen von view-item-Ereignissen 250.000 angesehene Elemente

Für die Optimierung der Suchergebnisse anhand der erfassten Ereignisse sind mindestens 250.000 angesehene Elemente erforderlich zur Optimierung der Suchergebnisse anhand der erfassten Ereignisse.

Mindestens erforderliches „view-item“-Objekt

In den folgenden Beispielen werden nur die erforderlichen Felder des Nutzerereignisformats view-item gezeigt.

Das documents Objekt enthält die ID (id) und den Ressource namen (name) des Dokuments.

  • Wenn Sie Nutzerereignisse auf Datenspeicherebene erfassen oder aufzeichnen, können Sie die ID (id) oder den Ressourcennamen (name) des Dokuments angeben.
  • Wenn Sie Ereignisse auf Standortebene erfassen oder aufzeichnen, müssen Sie den Ressourcennamen (name) des Dokuments angeben, da er den vollständigen Pfad eines 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.

eventTime ist für den Import von Ereignissen mit BigQuery erforderlich. eventTime ist ein String mit einem 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

Damit die Suche die Suchergebnisse automatisch anhand allgemeiner Nutzertrends optimieren kann, laden Sie die folgenden Daten hoch.

Ereignisse sollten mindestens täglich mit einer maximalen Verzögerung von 24 Stunden hochgeladen werden.

Ereignismesswert Ereignisvolumen/-häufigkeit Beschreibung
Volumen von search-Ereignissen 100.000 Suchanfragen

Für die Optimierung der Suchergebnisse anhand der erfassten Ereignisse sind mindestens 100.000 Suchanfragen erforderlich zur Optimierung der Suchergebnisse anhand der erfassten Ereignisse.

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 Textabfrage eingegeben hat.

Das attributionToken wird mit den Suchanfrageergebnissen zurückgegeben.

Das documents Objekt enthält die ID (id) und den Ressource namen (name) des Dokuments.

  • Wenn Sie Nutzerereignisse auf Datenspeicherebene erfassen oder aufzeichnen, können Sie die ID (id) oder den Ressourcennamen (name) des Dokuments angeben.
  • Wenn Sie Ereignisse auf Standortebene erfassen oder aufzeichnen, müssen Sie den Ressourcennamen (name) des Dokuments angeben, da er den vollständigen Pfad eines 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.

eventTime ist für den Import von Ereignissen mit BigQuery erforderlich. eventTime ist ein String mit einem 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 stellt die eindeutige Nutzer-ID dar 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 ID für einen Nutzer auf verschiedenen Geräten verwendet werden, wenn sich ein Nutzer auf Ihrer Website anmeldet. Wenn Sie die userId für einen Nutzer aufzeichnen, können Gemini Enterprise-Apps persönlichere 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 von RFC 3339 angegebenen Format angeben.

[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