Enviar eventos

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:

  1. Prepara un Destination para recibir datos de eventos.
  2. Prepara los datos de eventos para enviarlos.
  3. Compila una solicitud IngestionService para eventos.
  4. Envía la solicitud con el Explorador de APIs de Google.
  5. 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 de operatingAccount en el ID de la cuenta de Google Ads que recibirá los datos del evento. El product del operatingAccount debe ser GOOGLE_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 con type establecida en WEBPAGE.

    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

zoe@EXAMPLE.COM

cloudy.sanfrancisco@gmail.com

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

zoe@example.com

cloudysanfrancisco@gmail.com

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

3E693CF7E5B67880BFF33B2D2626DADB7BF1D4BC737192E47CF8BAA89ACF2250

223EBDA6F6889B1494551BA902D9D381DAF2F642BAE055888E96343D53E9F9C4

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 ser EVENT_SOURCE_WEB.
  • ad_identifiers o user_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
}
  1. Actualiza los marcadores de posición en el cuerpo, como OPERATING_ACCOUNT_ID y CONVERSION_ACTION_1_ID, con los valores de tu cuenta y destino.
  2. Establece validateOnly en true para validar la solicitud sin aplicar los cambios. Cuando esté todo listo para aplicar los cambios, establece validateOnly en false.
  3. Ten en cuenta que esta solicitud no usa encriptación.

Envía la solicitud

  1. Copia el cuerpo de la solicitud con el botón de copia en la parte superior derecha del ejemplo.
  2. Ve a la página events.ingest.
  3. Haz clic en el botón API a la derecha y, luego, en el botón ¡Probar! en la sección expandida.
  4. Pega el cuerpo de la solicitud copiado en el cuadro Cuerpo de la solicitud.
  5. 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