Esta página descreve os eventos do usuário para apps do Gemini Enterprise, incluindo tipos de eventos do usuário, requisitos e exemplos de tipos de eventos do usuário.
Se você usa as APIs do Gemini Enterprise nos seus próprios apps, precisa configurar a pesquisa no seu app para receber os eventos de usuário e, em seguida, adicionar os dados de eventos de usuário ao seu app do Gemini Enterprise.
Se você criar o app pelo console doGoogle Cloud , não será necessário importar manualmente os eventos de usuário (e você não precisará ler esta página).
Para ajuda com o registro de eventos do usuário, consulte Registrar eventos do usuário em tempo real. Para importar eventos de usuário anteriores em massa, consulte Importar eventos históricos de usuário.
Tipos de evento do usuário
É possível registrar os seguintes tipos de eventos de usuário enquanto os usuários finais navegam ou pesquisam no site:
| Nome do evento do usuário | Ação do usuário |
|---|---|
view-item |
Mostra detalhes de um documento. |
search |
Pesquisa dados no app do Gemini Enterprise. |
Para detalhes sobre o objeto de evento do usuário, consulte a
[documentação de referência da API UserEvent][user-event].
Exemplos e esquemas de tipo de evento do usuário
Esta seção mostra os formatos de dados para cada tipo de evento compatível com os apps do Gemini Enterprise. Há exemplos para o pixel JavaScript. Para o BigQuery, é fornecido o esquema de tabela completo para cada tipo.
Para todos os tipos de eventos do usuário, userId é opcional.
Para mais detalhes sobre o objeto de evento do usuário, consulte a
[documentação de referência da API UserEvent][user-event].
view-item
Veja a seguir o formato de dados de evento do usuário view-item.
Requisitos de otimização de pesquisa para eventos de visualização de itens
Para permitir que a automação dos anúncios de pesquisa otimize a experiência de pesquisa com base nas tendências gerais do usuário, faça upload dos dados a seguir.
Os eventos precisam ser enviados pelo menos diariamente, com um atraso máximo de 24 horas.
| Métrica de eventos | Volume/frequência de eventos | Descrição |
|---|---|---|
Volume de eventos de view-item |
250 mil itens de visualização |
Pelo menos 250.000 itens de visualização são necessários para otimizar a experiência de pesquisa com base nos eventos ingeridos. |
Objeto view-item mínimo obrigatório
Os exemplos a seguir mostram apenas os campos obrigatórios para o formato de evento
do usuário view-item.
O objeto
documents
contém o ID do documento
(id) e o nome do recurso (name).
- Ao ingerir ou registrar eventos de usuário em um repositório de dados, é possível fornecer
o ID do documento (
id) ou o nome do recurso (name). - Ao ingerir ou registrar eventos no nível do local, é necessário fornecer o
nome do recurso do documento (
name), porque ele indica o caminho completo do documento e se refere ao repositório de dados em que o documento está. É possível fornecer o ID do documento como uma informação adicional opcional.
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
Este é o esquema JSON completo para esse tipo de evento do usuário. Especifique esse esquema ao criar tabelas para esse tipo de evento do usuário no BigQuery.
Os modos dos campos obrigatórios estão definidos como REQUIRED ou REPEATED. Os modos dos
campos opcionais são definidos como NULLABLE.
eventTime é obrigatório para importar eventos com o BigQuery. eventTime é uma string com um formato de carimbo de data/hora.
[ { "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" } ] } ] } ]
pesquisar
Veja a seguir o formato de evento do usuário search.
Requisitos de otimização de pesquisa para eventos de pesquisa
Para permitir que a automação dos anúncios de pesquisa otimize automaticamente a experiência com base nas tendências gerais dos usuários, faça upload dos dados a seguir.
Os eventos precisam ser enviados pelo menos diariamente, com um atraso máximo de 24 horas.
| Métrica de eventos | Volume/frequência de eventos | Descrição |
|---|---|---|
Volume de eventos de search |
100 mil pesquisas |
São necessárias pelo menos 100.000 pesquisas para otimizar a experiência de pesquisa com base nos eventos ingeridos. |
Objeto search mínimo necessário
Os exemplos a seguir mostram apenas os campos obrigatórios para o formato de evento
do usuário search.
searchQuery para eventos de pesquisa em que o usuário inseriu uma consulta de texto.
O attributionToken é retornado com os resultados da consulta de pesquisa.
O objeto
documents
contém o ID do documento
(id) e o nome do recurso (name).
- Ao ingerir ou registrar eventos de usuário em um repositório de dados, é possível fornecer
o ID do documento (
id) ou o nome do recurso (name). - Ao ingerir ou registrar eventos no nível do local, é necessário fornecer o
nome do recurso do documento (
name), porque ele indica o caminho completo do documento e se refere ao repositório de dados em que o documento está. É possível fornecer o ID do documento como uma informação adicional opcional.
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
Este é o esquema JSON completo para esse tipo de evento do usuário. Especifique esse esquema ao criar tabelas para esse tipo de evento do usuário no BigQuery.
Os modos dos campos obrigatórios estão definidos como REQUIRED ou REPEATED. Os modos dos
campos opcionais são definidos como NULLABLE.
eventTime é obrigatório para importar eventos com o BigQuery. eventTime é uma string com um formato de carimbo de data/hora.
[ { "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" } ] } ]
Sobre as informações do usuário
userPseudoId representa o identificador de usuário único e é necessário para
registrar um evento do usuário.
As informações do usuário ([UserInfo][user-info]) incluídas quando você registra um evento de usuário contêm o valor userPseudoId e, se disponível, o valor userId.
userId é opcional e pode ser usado como um identificador exclusivo e persistente para um usuário em vários dispositivos sempre que ele fizer login no seu site. Quando você registra o
userId de um usuário,
os apps do Gemini Enterprise
podem gerar resultados mais personalizados para ele em vários dispositivos,
como um dispositivo móvel e um navegador da Web.
Sobre o carimbo de data/hora
Ao registrar um evento do usuário, inclua um carimbo de data/hora preciso de quando
o evento ocorreu. Os carimbos de data/hora precisos garantem que os eventos sejam armazenados na ordem correta. Os carimbos de data/hora são registrados automaticamente para eventos coletados
usando o pixel JavaScript. Ao importar eventos, é preciso fornecer o carimbo de data/hora no campo [eventTime][event-time] no formato especificado pela RFC 3339.
[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