Puedes seguir esta guía de inicio rápido para familiarizarte con el envío de datos de eventos.
Los datos de eventos son una fuente de datos adicional para las conversiones de tu etiqueta, que permite maximizar los indicadores de interacción con el anuncio y fortalecer tus datos y el rendimiento general.
Elige la versión de la guía que quieres ver:
En esta guía de inicio rápido, completarás los siguientes pasos:
- Prepara un
Destination
para recibir datos de eventos. - Prepara los datos de eventos para enviarlos.
- Compila una solicitud
IngestionService
para eventos. - Envía la solicitud con el Explorador de APIs de Google.
- Comprende las respuestas correctas y fallidas.
Prepara un destino
Antes de poder enviar datos, debes preparar el destino al que se enviarán. Este es un Destination
de muestra para que lo uses:
{
"operatingAccount": {
"product": "GOOGLE_ADS",
"accountId": "OPERATING_ACCOUNT_ID"
},
"productDestinationId": "CONVERSION_ACTION_1_ID"
}
- Establece el
accountId
deoperatingAccount
en el ID de la cuenta de Google Ads que recibirá los datos del evento. Elproduct
deloperatingAccount
debe serGOOGLE_ADS
. Establece
productDestinationId
en el ID de la acción de conversión para los eventos. La acción de conversión debe ser una acción de conversión de Google Ads contype
establecida enWEBPAGE
.En esta guía, se muestra cómo crear una solicitud que envíe cada evento a la misma acción de conversión. Si deseas enviar eventos de varias acciones de conversión en la misma solicitud, consulta varios destinos.
Prepara los datos de eventos
Considera los siguientes datos de eventos. Cada tabla corresponde a un evento de conversión. Cada evento de conversión tiene una marca de tiempo del evento, su acción de conversión y su valor de conversión.
Cada evento puede tener identificadores de anuncios, como gclid
, o identificadores de usuario, como direcciones de correo electrónico, números de teléfono y información de dirección.
Estos son los datos del primer evento:
Evento 1 | |
---|---|
conversion_time |
2025-06-10 15:07:01-05:00 |
conversion_action_id |
123456789 |
transaction_id |
ABC798654321 |
conversion_value |
1.99 |
currency |
USD |
gclid |
GCLID_1 |
emails |
|
given_name |
John |
last_name |
Smith-Jones |
region_code |
us |
postal_code |
94045 |
Estos son los datos del segundo evento:
Evento 2 | |
---|---|
conversion_time |
June 10, 2025 11:42:33PM America/New_York |
conversion_action_id |
123456789 |
transaction_id |
DEF999911111 |
conversion_value |
3.25 |
currency |
eur |
gclid |
GCLID_2 |
emails |
|
given_name |
zoë |
last_name |
pérez |
region_code |
PT |
postal_code |
1229-076 |
Dales formato a los datos
Dales formato a los campos según se especifica en la guía de formato. Estos son los datos del primer evento después de aplicar el formato:
Evento 1 | |
---|---|
conversion_time |
2025-06-10 15:07:01-05:00 |
conversion_action_id |
123456789 |
transaction_id |
ABC798654321 |
conversion_value |
1.99 |
currency |
USD |
gclid |
GCLID_1 |
emails |
|
given_name |
john |
last_name |
smith-jones |
region_code |
US |
postal_code |
94045 |
Estos son los datos del segundo evento después de aplicar el formato:
Evento 2 | |
---|---|
conversion_time |
2025-06-10T23:42:33-05:00 |
conversion_action_id |
123456789 |
transaction_id |
DEF999911111 |
conversion_value |
3.25 |
currency |
EUR |
gclid |
GCLID_2 |
emails |
|
given_name |
zoë |
last_name |
pérez |
region_code |
PT |
postal_code |
1229-076 |
Genera un hash y codifica los datos
Además, las direcciones de correo electrónico con formato, los nombres y los apellidos deben codificarse con la codificación hash del algoritmo SHA-256 y codificarse con codificación hexadecimal o Base64. Estos son los datos del primer evento después de aplicarles formato, hash y codificación con codificación hexadecimal:
Evento 1 | |
---|---|
conversion_time |
2025-06-10 15:07:01-05:00 |
conversion_action_id |
123456789 |
transaction_id |
ABC798654321 |
conversion_value |
1.99 |
currency |
USD |
gclid |
GCLID_1 |
emails |
|
given_name |
96D9632F363564CC3032521409CF22A852F2032EEC099ED5967C0D000CEC607A |
last_name |
DB98D2607EFFFA28AFF66975868BF54C075ECA7157E35064DCE08E20B85B1081 |
region_code |
US |
postal_code |
94045 |
Estos son los datos del segundo evento después de aplicarles formato, generar un hash y codificarlos con codificación hexadecimal:
Evento 2 | |
---|---|
conversion_time |
2025-06-10T23:42:33-05:00 |
conversion_action_id |
123456789 |
transaction_id |
DEF999911111 |
conversion_value |
3.25 |
currency |
EUR |
gclid |
GCLID_2 |
emails |
|
given_name |
2752B88686847FA5C86F47B94CE652B7B3F22A91C37617D451A4DB9AFA431450 |
last_name |
6654977D57DDDD3C0329CA741B109EF6CD6430BEDD00008AAD213DF25683D77F |
region_code |
PT |
postal_code |
1229-076 |
Convierte los datos en un Event
Convierte los datos con codificación hash y formato de cada evento en un Event
. Propaga los siguientes campos obligatorios:
timestamp
: Es la hora en la que ocurrió el evento.transaction_id
: Es el identificador único del evento.event_source
: Es la fuente del evento. Si se especifica, debe serEVENT_SOURCE_WEB
.ad_identifiers
ouser_data
: El evento debe tener un identificador de anuncio o datos del usuario. Envía ambos si tienes ambos para el evento.
Consulta la documentación de referencia de Event
para obtener la lista completa de los campos disponibles. Completa cualquier campo en el que tengas un valor para el evento.
Este es un Event
de muestra para los datos con formato, hash y codificación del segundo evento:
{
"adIdentifiers": {
"gclid": "GCLID_2"
},
"conversionValue": 3.25,
"currency": "EUR",
"timestamp": "2025-06-10T23:42:33-05:00",
"transactionId": "DEF999911111",
"eventSource": "EVENT_SOURCE_WEB",
"userData": {
"userIdentifiers": [
{
"emailAddress": "3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250"
},
{
"emailAddress": "223EBDA6F6889B1494551BA902D9D381DAF2F642BAE055888E96343D53E9F9C4"
},
{
"address": {
"givenName": "2752B88686847FA5C86F47B94CE652B7B3F22A91C37617D451A4DB9AFA431450",
"familyName": "6654977D57DDDD3C0329CA741B109EF6CD6430BEDD00008AAD213DF25683D77F",
"regionCode": "PT",
"postalCode": "1229-076"
}
}
]
}
}
Compila el cuerpo de la solicitud
Combina Destination
y Events
para el cuerpo de la solicitud:
{
"destinations": [
{
"operatingAccount": {
"product": "GOOGLE_ADS",
"accountId": "OPERATING_ACCOUNT_ID"
},
"productDestinationId": "CONVERSION_ACTION_1_ID"
}
],
"encoding": "HEX",
"events": [
{
"adIdentifiers": {
"gclid": "GCLID_1"
},
"conversionValue": 1.99,
"currency": "USD",
"timestamp": "2025-06-10T20:07:01Z",
"transactionId": "ABC798654321",
"eventSource": "EVENT_SOURCE_WEB",
"userData": {
"userIdentifiers": [
{
"address": {
"givenName": "96D9632F363564CC3032521409CF22A852F2032EEC099ED5967C0D000CEC607A",
"lastName": "DB98D2607EFFFA28AFF66975868BF54C075ECA7157E35064DCE08E20B85B1081",
"regionCode": "US",
"postalCode": "94045"
}
}
]
}
},
{
"adIdentifiers": {
"gclid": "GCLID_2"
},
"conversionValue": 3.25,
"currency": "EUR",
"timestamp": "2025-06-11T04:42:33Z",
"transactionId": "DEF999911111",
"eventSource": "EVENT_SOURCE_WEB",
"userData": {
"userIdentifiers": [
{
"emailAddress": "3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250"
},
{
"emailAddress": "223EBDA6F6889B1494551BA902D9D381DAF2F642BAE055888E96343D53E9F9C4"
},
{
"address": {
"givenName": "2752B88686847FA5C86F47B94CE652B7B3F22A91C37617D451A4DB9AFA431450",
"lastName": "6654977D57DDDD3C0329CA741B109EF6CD6430BEDD00008AAD213DF25683D77F",
"regionCode": "PT",
"postalCode": "1229-076"
}
}
]
}
}
],
"validateOnly": true
}
- Actualiza los marcadores de posición en el cuerpo, como
OPERATING_ACCOUNT_ID
yCONVERSION_ACTION_1_ID
, con los valores de tu cuenta y destino. - Establece
validateOnly
entrue
para validar la solicitud sin aplicar los cambios. Cuando esté todo listo para aplicar los cambios, establecevalidateOnly
enfalse
. - Ten en cuenta que esta solicitud no usa encriptación.
Envía la solicitud
- Copia el cuerpo de la solicitud con el botón de copia en la parte superior derecha del ejemplo.
- Ve a la página
events.ingest
. - Haz clic en el botón API a la derecha y, luego, en el botón ¡Probar! en la sección expandida.
- Pega el cuerpo de la solicitud copiado en el cuadro Cuerpo de la solicitud.
- Haz clic en el botón Ejecutar, completa las indicaciones de autorización y revisa la respuesta.
Respuestas correctas
Una solicitud correcta muestra una respuesta con un objeto que contiene un requestId
.
{
"requestId": "126365e1-16d0-4c81-9de9-f362711e250a"
}
Respuestas de error
Una solicitud que falla genera un código de estado de respuesta de error, como 400 Bad
Request
, y una respuesta con detalles del error.
Por ejemplo, un email_address
que contiene una cadena de texto sin formato en lugar de un valor codificado en hexadecimal produce la siguiente respuesta:
{
"error": {
"code": 400,
"message": "There was a problem with the request.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "INVALID_ARGUMENT",
"domain": "datamanager.googleapis.com"
},
{
"@type": "type.googleapis.com/google.rpc.BadRequest",
"fieldViolations": [
{
"field": "events.events[0].user_data.user_identifiers",
"description": "Email is not hex encoded.",
"reason": "INVALID_HEX_ENCODING"
}
]
}
]
}
}
Un email_address
que no tiene hash y solo tiene codificación hexadecimal genera la siguiente respuesta:
{
"error": {
"code": 400,
"message": "There was a problem with the request.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "INVALID_ARGUMENT",
"domain": "datamanager.googleapis.com"
},
{
"@type": "type.googleapis.com/google.rpc.BadRequest",
"fieldViolations": [
{
"field": "events.events[0]",
"reason": "INVALID_SHA256_FORMAT"
}
]
}
]
}
}
Cómo enviar eventos a varios destinos
Si tus datos contienen eventos para diferentes destinos, puedes enviarlos en la misma solicitud con referencias de destino.
Por ejemplo, si tienes un evento para el ID de acción de conversión 123456789
y otro para el ID de acción de conversión 777111122
, configura el reference
de cada Destination
para enviar ambos eventos en una sola solicitud. El reference
es definido por el usuario. El único requisito es que cada Destination
tenga un reference
único. Esta es la lista destinations
modificada para la solicitud:
"destinations": [
{
"operatingAccount": {
"product": "GOOGLE_ADS",
"accountId": "OPERATING_ACCOUNT_ID"
},
"productDestinationId": "123456789"
"reference": "conversion_action_1"
},
{
"operatingAccount": {
"product": "GOOGLE_ADS",
"accountId": "OPERATING_ACCOUNT_ID"
},
"productDestinationId": "777111122"
"reference": "conversion_action_2"
}
]
Establece el destination_references
de cada Event
para enviarlo a uno o más destinos específicos. Por ejemplo, aquí hay un Event
que solo es para el primer Destination
, por lo que su lista destination_references
solo contiene el reference
del primer Destination
:
{
"adIdentifiers": {
"gclid": "GCLID_1"
},
"conversionValue": 1.99,
"currency": "USD",
"timestamp": "2025-06-10T20:07:01Z",
"transactionId": "ABC798654321",
"eventSource": "EVENT_SOURCE_WEB",
"destinationReferences": [
"conversion_action_1"
]
}
El campo destination_references
es una lista, por lo que puedes especificar varios
destinos para un evento. Si no configuras el destination_references
de un Event
, la API de Data Manager envía el evento a todos los destinos de la solicitud.
Próximos pasos
- Configura la autenticación y tu entorno con una biblioteca cliente.
- Obtén información sobre los requisitos de formato, hash y codificación para cada tipo de datos.
Obtén más información para encriptar datos del usuario.
Obtén más información sobre las prácticas recomendadas.
Obtén información sobre los límites y las cuotas.