Acerca de los eventos de usuario de contenido multimedia

En esta página se describen los eventos de usuario de las aplicaciones de búsqueda y recomendaciones de contenido multimedia, incluidos los tipos de eventos de usuario, los requisitos y ejemplos de tipos de eventos de usuario. Los eventos de usuario son obligatorios para las aplicaciones multimedia.

Para obtener información general sobre la búsqueda y las recomendaciones de contenido multimedia, consulta el artículo Introducción a la búsqueda y las recomendaciones de contenido multimedia.

Para obtener ayuda sobre cómo registrar eventos de usuario, consulte Registrar eventos de usuario en tiempo real. Para importar eventos de usuario anteriores en bloque, consulte Importar historial de eventos de usuario.

Tipos de eventos de usuario

Puede registrar los siguientes tipos de eventos de usuario mientras los usuarios finales navegan o buscan en su sitio:

Nombre del evento de usuario Acción de usuario
view-item Muestra los detalles de un documento.
view-home-page Ve la página principal.
search Busca en el almacén de datos.
media-play Reproducciones de un elemento multimedia.
media-complete Detiene la reproducción de un elemento multimedia, lo que indica que se ha terminado de ver.

Para obtener información sobre el objeto de evento de usuario, consulta la documentación de referencia de la API UserEvent.

Requisitos de los eventos para la búsqueda y las recomendaciones de contenido multimedia

Los tipos de eventos de usuario que necesitas dependen de si tu aplicación es de búsqueda o de recomendaciones, del objetivo (porcentaje de clics, porcentaje de conversión o duración de la visualización) y, solo en el caso de las aplicaciones de recomendaciones, del tipo de modelo que hayas elegido. Para obtener más información sobre los tipos de modelos de recomendación y los objetivos de optimización, consulta el artículo Acerca de los tipos de recomendaciones de aplicaciones multimedia.

Para determinar qué eventos de usuario debe recoger, consulte la siguiente tabla.

Evento search view-home-page view-item media-play media-complete
Caso práctico de búsqueda
Obligatorio No
obligatorio
Obligatorio Obligatorio Obligatorio
Tipo de modelo "Recomendado para ti" por objetivo
CTR No
obligatorio
Obligatorio para el contexto de la página principal

No es obligatorio para el contexto general
Se debe utilizar view-item o media-play.
Muy recomendable

Obligatorio si la degradación del historial está activada
CVR No
obligatorio
Obligatorio para el contexto de la página principal

No es obligatorio para el contexto general
Se debe utilizar view-item o media-play. Obligatorio
Duración de la visualización No
obligatorio
Obligatorio para el contexto de la página principal

No es obligatorio para el contexto general
Se debe utilizar view-item o media-play. Obligatorio
Tipo de modelo "Otros que te podrían interesar", por objetivo
CTR No
obligatorio
No
obligatorio
Se debe utilizar view-item o media-play.
Muy recomendable

Obligatorio si la degradación del historial está activada
CVR No
obligatorio
No
obligatorio
Se debe utilizar view-item o media-play. Obligatorio
Duración de la visualización No
obligatorio
No
obligatorio
Se debe utilizar view-item o media-play. Obligatorio
Tipo de modelo "Más como esta" por objetivo
CTR No
obligatorio
No
obligatorio
Se debe utilizar view-item o media-play. Obligatorio si la degradación del historial está activada
CVR No
obligatorio
No
obligatorio
Se debe utilizar view-item o media-play. Obligatorio
Duración de la visualización No
obligatorio
No
obligatorio
Se debe utilizar view-item o media-play. Obligatorio
Tipo de modelo más popular por objetivo
CTR No
obligatorio
No
obligatorio
Es obligatorio usar view-item o media-play. No
obligatorio
CVR No
obligatorio
No
obligatorio
No
obligatorio
No
obligatorio
Obligatorio

Requisitos de los eventos de usuario de contenido multimedia

Asegúrate de que tus eventos de usuario cumplan los siguientes requisitos para que tus aplicaciones multimedia puedan generar resultados de calidad.

Tipo de evento Requisito Impacto
Todos los eventos

No incluyas datos sintéticos ni eventos duplicados.

Los eventos sintéticos o duplicados afectan negativamente a la calidad de los resultados y pueden impedir que despliegues tu aplicación. Los eventos duplicados pueden provocar que los valores de las métricas sean incorrectos.

Incluya al menos 100 pseudo IDs de usuario únicos por cada tipo de evento ingerido.

Incluye estos IDs para que las aplicaciones de recomendaciones de contenido multimedia tengan suficientes datos para generar resultados de calidad.

Los IDs pseudo de usuario deben tener exactamente el mismo formato en la importación o el registro de eventos, así como en las solicitudes de recomendaciones de contenido multimedia.

Si se usa un formato coherente para los seudónimos de usuario, las aplicaciones de recomendaciones de contenido multimedia podrán identificar correctamente los patrones de los visitantes y ofrecer resultados de mejor calidad basados en el comportamiento de los usuarios.

El campo DocumentInfo.name o el campo DocumentInfo.id son obligatorios para todos los documentos.

Las aplicaciones de recomendaciones de contenido multimedia no pueden usar eventos que incluyan documentos sin el campo DocumentInfo.name o el campo DocumentInfo.id.

Los documentos incluidos en los eventos deben estar en su almacén de datos.

La proporción de eventos sin unir debe ser lo más baja posible. Una proporción alta puede afectar negativamente a la calidad de los resultados.

Algunos eventos de usuario deben tener el mismo ID de usuario seudónimo.

Para crear historiales de secuencias de comportamiento válidos, las aplicaciones de recomendaciones de contenido multimedia deben poder ver varios eventos con el mismo ID pseudo de usuario.

Por ejemplo, visitor123 ha visto cinco elementos y ha hecho clic en reproducir en dos de ellos. Si estos eventos proporcionan el mismo ID de usuario pseudo con un formato coherente, una aplicación de recomendaciones de contenido multimedia puede tener en cuenta esa secuencia de comportamiento en sus resultados.

view-item

Incluye exactamente un documento por evento.

El evento no se puede usar si no existe ningún documento. Si se incluyen varios documentos, el evento tendrá un formato incorrecto y no se podrá usar.

search

Incluye el attributionToken. El attributionToken se devuelve con el método search junto con los resultados de búsqueda o navegación.

El attributionToken permite que Vertex AI Search atribuya con precisión el evento de búsqueda a una respuesta de búsqueda concreta.

media-play

Incluye exactamente un documento por evento.

Si se incluyen varios documentos, el evento tendrá un formato incorrecto y no se podrá usar.

Etiquetas de eventos de usuario para pruebas A/B

Si haces pruebas A/B, asegúrate de añadir IDs de etiqueta a todos los eventos de usuario que recojas, añadiendo una etiqueta por cada grupo de prueba.

Por ejemplo, añade la etiqueta "tagIds": ["original"] a los eventos de usuario de tu modelo actual y la etiqueta "tagIds": ["google"] a los eventos de usuario de la búsqueda de Vertex AI para medios.

Ejemplos y esquemas de tipos de eventos de usuario

En esta sección se proporcionan los formatos de datos de cada tipo de evento admitido por las recomendaciones de contenido multimedia. Se proporcionan ejemplos de píxel de JavaScript. En el caso de BigQuery, se proporciona el esquema de tabla completo de cada tipo.

En todos los tipos de eventos de usuario, userId es opcional.

Para obtener más información sobre el objeto de evento de usuario, consulta la documentación de referencia de la API UserEvent.

view-item

A continuación, se muestra el formato de los datos de eventos de usuario view-item.

Objeto view-item mínimo requerido

En los siguientes ejemplos solo se muestran los campos obligatorios del formato de evento de usuario view-item.

En la mayoría de los casos, documents contiene detalles sobre el documento asociado.

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 es el esquema JSON completo de este tipo de evento de usuario. Especifique este esquema al crear tablas para este tipo de evento de usuario en BigQuery.

Los modos de los campos obligatorios son REQUIRED o REPEATED. Los modos de los campos opcionales se definen como NULLABLE.

Tenga en cuenta que eventTime es obligatorio para importar eventos con BigQuery. eventTime es una cadena con formato Timestamp.

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

A continuación, se muestra el formato del evento de usuario view-home-page.

Objeto view-home-page mínimo requerido

En los siguientes ejemplos solo se muestran los campos obligatorios del formato de evento de usuario view-home-page.

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 es el esquema JSON completo de este tipo de evento de usuario. Especifique este esquema al crear tablas para este tipo de evento de usuario en BigQuery.

Los modos de los campos obligatorios son REQUIRED o REPEATED. Los modos de los campos opcionales se definen como NULLABLE.

Tenga en cuenta que eventTime es obligatorio para importar eventos con BigQuery. eventTime es una cadena con formato Timestamp.

[
  {
    "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 obtener información sobre el objeto panels, consulta Acerca de los paneles.

A continuación, se muestra el formato del evento de usuario search.

Objeto de búsqueda mínimo requerido

En los siguientes ejemplos solo se muestran los campos obligatorios del formato del evento de usuario search.

Proporciona searchQuery para los eventos de búsqueda en los que el usuario haya introducido una consulta de texto.

El attributionToken se devuelve con los resultados de la consulta de búsqueda.

documents debe incluir la lista de IDs de documentos que se muestran al usuario final en la página de resultados de búsqueda.

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 es el esquema JSON completo de este tipo de evento de usuario. Especifique este esquema al crear tablas para este tipo de evento de usuario en BigQuery.

Los modos de los campos obligatorios son REQUIRED o REPEATED. Los modos de los campos opcionales se definen como NULLABLE.

Tenga en cuenta que eventTime es obligatorio para importar eventos con BigQuery. eventTime es una cadena con formato Timestamp.

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

A continuación, se muestra el formato del evento de usuario media-play.

Objeto media-play mínimo necesario

En los ejemplos siguientes solo se muestran los campos obligatorios del formato de evento de usuario 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 es el esquema JSON completo de este tipo de evento de usuario. Especifique este esquema al crear tablas para este tipo de evento de usuario en BigQuery.

Los modos de los campos obligatorios son REQUIRED o REPEATED. Los modos de los campos opcionales se definen como NULLABLE.

Tenga en cuenta que eventTime es obligatorio para importar eventos con BigQuery. eventTime es una cadena con formato Timestamp.

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

A continuación, se muestra el formato del evento de usuario media-complete.

Objeto mínimo requerido con el contenido multimedia completo

En los siguientes ejemplos solo se muestran los campos obligatorios del formato de evento de usuario media-complete.

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 es el esquema JSON completo de este tipo de evento de usuario. Especifique este esquema al crear tablas para este tipo de evento de usuario en BigQuery.

Los modos de los campos obligatorios son REQUIRED o REPEATED. Los modos de los campos opcionales se definen como NULLABLE.

Tenga en cuenta que eventTime es obligatorio para importar eventos con BigQuery. eventTime es una cadena con formato Timestamp.

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

Puede incluir atributos y funciones personalizados adicionales para los eventos de usuario. Esto puede mejorar los resultados y hacerlos más específicos para tus usuarios. Para añadir atributos personalizados, use attributes cuando registre un evento de usuario.

Si proporciona atributos personalizados para los eventos de usuario ingeridos, es importante que también los incluya en los eventos de usuario que asocie a las solicitudes de recomendación y de búsqueda. El formato de los atributos personalizados debe ser coherente entre los eventos importados y los eventos proporcionados con las solicitudes. De esta forma, las aplicaciones multimedia pueden usar esos atributos personalizados para mejorar la calidad.

Puede proporcionar valores de texto personalizados mediante el campo text o valores numéricos personalizados mediante el campo numbers.

Por ejemplo, a continuación se muestra la sección attributes de una solicitud para registrar un evento de usuario:

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

Acerca de la información de usuario

userPseudoId representa el identificador de usuario único y es obligatorio cuando registra un evento de usuario.

La información de usuario (UserInfo) que se incluye al registrar un evento de usuario contiene el valor userPseudoId y, si está disponible, el valor userId. userId es opcional y se puede usar como identificador único y persistente de un usuario en varios dispositivos cada vez que inicie sesión en su sitio. Cuando registras el userId de un usuario, las aplicaciones de búsqueda y recomendaciones de contenido multimedia pueden generar resultados más personalizados para un usuario en varios dispositivos, como un dispositivo móvil y un navegador web.

Acerca de la marca de tiempo

Cuando registre un evento de usuario, asegúrese de incluir una marca de tiempo precisa de cuándo se produjo el evento. Las marcas de tiempo precisas aseguran que tus eventos se almacenen en el orden correcto. Las marcas de tiempo se registran automáticamente en los eventos recogidos mediante el píxel de JavaScript. Cuando importe eventos, debe proporcionar la marca de tiempo en el campo eventTime con el formato especificado en RFC 3339.

Acerca de los paneles

En una página principal, normalmente tendrás uno o varios paneles, como el de "Tendencias actuales" y el de "Recomendaciones para ti". En las páginas de detalles, también puedes ver paneles como "Otros que te pueden gustar".

Información del panel de eventos de usuarios

Se necesita información del panel para los eventos de usuario de recomendación de tipo view-home-page y view-item. Se necesita información del panel para las páginas principales y de detalles que muestran contenido recomendado por Google.

Si vas a hacer pruebas A/B en un panel, debes registrar los eventos de usuario con información del panel para todo el contenido de la prueba, independientemente de la fuente. En el caso de las páginas principales y de detalles que no tengan contenido de panel generado por Google, se recomienda, pero no es obligatorio, proporcionar información del panel en los eventos view-home-page y view-item. Estos requisitos se resumen en la siguiente tabla:

Fuente del evento de usuario (view-home-page y view-item) Es obligatorio PanelInfo
Incluye contenido recomendado por Google
Incluye contenido que Google NO recomienda y que se usa en pruebas A/B.
Incluye contenido que Google NO recomienda y que NO se usa en pruebas A/B No

La información del panel (PanelInfo) es un conjunto de campos que describe varios elementos del panel:

  • Número de ID del panel

  • El nombre visible

  • La posición del panel en la página (por ejemplo, el primer panel [1] de la página o el tercer panel [3] de la página)

  • Número total de paneles de la página.

  • La lista de documentos (DocumentInfo) que se muestra en cada panel

Para obtener información detallada sobre los objetos PanelInfo, consulta PanelInfo.

.

Paneles precargados y paneles de carga diferida

Hay dos métodos habituales para mostrar recomendaciones en páginas web o móviles. El método que utilice determinará el número y el contenido de los view-home-page eventos de usuario que registre.

  • Precarga: con la precarga, todos los elementos de recomendación se generan cuando el usuario llega a la página. En este caso, cuando el usuario carga la página principal, registra un evento de usuario view-home-page (o view-item) con todos los paneles y documentos.

  • Carga en diferido: con la carga en diferido, el contenido del panel no se genera cuando el usuario llega a la página, sino que se carga de forma dinámica cuando el usuario se desplaza hacia abajo por los paneles o hacia la derecha para ver más recomendaciones. En este caso, cuando un usuario carga la página principal, registra un evento de usuario view-home-page (o view-item) inicial y, a continuación, sigue registrando más eventos cuando el usuario se desplaza para generar más contenido recomendado. En los eventos posteriores, solo tienes que incluir en la matriz panels el incremento de documentos que se muestran.

Caso de ejemplo

En la página principal de una empresa de medios se muestran dos paneles de recomendaciones:

  • Un panel de tendencias actuales que se basa en el modelo Más populares.

  • Un panel de recomendaciones personalizadas que se está probando con una prueba A/B. Algunos usuarios ven un panel de sugerencias basadas en el modelo Recomendaciones para ti (grupo A), mientras que otros ven recomendaciones del modelo propietario de la empresa (grupo B).

Cuando un usuario asignado al grupo B ve esta página principal, el evento de usuario en formato de píxel de JavaScript tiene este aspecto:

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
    }
  ]
};

Siguientes pasos