Acerca dos eventos de utilizadores de multimédia

Esta página descreve os eventos do utilizador para apps de pesquisa e recomendações de multimédia, incluindo tipos de eventos do utilizador, requisitos e exemplos de tipos de eventos do utilizador. Os eventos do utilizador são necessários para apps de multimédia.

Para informações gerais sobre a pesquisa e as recomendações de multimédia, consulte o artigo Introdução à pesquisa e às recomendações de multimédia.

Para obter ajuda com o registo de eventos do utilizador, consulte o artigo Registe eventos do utilizador em tempo real. Para importar eventos de utilizadores anteriores em massa, consulte o artigo Importe eventos de utilizadores históricos.

Tipos de eventos do utilizador

Pode registar os seguintes tipos de eventos do utilizador à medida que os utilizadores finais navegam ou pesquisam no seu site:

Nome do evento do utilizador Ação do utilizador
view-item Ver detalhes de um documento.
view-home-page Visualiza a página inicial.
search Pesquisa na loja de dados.
media-play Clica em play num item multimédia.
media-complete Interrompe a reprodução de um item multimédia, o que significa que terminou de ver o conteúdo.

Para ver detalhes sobre o objeto de evento do utilizador, consulte a UserEvent documentação de referência da API.

Requisitos de eventos para a pesquisa e as recomendações de multimédia

Os tipos de eventos de utilizador de que precisa são determinados consoante a sua app seja uma app de pesquisa ou uma app de recomendações, pelo objetivo (taxa de cliques, taxa de conversão ou duração da visualização) e, apenas para apps de recomendações, pelo tipo de modelo que escolheu. Para mais informações acerca dos tipos de modelos de recomendações e dos objetivos de otimização, consulte o artigo Acerca dos tipos de recomendações de apps de multimédia.

Para determinar que eventos do utilizador tem de recolher, consulte a tabela seguinte.

Evento search view-home-page view-item media-play media-complete
Exemplo de utilização da pesquisa
Obrigatória Não
obrigatório
Obrigatória Obrigatória Obrigatória
Tipo de modelo recomendado para si, por objetivo
CTR Não
obrigatório
Obrigatório para o contexto da página inicial

Não obrigatório para o contexto geral
É necessário indicar view-item ou media-play
Recomendado


Obrigatório se a despromoção do histórico estiver ativada
CVR Não
obrigatório
Obrigatório para o contexto da página inicial

Não obrigatório para o contexto geral
É necessário indicar view-item ou media-play Obrigatória
Duração da visualização Não
obrigatório
Obrigatório para o contexto da página inicial

Não obrigatório para o contexto geral
É necessário indicar view-item ou media-play Obrigatória
Tipo de modelo "Outros que podem gostar", por objetivo
CTR Não
obrigatório
Não
obrigatório
É necessário indicar view-item ou media-play
Recomendado

Obrigatório se a diminuição da importância do histórico estiver ativada
CVR Não
obrigatório
Não
obrigatório
É necessário indicar view-item ou media-play Obrigatória
Duração da visualização Não
obrigatório
Não
obrigatório
É necessário indicar view-item ou media-play Obrigatória
Tipo de modelo "Mais deste género", por objetivo
CTR Não
obrigatório
Não
obrigatório
É necessário indicar view-item ou media-play Obrigatório se a despromoção do histórico estiver ativada
CVR Não
obrigatório
Não
obrigatório
É necessário indicar view-item ou media-play Obrigatória
Duração da visualização Não
obrigatório
Não
obrigatório
É necessário indicar view-item ou media-play Obrigatória
Tipo de modelo mais popular, por objetivo
CTR Não
obrigatório
Não
obrigatório
É necessário um dos seguintes campos: view-item ou media-play Não
obrigatório
CVR Não
obrigatório
Não
obrigatório
Não
obrigatório
Não
obrigatório
Obrigatória

Requisitos para eventos de utilizadores de multimédia

Certifique-se de que os eventos do utilizador cumprem os seguintes requisitos para que as suas apps de multimédia possam gerar resultados de qualidade.

Tipo de evento Requisito Impacto
Todos os eventos

Não inclua dados sintéticos nem eventos duplicados.

Os eventos sintéticos ou duplicados afetam negativamente a qualidade dos resultados e podem impedir a implementação da sua app. Os eventos duplicados podem causar valores de métricas incorretos.

Inclua, pelo menos, 100 pseudo IDs de utilizadores únicos para cada tipo de evento carregado.

Inclua estes IDs para que as apps de recomendações de conteúdo multimédia tenham dados suficientes para gerar resultados de qualidade.

Os pseudo IDs dos utilizadores têm de ser formatados exatamente da mesma forma na importação de eventos ou na gravação de eventos e nos pedidos de recomendações de multimédia.

A utilização de um formato consistente para os pseudónimos dos utilizadores ajuda as apps de recomendações de multimédia a identificar corretamente os padrões dos visitantes e a fornecer resultados de melhor qualidade com base no comportamento dos utilizadores.

O campo DocumentInfo.name ou o campo DocumentInfo.id é obrigatório para todos os documentos.

Um evento que inclua um documento sem um campo DocumentInfo.name ou um campo DocumentInfo.id não pode ser usado por apps de recomendações de conteúdos multimédia.

Os documentos incluídos nos eventos devem existir no seu repositório de dados.

A proporção de eventos não associados deve ser mantida o mais baixa possível. Uma elevada proporção pode afetar negativamente a qualidade dos resultados.

Alguns eventos de utilizador devem ter o mesmo ID pseudo do utilizador.

Para criar históricos de sequências de comportamento válidos, as apps de recomendações de multimédia têm de conseguir ver vários eventos com o mesmo pseudo ID do utilizador.

Por exemplo, visitor123 viu cinco artigos e clicou em reproduzir em dois. Se estes eventos fornecerem o mesmo ID pseudonimizado do utilizador formatado de forma consistente, uma app de recomendações de multimédia pode considerar essa sequência de comportamento nos respetivos resultados.

view-item

Inclua exatamente um documento por evento.

Não é possível usar o evento se não existir nenhum documento. Se forem incluídos vários documentos, o evento está formatado incorretamente e não pode ser usado.

search

Inclua o attributionToken. O attributionToken é devolvido pelo método search juntamente com os resultados da pesquisa ou da navegação.

O attributionToken permite ao Vertex AI Search atribuir com precisão o evento de pesquisa a uma resposta de pesquisa específica.

media-play

Inclua exatamente um documento por evento.

Se forem incluídos vários documentos, o evento está formatado incorretamente e não pode ser usado.

Etiquetas de eventos de utilizadores para testes A/B

Se fizer testes A/B, certifique-se de que adiciona IDs de etiquetas a todos os eventos do utilizador que recolhe, adicionando uma etiqueta para cada grupo de teste.

Por exemplo, adicione a etiqueta "tagIds": ["original"] aos eventos do utilizador do seu modelo atual e adicione a etiqueta "tagIds": ["google"] aos eventos do utilizador da Vertex AI Search for media.

Exemplos e esquemas de tipos de eventos de utilizadores

Esta secção fornece os formatos de dados para cada tipo de evento suportado pelas recomendações de multimédia. São facultados exemplos do Pixel de JavaScript. Para o BigQuery, é fornecido o esquema completo da tabela para cada tipo.

Para todos os tipos de eventos de utilizador, userId é opcional.

Para mais detalhes sobre o objeto de evento do utilizador, consulte a UserEvent documentação de referência da API.

view_item

O exemplo seguinte mostra o formato dos dados de eventos do utilizador view-item.

Objeto view_item mínimo necessário

Os exemplos seguintes mostram apenas os campos obrigatórios do view-item formato de evento do utilizador.

Na maioria dos casos, documents contém detalhes do documento associado.

Píxel de JavaScript

var user_event = {
  "eventType": "view-item",
  "userPseudoId": "user-pseudo-id",
  "eventTime": "2020-01-01T03:33:33.000001Z",
  "documents": [{
    "id": "document-id"
  }]
  "panels": [
     {
       "panelId": "HOME_RFY_1",
       "documents": [
         {
           "id": "123"
         },
         {
           "id": "456"
         }
       ],
       "panelPosition": 1,
       "totalPanels": 2
     }
  ]
};

BigQuery

Este é o esquema JSON completo para este tipo de evento de utilizador. Especifique este esquema quando criar tabelas para este tipo de evento do utilizador no BigQuery.

Os modos dos campos obrigatórios estão definidos como REQUIRED ou REPEATED. Os modos dos campos opcionais estão definidos como NULLABLE.

Tenha em atenção que o eventTime é necessário para importar eventos com o BigQuery. eventTime é uma string com um formato de data/hora.

[
  {
    "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

O exemplo seguinte mostra o formato do evento de utilizador view-home-page.

Objeto view-home-page mínimo necessário

Os exemplos seguintes mostram apenas os campos obrigatórios do view-home-page formato de evento do utilizador.

Píxel de JavaScript

var user_event = {
  "eventType": "view-home-page",
  "userPseudoId": "user-pseudo-id",
  "eventTime": "2020-01-01T03:33:33.000001Z",
  "panels": [
     {
       "panelId": "HOME_RFY_1",
       "documents": [
         {
           "id": "123"
         },
         {
           "id": "456"
         }
       ],
       "panelPosition": 1,
       "totalPanels": 2
     }
  ]
};

BigQuery

Este é o esquema JSON completo para este tipo de evento de utilizador. Especifique este esquema quando criar tabelas para este tipo de evento do utilizador no BigQuery.

Os modos dos campos obrigatórios estão definidos como REQUIRED ou REPEATED. Os modos dos campos opcionais estão definidos como NULLABLE.

Tenha em atenção que o eventTime é necessário para importar eventos com o BigQuery. eventTime é uma string com um formato de data/hora.

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

Para obter informações sobre o objeto panels, consulte o artigo Acerca dos painéis.

O exemplo seguinte mostra o formato do evento de utilizador search.

Objeto de pesquisa mínimo necessário

Os exemplos seguintes mostram apenas os campos obrigatórios do formato de search evento de utilizador.

Forneça searchQuery para eventos de pesquisa em que o utilizador introduziu uma consulta de texto.

O attributionToken é devolvido com os resultados da consulta de pesquisa.

documents deve incluir a lista de IDs dos documentos apresentados ao utilizador final na página de resultados da pesquisa.

Píxel de JavaScript

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

BigQuery

Este é o esquema JSON completo para este tipo de evento de utilizador. Especifique este esquema quando criar tabelas para este tipo de evento do utilizador no BigQuery.

Os modos dos campos obrigatórios estão definidos como REQUIRED ou REPEATED. Os modos dos campos opcionais estão definidos como NULLABLE.

Tenha em atenção que o eventTime é necessário para importar eventos com o BigQuery. eventTime é uma string com um formato de data/hora.

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

media-play

O exemplo seguinte mostra o formato do evento de utilizador media-play.

Objeto media-play mínimo necessário

Os exemplos seguintes mostram apenas os campos obrigatórios do formato de evento de utilizador media-play.

Píxel de JavaScript

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

BigQuery

Este é o esquema JSON completo para este tipo de evento de utilizador. Especifique este esquema quando criar tabelas para este tipo de evento do utilizador no BigQuery.

Os modos dos campos obrigatórios estão definidos como REQUIRED ou REPEATED. Os modos dos campos opcionais estão definidos como NULLABLE.

Tenha em atenção que o eventTime é necessário para importar eventos com o BigQuery. eventTime é uma string com um formato de data/hora.

[
  {
    "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

O exemplo seguinte mostra o formato do evento de utilizador media-complete.

Objeto de conclusão de multimédia mínimo necessário

Os exemplos seguintes mostram apenas os campos obrigatórios do media-complete formato de evento do utilizador.

Píxel de JavaScript

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": 0.2
  }
};

BigQuery

Este é o esquema JSON completo para este tipo de evento de utilizador. Especifique este esquema quando criar tabelas para este tipo de evento do utilizador no BigQuery.

Os modos dos campos obrigatórios estão definidos como REQUIRED ou REPEATED. Os modos dos campos opcionais estão definidos como NULLABLE.

Tenha em atenção que o eventTime é necessário para importar eventos com o BigQuery. eventTime é uma string com um formato de data/hora.

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

Atributos personalizados

Pode incluir atributos e funcionalidades personalizados adicionais para eventos do utilizador. Isto pode resultar em resultados melhorados e mais específicos para os seus utilizadores. Para adicionar atributos personalizados, use attributes quando registar um evento do utilizador.

Se fornecer atributos personalizados para eventos de utilizadores carregados, é importante incluí-los também nos eventos de utilizadores que associa a pedidos de recomendações e de pesquisa. A formatação dos atributos personalizados tem de ser consistente entre os eventos importados e os eventos fornecidos com pedidos. Isto permite que as apps de multimédia usem esses atributos personalizados para melhorar a qualidade.

Pode fornecer valores de texto personalizados através do campo text ou valores numéricos personalizados através do campo numbers.

Por exemplo, o seguinte mostra a secção attributes de um pedido para registar um evento do utilizador:

  attributes: {
    user_age: {text: ["teen", "young adult"]},
    user_location: {text: ["CA"]},
    user_zip: {numbers: [90210]}
  }

Acerca das informações do utilizador

userPseudoId representa o identificador único do utilizador e é obrigatório quando regista um evento do utilizador.

As informações do utilizador (UserInfo) incluídas quando regista um evento do utilizador contêm o valor userPseudoId e, se disponível, o valor userId. userId é opcional e pode ser usado como um identificador único e persistente de um utilizador em vários dispositivos sempre que um utilizador inicia sessão no seu site. Quando regista o userId para um utilizador, as apps de pesquisa e recomendações de multimédia podem gerar resultados mais personalizados para um utilizador em vários dispositivos, como um dispositivo móvel e um navegador de Internet.

Acerca da indicação de tempo

Quando regista um evento do utilizador, certifique-se de que inclui uma indicação de tempo precisa de quando o evento ocorreu. As datas/horas precisas garantem que os seus eventos são armazenados pela ordem correta. As datas/horas são registadas automaticamente para eventos recolhidos através do píxel do JavaScript. Quando importa eventos, tem de indicar a data/hora no campo eventTime no formato especificado pela RFC 3339.

Acerca dos painéis

Numa página inicial, normalmente, tem um ou mais painéis, como um painel "Tendências atuais" e um painel "Recomendado para si". Nas páginas de detalhes, também pode ter painéis, como "outros que podem interessar-lhe".

Informações do painel para eventos do utilizador

São necessárias informações do painel para eventos de utilizador de recomendação do tipo view-home-page e view-item. As informações do painel são necessárias para as páginas iniciais e as páginas de detalhes que apresentam conteúdo recomendado pela Google.

Se estiver a realizar testes A/B para um painel, tem de registar eventos do utilizador com informações do painel para todo o conteúdo no teste, independentemente da origem. Para as páginas iniciais e as páginas de detalhes sem conteúdo de painéis gerado pela Google, é recomendado, mas não obrigatório, fornecer informações de painéis nos eventos view-home-page e view-item. Estes requisitos estão resumidos na tabela seguinte:

Origem do evento do utilizador (view-home-page e view-item) PanelInfo obrigatório
Inclui conteúdo recomendado pela Google Sim
Inclui conteúdo NÃO recomendado pela Google e usado em testes A/B Sim
Inclui conteúdo NÃO recomendado pela Google e NÃO usado em testes A/B Não

As informações do painel (PanelInfo) são um conjunto de campos que descrevem vários elementos do painel:

  • O número de ID do painel

  • O nome a apresentar

  • A posição do painel na página (por exemplo, o primeiro painel [1] na página ou o terceiro painel [3] na página)

  • O número total de painéis na página

  • A lista de documentos (DocumentInfo) apresentada em cada painel

Para obter informações detalhadas sobre os objetos PanelInfo, consulte o artigo PanelInfo.

Pré-carregar painéis em comparação com o carregamento diferido de painéis

Existem dois métodos comuns para apresentar recomendações em páginas Web ou páginas para dispositivos móveis. O método que usa determina o número e o conteúdo dos view-home-page eventos do utilizador que regista.

  • Pré-carregamento: com o pré-carregamento, todos os itens de recomendações são gerados quando o utilizador chega à página. Neste caso, quando o utilizador carrega a página inicial, regista um evento de utilizador view-home-page (ou view-item) com todos os painéis e documentos.

  • Carregamento em diferido: com o carregamento em diferido, o conteúdo do painel não é gerado quando o utilizador chega à página. Em vez disso, o conteúdo é carregado dinamicamente quando o utilizador desloca a página para baixo até aos painéis ou para a direita para ver mais recomendações. Neste caso, quando um utilizador carrega a página inicial, regista um evento de utilizador view-home-page inicial (ou view-item) e, em seguida, continua a registar mais eventos quando o utilizador desloca a página para gerar mais conteúdo recomendado. Nos eventos subsequentes, só tem de incluir na matriz panels o incremento de documentos apresentados.

Cenário de exemplo

A página inicial de uma empresa de multimédia apresenta dois painéis de recomendações:

  • Um painel de tendências do momento com tecnologia do modelo Mais popular.

  • Um painel de recomendações personalizado que está a ser testado com testes A/B. Alguns utilizadores veem um painel de sugestões com tecnologia do modelo Recomendado para si (grupo A), e outros utilizadores veem recomendações do modelo proprietário da empresa (grupo B).

Quando um utilizador atribuído ao grupo B vê esta página inicial, o evento de utilizador no formato de píxel JavaScript tem o seguinte aspeto:

var user_event = {
  "eventType": "view-home-page",
  "userPseudoId": "4003345673.123451357",
  "eventTime": "2025-07-01T03:33:33.000001Z",
  "userInfo": {
    "userId": "jane.doe@example.com",
  },
  "tagIds": ["group-B"],
  "panels": [
    {
      "panelId": "panel-1",
      "displayId": "Trending Now",
      "documents": [
        {
          "id": "254722"
        },
        {
          "id": "2951"
        },
        ...
        {
          "id": "1201"
        }
      ],
      "panelPosition": 1,
      "totalPanels": 2
    },
    {
      "panelId": "panel-2",
      "displayId": "Recommended for You",
      "documents": [
        {
          "id": "79132"
        },
        {
          "id": "109487"
        },
        ...
        {
          "id": "164179"
        }
      ],
      "panelPosition": 2,
      "totalPanels": 2
    }
  ]
};

O que se segue?