Sobre os eventos do usuário

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, é necessário configurar a pesquisa no app para receber os eventos do usuário e, em seguida, adicionar os dados de eventos do usuário ao app do Gemini Enterprise.

Se você criar o app pelo Google Cloud console, não será necessário importar eventos do usuário manualmente (e não será necessário ler esta página).

Para ajuda com a gravação de eventos do usuário, consulte Gravar eventos do usuário em tempo real. Para importar eventos históricos do usuário em massa, consulte Importar eventos históricos do usuário.

Tipos de evento do usuário

Você pode registrar os seguintes tipos de eventos do usuário conforme os usuários finais navegam ou pesquisam no seu 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 mais detalhes sobre o objeto de evento do usuário, consulte a UserEvent documentação de referência da API.

Exemplos e esquemas de tipo de evento do usuário

Nesta seção, apresentamos os formatos de dados para cada tipo de evento compatível com apps do Gemini Enterprise. São fornecidos exemplos do JavaScript Pixel. 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 UserEvent documentação de referência da API.

view-item

Veja a seguir o formato de dados de evento do usuário view-item.

Requisitos de otimização de pesquisa para eventos view-item

Para que a pesquisa otimize automaticamente a experiência de pesquisa com base nas tendências gerais do usuário, faça o upload dos seguintes dados.

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 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 necessário

Os exemplos a seguir mostram apenas os campos obrigatórios para o formato de evento do usuário view-item.

O documents objeto contém o ID do documento (id) e o nome do recurso (name).

  • Ao ingerir ou gravar eventos do usuário no nível do repositório de dados, você pode fornecer o ID do documento (id) ou o nome do recurso (name).
  • Ao ingerir ou gravar eventos no nível do local, é necessário fornecer o nome do recurso do documento (name) porque ele indica o caminho completo de um documento e se refere ao repositório de dados em que o documento reside. Você pode 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.

Observe que eventTime é necessário para importar eventos com o BigQuery. eventTime é uma string com o 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"
          }
        ]
      }
    ]
  }
]

Veja a seguir o formato de evento do usuário search.

Requisitos de otimização de pesquisa para eventos de pesquisa

Para que a pesquisa otimize automaticamente a experiência de pesquisa com base nas tendências gerais do usuário, faça o upload dos seguintes dados.

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 search 100 mil pesquisas

Pelo menos 100.000 pesquisas são necessárias 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.

Forneça 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 documents objeto contém o ID do documento (id) e o nome do recurso (name).

  • Ao ingerir ou gravar eventos do usuário no nível do repositório de dados, você pode fornecer o ID do documento (id) ou o nome do recurso (name).
  • Ao ingerir ou gravar eventos no nível do local, é necessário fornecer o nome do recurso do documento (name) porque ele indica o caminho completo de um documento e se refere ao repositório de dados em que o documento reside. Você pode 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.

Observe que eventTime é necessário para importar eventos com o BigQuery. eventTime é uma string com o 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) incluídas quando você registra um evento do usuário contêm o valor userPseudoId e, se disponível, o valor userId. userId é opcional e pode ser usado como um identificador permanente e exclusivo de um usuário em vários dispositivos sempre que um usuário fizer login no site. Quando você grava o userId de um usuário, os apps do Gemini Enterprise podem gerar resultados mais personalizados para um usuário em vários dispositivos, como dispositivos móveis 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. 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 JavaScript Pixel. Ao importar eventos, é necessário informar o carimbo de data/hora no eventTime campo no formato especificado pela RFC 3339.