Nutzerereignisse

Auf dieser Seite werden Nutzerereignisse für Medien-Apps beschrieben, einschließlich Nutzerereignistypen, Anforderungen und Beispielen für Nutzerereignistypen.

Für Apps mit Medienempfehlungen ist das Aufzeichnen von Nutzerereignissen erforderlich. Apps für Medienempfehlungen verwenden Nutzerereignisse in Echtzeit, um Empfehlungen zu generieren. Für andere App-Typen sind keine Nutzerereignisse erforderlich.

In der folgenden Tabelle sind die App-Typen aufgeführt, für die Nutzerereignisse hochgeladen werden sollen:

App-Typ Sind Nutzerereignisse erforderlich?
Medienempfehlungen Ja
Mediensuche Nein, aber dringend empfohlen
Allgemeine Empfehlungen Nein
Allgemeine Suche Nein, aber dringend empfohlen

Informationen zum Aufzeichnen von Nutzerereignissen finden Sie unter Nutzerereignisse in Echtzeit aufzeichnen.

Nutzerereignistypen

Sie können die folgenden Arten von Nutzerereignissen aufzeichnen, wenn Endnutzer Ihre Website besuchen:

Name des Nutzerereignisses Nutzeraktion
view-category-page Eine Kategorieseite wird aufgerufen, z. B. „Startseite“ > „Serien“ > „Dramen“ oder „Startseite“ > „Filme“ > „Action“.
view-item Ruft die Detailseite eines Dokuments auf.
view-home-page Ruft die Startseite auf.
search Durchsucht den Datenspeicher.
media-play Klicks auf ein Medienelement.
media-complete Die Wiedergabe eines Medienelements wird beendet.

Weitere Informationen zum UserEvent-Objekt finden Sie in der UserEvent API-Referenz.

Anforderungen und Best Practices für Nutzerereignisse in Medien-Apps

In den folgenden Tabellen sind die Anforderungen und Best Practices für Nutzerereignistypen aufgeführt, die von Apps für Medienempfehlungen verwendet werden. Prüfen Sie, ob Ihre Nutzerereignisse diese Anforderungen erfüllen, damit Ihre App Qualitätsergebnisse generieren kann.

Weitere Informationen finden Sie unter Empfehlungstypen für Medien-Apps. Dort werden die Arten von Nutzerereignissen aufgeführt, die je nach Empfehlungstyp und Optimierungsziel erforderlich sind.

Ereignistyppriorität für Medienempfehlungen

In der folgenden Tabelle wird die Priorität der Nutzerereignistypen für Medienempfehlungen beschrieben. Für die Verwendung von Medienempfehlungen sind einige Nutzerereignisse erforderlich. Andere werden empfohlen, um die Ergebnisse zu verbessern, sind aber nicht erforderlich.

Priorität Nutzerereignisse
Erforderlich für den ersten Live-Test mit Medienempfehlungen

view-item

view-home-page

media-play

media-complete

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

view-category-page

Anforderungen an Medienempfehlungen

Achten Sie darauf, dass Ihre Nutzerereignisse die folgenden Anforderungen erfüllen, damit Ihre Apps für Medienempfehlungen qualitativ hochwertige Ergebnisse generieren können.

Ereignistyp Anforderung Auswirkungen
Alle Ereignisse

Synthetische Daten oder doppelte Ereignisse dürfen nicht enthalten sein.

Synthetische oder doppelte Ereignisse wirken sich negativ auf die Ergebnisqualität aus und können die Bereitstellung Ihrer App verhindern. Doppelte Ereignisse können zu falschen Messwerten führen.

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

Dadurch wird sichergestellt, dass Apps für Medienempfehlungen über genügend Daten verfügen, um gute Ergebnisse zu generieren.

Nutzer-Pseudo-IDs müssen beim Ereignisimport oder bei der Ereignisaufzeichnung und in Anfragen für Medienempfehlungen genau gleich formatiert sein.

Wenn Sie ein einheitliches Format für Nutzer-Pseudo-IDs verwenden, können Apps für Medienempfehlungen Besuchermuster korrekt erkennen und Ergebnisse basierend auf dem Nutzerverhalten in besserer Qualität liefern.

Das Feld DocumentInfo.name oder das Feld DocumentInfo.id ist für alle Dokumente erforderlich.

Ein Ereignis, das ein Dokument ohne DocumentInfo.name-Feld oder DocumentInfo.id-Feld enthält, kann nicht von Apps für Medienempfehlungen verwendet werden.

Die in den Ereignissen enthaltenen Dokumente sollten in Ihrem Datenspeicher vorhanden 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 Ergebnisse auswirken.

Einige Nutzerereignisse sollten dieselbe Pseudo-ID haben.

Damit gültige Verhaltenssequenzverläufe erstellt werden können, müssen Apps für Medienempfehlungen mehrere Ereignisse mit derselben Pseudo-Nutzer-ID sehen können.

Beispiel: visitor123 hat sich fünf Elemente angesehen und bei zwei davon auf „Wiedergabe“ geklickt. Wenn diese Ereignisse dieselbe einheitlich formatierte Nutzer-Pseudo-ID enthalten, kann eine App für Medienempfehlungen diese Verhaltenssequenz in ihren Ergebnissen berücksichtigen.

view-item

Fügen Sie genau ein Dokument pro Ereignis ein.

Das Ereignis kann nicht verwendet werden, wenn kein Dokument vorhanden ist. Wenn mehrere Dokumente angegeben sind, ist das Ereignis fehlerhaft und kann nicht verwendet werden.

media-play

Fügen Sie genau ein Dokument pro Ereignis ein.

Wenn mehrere Dokumente angegeben sind, ist das Ereignis fehlerhaft und kann nicht verwendet werden.

Beispiele für Nutzerereignistypen und Schemas

In diesem Abschnitt werden die Datenformate für jeden von Medienempfehlungen unterstützten Ereignistyp bereitgestellt.

Beispiele für JavaScript Pixel werden bereitgestellt. Für BigQuery wird das vollständige Tabellenschema für jeden Typ bereitgestellt.

Für alle Nutzerereignistypen ist userId optional.

Hinweis:

  • Das Feld tagIds ist nur erforderlich, wenn Sie einen A/B-Test machen.
  • Das Feld attributionToken ist optional. Es wird verwendet, um die Leistung zu messen. search- und view-item-Ereignisse, die über Klicks auf Medienempfehlungen generiert werden, sollten ein Attributionstoken haben, damit die Ereignisse mit den Empfehlungen verknüpft werden können, die sie generiert haben.

Weitere Informationen zum Nutzerereignisobjekt finden Sie in der UserEvent API-Referenzdokumentation.

view-category-page

Im Folgenden sehen Sie das Nutzerereignisformat view-category-page.

Mindestens erforderliches view-category-page-Objekt

In den folgenden Beispielen werden nur die erforderlichen Felder des Nutzerereignisformats view-category-page 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.

JavaScript Pixel

var user_event = {
  "eventType": "view-category-page",
  "userPseudoId": "user-pseudo-id",
  "eventTime": "2020-01-01T03:33:33.000001Z",
  "pageInfo": {
    "pageCategory": "category1 > category2"
  }
};

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 im Zeitstempelformat.

[
  {
    "name": "eventType",
    "type": "STRING",
    "mode": "REQUIRED"
  },
  {
    "name": "userPseudoId",
    "type": "STRING",
    "mode": "REQUIRED"
  },
  {
    "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": "pageCategory",
        "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"
          }
        ]
      }
    ]
  }
]

view-item

Im Folgenden sehen Sie das Datenformat des Nutzerereignisses view-item.

Mindestens erforderliches view-item-Objekt

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

In den meisten Fällen enthält documents Details zum zugehörigen Dokument.

JavaScript Pixel

var user_event = {
  "eventType": "view-item",
  "userPseudoId": "user-pseudo-id",
  "eventTime": "2020-01-01T03:33:33.000001Z",
  "documents": [{
    "id": "document-id"
  }]
};

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 im Zeitstempelformat.

[
  {
    "name": "eventType",
    "type": "STRING",
    "mode": "REQUIRED"
  },
  {
    "name": "userPseudoId",
    "type": "STRING",
    "mode": "REQUIRED"
  },
  {
    "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"
          }
        ]
      }
    ]
  }
]

view-home-page

Im Folgenden sehen Sie das Nutzerereignisformat view-home-page.

Mindestens erforderliches view-home-page-Objekt

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

JavaScript Pixel

var user_event = {
  "eventType": "view-home-page",
  "userPseudoId": "user-pseudo-id",
  "eventTime": "2020-01-01T03:33:33.000001Z",
};

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 im Zeitstempelformat.

[
  {
    "name": "eventType",
    "type": "STRING",
    "mode": "REQUIRED"
  },
  {
    "name": "userPseudoId",
    "type": "STRING",
    "mode": "REQUIRED"
  },
  {
    "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": "quantity",
        "type": "INT64",
        "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.

Mindestens erforderliches search-Objekt

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

Mindestens eines der Felder searchQuery oder pageCategory ist erforderlich:

  • Geben Sie searchQuery für Suchen ein, bei denen der Nutzer eine Textabfrage eingegeben hat.

  • Geben Sie pageCategory an, wenn der Nutzer durch Stöbern zu den gewünschten Elementen gelangt ist, also durch Klicken auf Kategorien statt durch Eingabe einer Textabfrage.

documents sollte die Liste der Dokument-IDs enthalten, die dem Endnutzer auf der Suchergebnisseite angezeigt werden.

JavaScript Pixel

var user_event = {
  eventType: "search",
  userPseudoId: "user-pseudo-id",
  eventTime: "2020-01-01T03:33:33.000001Z",
  searchInfo: {
    searchQuery: "search-query",
  },
  pageInfo: {
    pageCategory: "category1 > category2",
  },
  documents: [
    {
      id: "document-id1",
    },
    {
      id: "document-id2",
    },
  ]
};

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 im Zeitstempelformat.

[
  {
    "name": "eventType",
    "type": "STRING",
    "mode": "REQUIRED"
  },
  {
    "name": "userPseudoId",
    "type": "STRING",
    "mode": "REQUIRED"
  },
  {
    "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": "documents",
    "type": "RECORD",
    "mode": "REPEATED",
    "fields": [
      {
        "name": "id",
        "type": "STRING",
        "mode": "NULLABLE"
      }
    ]
  }
]

media-play

Im Folgenden sehen Sie das Nutzerereignisformat media-play.

Mindestens erforderliches media-play-Objekt

In den folgenden Beispielen werden nur die erforderlichen Felder des Nutzerereignisformats media-play gezeigt.

JavaScript Pixel

var user_event = {
  "eventType": "media-play",
  "userPseudoId": "user-pseudo-id",
  "eventTime": "2020-01-01T03:33:33.000001Z",
  "documents": [
    {
      "id": "document-id1"
    }
  ]
};

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 im Zeitstempelformat.

[
  {
    "name": "eventType",
    "type": "STRING",
    "mode": "REQUIRED"
  },
  {
    "name": "userPseudoId",
    "type": "STRING",
    "mode": "REQUIRED"
  },
  {
    "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"
          }
        ]
      }
    ]
  }
]

media-complete

Im Folgenden sehen Sie das Nutzerereignisformat media-complete.

Mindestens erforderliches media-complete-Objekt

In den folgenden Beispielen werden nur die erforderlichen Felder des Nutzerereignisformats media-complete gezeigt.

JavaScript Pixel

var user_event = {
  "eventType": "media-complete",
  "userPseudoId": "user-pseudo-id",
  "eventTime": "2020-01-01T03:33:33.000001Z",
  "documents": [
    {
      "id": "document-id1"
    }
  ],
  "mediaInfo": {
    "mediaProgressDuration": "65s",
    "mediaProgressPercentage": 1.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 zum Importieren 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": "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"
          }
        ]
      }
    ]
  },
  {
    "name": "mediaInfo",
    "type": "RECORD",
    "mode": "NULLABLE",
    "fields": [
      {
        "name": "mediaProgressDuration",
        "type": "STRING",
        "mode": "NULLABLE"
      },
      {
        "name": "mediaProgressPercentage",
        "type": "NUMERIC",
        "mode": "NULLABLE"
      }
    ]
  }
]

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 Empfehlungsanfragen zuordnen. Die Formatierung von benutzerdefinierten Attributen muss bei importierten Ereignissen und Ereignissen, die in Empfehlungsanfragen bereitgestellt werden, einheitlich sein. So können Apps für Medienempfehlungen diese benutzerdefinierten Attribute verwenden, um die Qualität zu verbessern.

Sie können benutzerdefinierte Textwerte mit dem Feld text oder benutzerdefinierte numerische Werte mit dem Feld numbers 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"]},
    user_zip: {numbers: [90210]}
  }

Über Nutzerinformationen

userPseudoId 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 userPseudoId und, falls verfügbar, den Wert userId. userId ist optional und kann als eindeutige, dauerhafte Kennzeichnung für einen Nutzer auf allen Geräten verwendet werden, wenn sich ein Nutzer auf Ihrer Website anmeldet. Wenn Sie den userId für einen Nutzer aufzeichnen, können Apps für Medienempfehlungen 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 Ihre Ereignisse in der richtigen Reihenfolge gespeichert werden. Für Ereignisse, die mit dem 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