Ir al contenido principal

Guía de seguimiento

Este artículo describe el proceso de configuración del seguimiento de eventos mediante Google Tag Manager (GTM) en Google Analytics 4 (GA4).

Actualizado ayer

💡 Asegúrate de revisar el Registro de cambios para asegurarte de que los eventos que estás rastreando están actualizados.


Cómo se implementa el seguimiento

📒 NOTA

Ventrata checkout utiliza la implementación de dataLayer según la documentación de Google.

Este artículo proporciona una guía completa para configurar el seguimiento de eventos mediante Google Tag Manager (GTM) y Google Analytics 4 (GA4). Aprenderás a configurar y rastrear varios eventos principales y personalizados, lo que te permitirá capturar interacciones significativas a lo largo del recorrido del cliente en el proceso de checkout.

El sistema de checkout de Ventrata permite a los clientes rastrear las acciones de los usuarios utilizando una combinación de Core Events (Eventos principales) y Eventos personalizados. Estos eventos permiten la recopilación de datos y conocimientos sobre el comportamiento del cliente, lo que permite a los clientes optimizar el proceso de checkout.

Core Events (Eventos principales)

Eventos que siempre se activan independientemente del producto o la configuración del checkout.

Evento

Descripción

view_item

se dispara cuando el cliente visualiza un artículo inicial o posterior

add_to_cart

activado cuando el cliente añade un producto al carrito

view_cart

enviado cuando el cliente visualiza su carrito, revisando los artículos antes de proceder al pago

begin_checkout

activado cuando el cliente inicia el proceso de pago

create_or_update_order

se envía cuando el cliente introduce todos los datos requeridos y al pago

add_payment_info

activado cuando el cliente introduce su información de pago

purchase

activado cuando la transacción se completa y el pago es confirmado

order_expired

se dispara cuando una única sesión de checkout expira sin una compra exitosa, o cuando el cliente cierra el checkout antes de completar el pago

Eventos personalizados

Eventos opcionales que se activan según configuraciones específicas, características del producto e interacciones del cliente.

Evento

Descripción

view_gift_item

activado cuando el cliente selecciona Buy as a Gift Card (Comprar como tarjeta de regalo) opción

gift_added_to_cart

activado cuando se añade un artículo de regalo al carrito

select_unit

activado cuando el cliente selecciona una unidad o categoría específica, como "Adult"

remove_unit

se dispara cuando el cliente hace clic en el botón menos para deseleccionar una unidad o categoría específica, como "Adult". Este evento es lo opuesto a select_unit.

select_date

enviado cuando el cliente selecciona una fecha para su reserva

select_time

activado cuando el cliente elige un intervalo de tiempo específico para su reserva

notify_me

activado cuando el cliente opta por ser notificado sobre la disponibilidad de un producto agotado

quote_confirmed

se dispara cuando el cliente decide guardar su reserva como cotización

wait_list_confirmed

enviado cuando el cliente confirma su lugar en la lista de espera

upgrade_ticket

activado cuando el cliente mejora su entrada

cross-sell

activado cuando el cliente selecciona un producto adicional para comprar

select_pickup

activado cuando el cliente selecciona un punto de recogida para su reserva

select_question

se envía cuando el cliente selecciona y responde una pregunta configurada

edit_booking

activado cuando el cliente edita su reserva

remove_booking

enviado cuando el cliente elimina una reserva de su carrito


Configuración de GTM

Prerrequisitos:

  • Un sitio web donde tengas acceso para agregar los códigos de seguimiento GTM y GA4.

  • Una cuenta de Google Tag Manager y un contenedor configurados para tu sitio web.

  • Una propiedad de Google Analytics 4 creada en la consola de administración de Google Analytics.

Instalar GTM

  • Si no has instalado GTM en tu sitio web, sigue las instrucciones proporcionadas por Google.

Configurar la etiqueta de configuración GA4

  • Crea una nueva etiqueta en GTM del tipo "Google Analytics: Configuración GA4." Configura la etiqueta con tu ID de medición GA4.

Configurar las etiquetas de eventos GA4

  • Crea etiquetas para cada evento que quieras rastrear (Ver artículo, Evento personalizado, Añadir al carrito, Ver carrito, Iniciar pago, Añadir información de pago, Compra). Para cada etiqueta, establece el 'Event Name (Nombre del evento)' y cualquier 'Event Parameters (Parámetro de evento)' adicional requerido.

Configurar los disparadores

  • Crea disparadores que activarán las etiquetas respectivas basándose en las interacciones de los usuarios o eventos en tu sitio web.

Cada evento recomendado por Google tiene una configuración de etiqueta de ejemplo como se muestra en este Ejemplo de evento de compra.

📗 CONSEJO

Sigue los pasos en este artículo para configurar Google Tag Manager (GTM) y Google Analytics 4 (GA4).


Glosario

📗 CONSEJO

Recomendamos que también consultes esta documentación de Google.

Parámetros globales

Parámetro

Descripción

Ejemplo

event

nombre del evento rastreado

"purchase"

custom_timestamp

marca de tiempo cuando se activó el evento

"1759833980195"

preferred_locale

idioma seleccionado por el cliente

"en"

label

información asociada con el evento, especialmente con eventos personalizados

"Hotel Bishram"


Parámetros compartidos

Estos parámetros no se incluyen en todos los eventos. En algunos casos, están anidados bajo ecommerce.items (ver el Purchase - objeto completo ejemplo), mientras que en ciertos eventos aparecen directamente en el cuerpo principal (ver el Select unit - objeto completo ejemplo).

Parámetro

Descripción

Ejemplo

label

información asociada con el evento, especialmente con eventos personalizados

"Hotel Bishram"

product_id

identificador único del producto que corresponde al backend product_id

"69f07800-0b30-4824-b462-09a7f19529as"

item_name

nombre del producto en el idioma predeterminado

"Mount Everest"

option_id

identificador único asignado a la opción del producto

"1e143307-1ef3-4d3a-8005-b9adb3e54d5b"

item_variant

nombre de la opción en el idioma predeterminado

"Mount Everest - Ascent to Camp 3"

checkout_mode

modo de checkout, que puede ser popup o embedded

popup

crossSell

valor booleano que indica si la venta cruzada fue activada

false


Parámetros del objeto de comercio electrónico

Parámetro

Descripción

Ejemplo

coupons

nombre de la promoción / cupón

"10% discount for online booking (10% OFF)"

currency

moneda de los artículos asociados con el evento

"EUR"

items

información detallada sobre productos / opciones

extras

información detallada sobre extras

Ver Tabla de parámetros extras a continuación

value

valor monetario del evento - ingresos (sin impuestos)

199

tax

impuesto aplicado a la reserva

18.08

order_id

identificador único asignado al pedido; coincide con el backend order_id, que también se puede encontrar en el dashboard

"3918ba5e-3da8-45ac-8fa1-23fb3949983d"

transaction_id

identificador único asignado al pedido; coincide con el backend order_id, que también se puede encontrar en el dashboard

"3918ba5e-3da8-45ac-8fa1-23fb3949983d"

transaction_type

valor predeterminado "ventrata" se usa para indicar claramente la fuente de la transacción

"ventrata"

quantity

cantidad del producto seleccionado

5

discount

descuento aplicado al pedido

0

Parámetros del artículo

Parámetro

Descripción

Ejemplo

item_id

ID de la unidad

"unit_2b1e6f4e-c69b-40d1-bc2e-31872df4d535"

booking_id

identificador único asignado a la reserva; coincide con el backend booking_id, que también se puede encontrar en el dashboard

"acf4c89f-f6b0-47ea-b690-522f8abef116"

product_id

identificador único asignado al producto

"69f07800-0b30-4824-b462-09a7f19529as"

item_name

nombre del producto en el idioma predeterminado

"Mount Everest"

option_id

identificador único asignado a la opción del producto

"69f07800-0b30-4824-b462-09a7f19529as"

item_variant

nombre de la opción en el idioma predeterminado

"Mount Everest - Ascent to Camp 3"

item_category

nombre de la unidad en el idioma predeterminado

"Adult - Unskilled"

item_category2

fecha de viaje

"2023-12-12"

item_category3

hora de viaje

"09:00:00"

item_category4

tipo de grupo turístico en el idioma predeterminado

"sunset"

price

precio del producto

70

tax

impuesto aplicado a la reserva

1

discount

descuento del producto

0

quantity

cantidad del producto

2

extra

información detallada sobre los extras

crossSell

valor booleano que indica si la venta cruzada fue activada

false

gift

valor booleano que indica si la compra es un regalo

true

gift_value

valor monetario del regalo

400

multidate

valor booleano que indica si el producto puede reservarse en varias fechas

false

packages

si el producto es un paquete, se listará un arreglo de productos aquí

Parámetros adicionales

Parámetro

Descripción

Ejemplo

id

ID adicional

"extra_330c1c32-cd9d-4c7c-b216-04857e514c68"

name

nombre adicional en el idioma predeterminado

"Crampons and Ice-Axe"

price

precio adicional

20

quantity

cantidad adicional

2

tax

impuesto aplicado al extra

18.08

Parámetros del cliente

Parámetro

Descripción

Ejemplo

fullName

concatenación del nombre y apellido del cliente

"John Doe"

firstName

nombre ingresado en el formulario de contacto

"John"

lastName

apellido ingresado en el formulario de contacto

"Doe"

title

título seleccionado por el cliente

"Product manager"

email

correo electrónico ingresado en el formulario de contacto

mobile

número de teléfono ingresado en el formulario de contacto

"+420123456789"

age

edad del cliente

35

birthdate

fecha de nacimiento del cliente

"1985-04-27"

locales

locales seleccionados por el cliente o locales predeterminados

"en", "cs"

country

país seleccionado de la lista en el formulario de contacto

"CZ"

streetAddress

dirección proporcionada por el cliente

"Behounská"

city

ciudad introducida por el cliente

"Brno"

state

estado o región del cliente

"Jihomoravský kraj"

postalCode

código postal ingresado en el formulario de contacto

"61200"

notes

notas adicionales introducidas por el cliente

"Please arrange vegetarian meals and window seats if possible."

taxId

número de identificación fiscal del cliente

"CZ12345678"

allowMarketing

valor booleano que indica si el cliente consintió recibir comunicaciones de marketing

false

Parámetros de paquetes

Parámetro

Descripción

Ejemplo

item_name

nombre del producto incluido dentro de un paquete en el idioma predeterminado

"Kathmandu"

item_variant

nombre de la opción de un producto incluido dentro de un paquete en el idioma predeterminado

"Kathmandu"

item_category

nombre de la unidad de un producto incluido dentro de un paquete en el idioma predeterminado

"Person"

item_category2

fecha de viaje dentro de un paquete

"2024-08-17"

item_category3

hora de viaje dentro de un paquete

"00:00:00"

item_category4

tipo de grupo turístico dentro de un paquete en el idioma predeterminado

"sunset"

Parámetros de preguntas

Parámetro

Descripción

Ejemplo

questions

pregunta realizada al cliente en el idioma predeterminado

"Feedback"

answer

respuesta proporcionada por el cliente a la pregunta

"Good"

Parámetros de recogidas

Parámetro

Descripción

Ejemplo

label

información asociada con el evento, especialmente con eventos personalizados en el idioma predeterminado

"Hotel Bishram"

item_name

nombre del punto de recogida en el idioma predeterminado

"Mount Everest"

item_variant

nombre de la opción para el punto de recogida en el idioma predeterminado

"Mount Everest - Ascent to Camp 2"

Prueba de checkout

📗 CONSEJO

Puedes probar el checkout con un producto ficticio y usar tarjetas de prueba de Adyen para pagos con tarjeta.


Implementación del seguimiento de eventos

View_Item (Ver artículo)

  • Se activa cuando un cliente ve un producto dentro del widget de checkout de Ventrata.

  • Este evento se activa tan pronto como se abre la ventana de pago (modo pop-up o integrado).

    • En modo integrado (embedded), este evento se activa cada vez que el cliente visita la página con el checkout integrado, lo que puede resultar en múltiples view_item eventos durante una sola sesión

    • En modo pop-up, este evento se activa cuando el cliente hace clic activamente en el Book Now (Reservar ahora) botón o realiza una acción equivalente para abrir el checkout

Cuerpo del evento

Ejecuta el siguiente código para rastrear el paso Tickets:

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "view_item",
"ecommerce": {
"currency": "EUR",
"checkout_mode": "popup",
"items": [
{
"item_id": "unit_38d8b24e-89a9-488c-9f51-6981dc56a581",
"booking_id": "",
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "DEFAULT",
"item_variant": "Chitwan National Park",
"item_category": "6 seater car",
"price": 400,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": [],
"crossSell": false
}
],
"extras": []
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 26
})


View_gift_item (Ver artículo de regalo)

Rastrea cuando el cliente compra un regalo usando el widget.

Cuerpo del evento

Ejecuta el siguiente código cuando el cliente haga clic en el enlace Buy as a gift card (Comprar como tarjeta regalo):

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "view_gift_item",
"ecommerce": {
"currency": "EUR",
"checkout_mode": "popup",
"items": [
{
"item_id": "unit_38d8b24e-89a9-488c-9f51-6981dc56a581",
"booking_id" : "",
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "DEFAULT",
"item_variant": "Chitwan National Park",
"item_category": "6 seater car",
"price": 400,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": [],
"crossSell": false
}
],
"extras": []
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 31
})


Gift_added_to_cart (Regalo agregado al carrito)

Se activa cuando un cliente añade un artículo de regalo o tarjeta regalo a su carrito.

Cuerpo del evento

Ejecuta el siguiente código cuando el cliente haga clic en Continue (Continuar) botón (después de seleccionar unidad o cantidad) en el paso Regalo:

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "gift_added_to_cart",
"ecommerce": {
"checkout_mode": "popup",
"currency": "EUR",
"items": [
{
"item_id": "d75fb204-9bbe-465f-95a2-21945553c95e",
"booking_id" : "",
"option_id" : "",
"product_id" : "",
"item_name": "Gift card",
"item_variant": "",
"item_category": "",
"item_category2": "",
"item_category3": "",
"item_category4": "",
"crossSell": false,
"multidate": false,
"tax": 0,
"discount": 0,
"price": 400,
"gift_value": 400,
"gift": true,
"quantity": 1,
"extras": [],
"packages": []
}
],
"value": 400,
"tax": 0,
"discount" : 0
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 34
})


Select_unit (Seleccionar unidad)

Este evento se activa cuando el cliente selecciona una unidad (por ejemplo, un tipo específico de entrada o paquete) durante el proceso de checkout.

Cuerpo del evento

Ejecuta el siguiente código cuando el cliente haga clic en el botón más (+) en el paso Tickets:

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "select_unit",
"label": "6 seater car",
"checkout_mode": "popup",
"crossSell": false,
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "1e143307-1ef3-4d3a-8005-b9adb3e54d5b",
"item_variant": "Mount Everest - Ascent to Camp 3",
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 27
})


Remove_unit (Eliminar_unidad)

Este evento se activa cuando el cliente disminuye una unidad (deselecciona una unidad de un tipo de billete o paquete determinado) durante el proceso de checkout.

Cuerpo del evento

Ejecute el siguiente código cuando el cliente haga clic en el botón menos (-) en el Tickets paso:

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "remove_unit",
"label": "6 seater car",
"checkout_mode": "popup",
"crossSell": false,
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "1e143307-1ef3-4d3a-8005-b9adb3e54d5b",
"item_variant": "Mount Everest - Ascent to Camp 3",
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 27
})


Select_date (Seleccionar fecha)

Rastrea cuando el cliente selecciona una fecha para su reserva.

Cuerpo del evento

Ejecuta el siguiente código cuando el cliente seleccione una fecha:

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "select_date",
"label": "2024-09-17",
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "DEFAULT",
"item_variant": "Chitwan National Park",
"checkout_mode": "popup",
"crossSell": false,
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 28
})


Select_time (Seleccionar hora)

Rastrea cuando el cliente selecciona un intervalo de tiempo para su reserva.

Cuerpo del evento

Ejecuta el siguiente código cuando el cliente seleccione un intervalo de tiempo:

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "select_time",
"label": "15:30:00",
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "DEFAULT",
"item_variant": "Chitwan National Park",
"checkout_mode": "popup",
"crossSell": false,
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 29
})


Notify_me (Notificarme)

Este evento puede usarse para medir la demanda de ciertas fechas o productos y ayuda a evitar ventas perdidas. Rastrea cuando el cliente opta por ser notificado sobre la disponibilidad del producto para una fecha u hora que actualmente no está disponible.

Cuerpo del evento

Ejecuta el siguiente código cuando el cliente haga clic en el botón Notify me (Notificarme):

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "notify_me",
"ecommerce": {
"checkout_mode": "popup",
"currency": "CZK",
"order_id": "",
"items": [
{
"item_id": "unit_38d8b24e-89a9-488c-9f51-6981dc56a581",
"booking_id": "acf4c89f-f6b0-47ea-b690-522f8abef116",
"product_id": "c097cd5f-e7eb-45dc-adff-e00894d063cb",
"item_name": "Kathmandu",
"option_id": "fc8010ec-e785-4f19-af6d-34dec76a29e3",
"item_variant": "Kathmandu",
"item_category": "Adult",
"item_category2": "2024-09-30",
"item_category3": "10:00:00",
"item_category4": "",
"crossSell": false,
"price": 0,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": []
}
],
"value": 0,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": []
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 31
})


Wait_list_confirmed (Lista de espera confirmada)

Se activa cuando un cliente confirma su lugar en la lista de espera para un producto agotado.

Cuerpo del evento

Ejecuta el siguiente código cuando el cliente haga clic en el botón Continue (Continuar):

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "wait_list_confirmed",
"ecommerce": {
"checkout_mode": "popup",
"currency": "CZK",
"order_id": "",
"items": [
{
"item_id": "unit_38d8b24e-89a9-488c-9f51-6981dc56a581",
"booking_id": "acf4c89f-f6b0-47ea-b690-522f8abef116",
"product_id": "c097cd5f-e7eb-45dc-adff-e00894d063cb",
"item_name": "Kathmandu",
"option_id": "fc8010ec-e785-4f19-af6d-34dec76a29e3",
"item_variant": "Kathmandu",
"item_category": "Adult",
"item_category2": "2024-09-30",
"item_category3": "10:00:00",
"item_category4": "",
"crossSell": false,
"price": 0,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": []
}
],
"value": 0,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": []
},
"customer": {
"firstName": "Karel",
"lastName": "Fisher",
"emailAddress": "[email protected]"
},
"gtm.uniqueEventId": 36
})


Add_to_cart (Añadir al carrito)

Se activa cuando el cliente hace clic en el botón Continue (Continuar) (después de seleccionar unidad, fecha y hora) que identifica la acción que corresponde a añadir un artículo al carrito en el paso Tickets.

Cuerpo del evento

Ejecuta el siguiente código cuando el cliente haga clic en el botón Continue (Continuar) :

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "add_to_cart",
"ecommerce": {
"checkout_mode": "popup",
"currency": "EUR",
"order_id": "64c62751-2223-4461-99ee-351443c7d540",
"items": [
{
"item_id": "unit_38d8b24e-89a9-488c-9f51-6981dc56a581",
"booking_id": "acf4c89f-f6b0-47ea-b690-522f8abef116",
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "DEFAULT",
"item_variant": "Chitwan National Park",
"item_category": "6 seater car",
"item_category2": "2024-09-17",
"item_category3": "15:30:00",
"item_category4": "",
"crossSell": false,
"price": 400,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": []
}
],
"value": 400,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": []
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 48
})


Upgrade_ticket (Actualizar boleto)

Este evento se activa cuando el cliente decide actualizar su producto.

Cuerpo del evento

Ejecuta el siguiente código cuando el cliente haga clic en el botón Upgrade (Actualizar) en el paso Upgrade Your Experience (Mejorar tu experiencia):

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "upgrade_ticket",
"label": "Kathmandu",
"checkout_mode": "popup",
"product_id": "dcaf4844-324c-46ae-9209-a975a9d19acd",
"option_id": "DEFAULT",
"order_id": "64c62751-2223-4461-99ee-351443c7d540",
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 49
})

📒 NOTA

En caso de actualización, todas las variables posteriores item_name deben contener la información del boleto actualizado en lugar de la original.


Cross-sell (Venta cruzada)

Se activa cuando el cliente selecciona productos o servicios adicionales (venta cruzada) durante el proceso de reserva.

Cuerpo del evento

Ejecuta el siguiente código cuando el cliente haga clic en el botón Book Now (Reservar ahora):

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "cross-sell",
"label": "Mount Everest - Breathing course",
"checkout_mode": "popup",
"product_id": "d60965be-a76a-410f-8e88-2f839aeecfbd",
"option_id": "1e143307-1ef3-4d3a-8005-b9adb3e54d5b",
"order_id": "17def567-005d-43be-ad81-6a904325b17c",
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 72
})


Select_question (Seleccionar pregunta)

Este evento se activa cuando el cliente responde a una o más preguntas en el paso Preguntas.

Cuerpo del evento

Ejecuta el siguiente código cuando el cliente responda a una o más preguntas y haga clic en el botón Continue (Continuar):

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "select_question",
"crossSell": false,
"questions": [
{
"question": "Confirmation that you are in good health is required.",
"answer": "I understand",
"unit_name": null
}
],
"product_id": "c097cd5f-e7eb-45dc-adff-e00894d063cb",
"option_id": "7319e191-e1e5-41b3-9cc8-0f94faea98d2",
"order_id": "17def567-005d-43be-ad81-6a904325b17c",
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 58
})


Select_pickup (Seleccionar punto de recogida)

Este evento se activa cuando el cliente selecciona un punto de recogida en el paso Select Pickup (Seleccionar punto de recogida).

Cuerpo del evento

Ejecuta el siguiente código cuando el cliente seleccione un punto de recogida para su reserva y haga clic en el botón Continue (Continuar):

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "select_pickup",
"label": "Hotel Bishram",
"pickups": [
{
"label": "Hotel Bishram",
"item_name": "Mount Everest",
"item_variant": "Mount Everest - Ascent to Camp 3"
}
],
"checkout_mode": "popup",
"crossSell": false,
"product_id": "c097cd5f-e7eb-45dc-adff-e00894d063cb",
"option_id": "7319e191-e1e5-41b3-9cc8-0f94faea98d2",
"order_id": null,
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 70
})


View_cart (Ver carrito)

Identifique el evento en su sitio web que corresponde a la visualización del carrito.

Cuerpo del evento

Ejecuta el siguiente código para rastrear la sección Cart Summary (Resumen del carrito) en el paso Checkout:

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "view_cart",
"ecommerce": {
"order_id": "17def567-005d-43be-ad81-6a904325b17c",
"coupons": [],
"currency": "EUR",
"checkout_mode": "popup",
"items": [
{
"item_id": "unit_38d8b24e-89a9-488c-9f51-6981dc56a581",
"booking_id": "2a37bb6d-a62a-4d73-b147-3155bfad1d0f",
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "DEFAULT",
"item_variant": "Chitwan National Park",
"item_category": "6 seater car",
"item_category2": "2024-09-13",
"item_category3": "15:30:00",
"item_category4": "",
"crossSell": false,
"multidate": false,
"price": 400,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": [],
"packages": []
}
],
"quantity": 1,
"extras": [],
"value": 400,
"tax": 0,
"discount": 0
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 85
})

📒 NOTA

Tenga en cuenta que en la versión de escritorio, tanto el evento view_cart y el evento begin_checkout deben activarse desde la página Checkout. En la versión móvil, estas dos secciones están en pantallas separadas, por lo que los view_cart y begin_checkout eventos también se activan desde diferentes pantallas.


Begin_checkout (Inicio del checkout)

Identifique el evento en su sitio web que corresponde al inicio del proceso de checkout.

Cuerpo del evento

Ejecuta el siguiente código para rastrear el paso Checkout:

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "begin_checkout",
"ecommerce": {
"order_id": "17def567-005d-43be-ad81-6a904325b17c",
"coupons": [],
"currency": "EUR",
"checkout_mode": "popup",
"items": [
{
"item_id": "unit_38d8b24e-89a9-488c-9f51-6981dc56a581",
"booking_id": "2a37bb6d-a62a-4d73-b147-3155bfad1d0f",
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "DEFAULT",
"item_variant": "Chitwan National Park",
"item_category": "6 seater car",
"item_category2": "2024-09-18",
"item_category3": "14:30:00",
"item_category4": "",
"crossSell": false,
"multidate": false,
"price": 400,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": [],
"packages": []
}
],
"quantity": 1,
"extras": [],
"value": 400,
"tax": 0,
"discount": 0
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 86
})

📒 NOTA

Tenga en cuenta que en la versión de escritorio, tanto el evento view_cart y el evento begin_checkout deben activarse desde la Checkout página. En la versión móvil, estas dos secciones están en pantallas separadas, por lo que los view_cart y begin_checkout eventos también se activan desde diferentes pantallas.


Edit_booking (Editar reserva)

Se activa cuando el cliente edita su reserva.

Cuerpo del evento

Ejecuta el siguiente código cuando el cliente haga clic en el botón Edit (Editar):

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "edit_booking",
"label": "Mount Everest",
"checkout_mode": "popup",
"product_id": "c097cd5f-e7eb-45dc-adff-e00894d063cb",
"option_id": "7319e191-e1e5-41b3-9cc8-0f94faea98d2",
"order_id": "17def567-005d-43be-ad81-6a904325b17c",
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 105
})


Remove_booking (Eliminar reserva)

Se activa cuando el cliente elimina su reserva.

Cuerpo del evento

Ejecuta el siguiente código cuando el cliente haga clic en el botón Remove (Eliminar):

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "remove_booking",
"label": "Mount Everest",
"checkout_mode": "popup",
"product_id": "c097cd5f-e7eb-45dc-adff-e00894d063cb",
"option_id": "7319e191-e1e5-41b3-9cc8-0f94faea98d2",
"order_id": "17def567-005d-43be-ad81-6a904325b17c",
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 111
})


Create _or_update_order (Crear o actualizar pedido)

Se activa cuando el cliente ha completado todos los datos de contacto esenciales, marcado todos los campos obligatorios y continúa con el pago.

Cuerpo del evento

Ejecuta el siguiente código cuando el cliente haga clic en el botón Pay Now (Pagar ahora):

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "create_or_update_order",
"ecommerce": {
"order_id": "17def567-005d-43be-ad81-6a904325b17c",
"coupons": [],
"currency": "EUR",
"checkout_mode": "popup",
"items": [
{
"item_id": "unit_2e1348c9-32c3-478a-9983-395bdd0267c8",
"booking_id": "a1026fcc-b02c-47ab-813b-8ea5a2d04666",
"product_id": "d60965be-a76a-410f-8e88-2f839aeecfbd",
"item_name": "Mount Everest - Breathing course",
"option_id": "1e143307-1ef3-4d3a-8005-b9adb3e54d5b",
"item_variant": "Camp 2",
"item_category": "Adult",
"item_category2": "2024-09-19",
"item_category3": "00:00:00",
"item_category4": "",
"crossSell": false,
"multidate": false,
"price": 5,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": [],
"packages": []
}
],
"quantity": 1,
"extras": [],
"value": 5,
"tax": 0,
"discount": 0
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 117
})



Quote_confirmed (Cotización confirmada)

Se activa cuando el cliente completa todos los datos de contacto obligatorios en la/el Checkout página y decide guardar la reserva como presupuesto en lugar de proceder al pago.

Cuerpo del evento

Ejecute el siguiente código cuando el usuario pulse el botón Save for later (Guardar para después) para guardar la reserva para más tarde en la/el Checkout página:

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "quote_confirmed",
"ecommerce": {
"order_id": "7cab3c1b-ce19-440a-b98b-88e30f20c850",
"coupons": [],
"currency": "EUR",
"checkout_mode": "embedded",
"items": [
{
"item_id": "unit_38d8b24e-89a9-488c-9f51-6981dc56a581",
"booking_id": "9cfbd3a2-1b76-40fc-87e1-a8a41e2af2c8",
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "DEFAULT",
"item_variant": "Chitwan National Park",
"item_category": "6 seater car",
"item_category2": "2025-10-08",
"item_category3": "10:30:00",
"item_category4": "",
"crossSell": false,
"multidate": false,
"price": 400,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": [],
"packages": []
}
],
"quantity": 1,
"extras": [],
"value": 400,
"tax": 0,
"discount": 0
},
"customer": {
"title": null,
"fullName": "John Doe",
"firstName": "John",
"lastName": "Doe",
"emailAddress": "[email protected]",
"phoneNumber": "+421123456789",
"age": null,
"birthdate": "1982-10-23",
"locales": [
"en"
],
"streetAddress": "Běhounská",
"city": "Brno-střed",
"state": null,
"postalCode": "60200",
"country": "CZ",
"notes": null,
"allowMarketing": true,
"taxId": null,
"company": null
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 118
})


Add_payment_info (Agregar información de pago)

Determina el evento en tu sitio web que corresponde a los clientes que agregan su información de pago durante el proceso de checkout.

Cuerpo del evento

Si no es una página externa, ejecuta el siguiente código cuando el usuario seleccione el método de pago en la página Payment (Pago):

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"payment_type": "Cards",
"event": "add_payment_info",
"ecommerce": {
"order_id": "fa37528e-c0d2-4516-a4b6-71e10c994602",
"currency": "EUR",
"checkout_mode": "popup",
"items": [
{
"item_id": "unit_2e1348c9-32c3-478a-9983-395bdd0267c8",
"booking_id": "e5132bbf-b6d1-48c3-8e35-c9adedef210a",
"product_id": "d60965be-a76a-410f-8e88-2f839aeecfbd",
"item_name": "Mount Everest - Breathing course",
"option_id": "1e143307-1ef3-4d3a-8005-b9adb3e54d5b",
"item_variant": "Camp 2",
"item_category": "Adult",
"item_category2": "2024-09-19",
"item_category3": "00:00:00",
"item_category4": "",
"crossSell": false,
"multidate": false,
"price": 5,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": [],
"packages": []
}
],
"quantity": 1,
"extras": [],
"value": 5,
"tax": 0,
"discount": 0
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 118
})


Purchase (Compra)

Identifica el evento en tu sitio web que corresponde a completar una compra.

Cuerpo del evento

Usa el código a continuación cuando la página de agradecimiento se muestra para rastrear una compra exitosa:

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "purchase",
"ecommerce": {
"order_id": "fa37528e-c0d2-4516-a4b6-71e10c994602",
"coupons": [],
"currency": "EUR",
"checkout_mode": "popup",
"items": [
{
"item_id": "unit_2e1348c9-32c3-478a-9983-395bdd0267c8",
"booking_id": "e5132bbf-b6d1-48c3-8e35-c9adedef210a",
"product_id": "d60965be-a76a-410f-8e88-2f839aeecfbd",
"item_name": "Mount Everest - Breathing course",
"option_id": "1e143307-1ef3-4d3a-8005-b9adb3e54d5b",
"item_variant": "Camp 2",
"item_category": "Adult",
"item_category2": "2024-09-19",
"item_category3": "00:00:00",
"item_category4": "",
"price": 5,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": [],
"packages": []
}
],
"quantity": 1,
"extras": [],
"value": 5,
"tax": 0,
"discount": 0,
"transaction_id": "fa37528e-c0d2-4516-a4b6-71e10c994602",
"transaction_type": "ventrata"
},
"customer": {
"full_name": "Karel Fisher",
"email": "[email protected]",
"mobile": "+4201234567899",
"country": "CZ",
"postal_code": null
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 119
})

📒 NOTA

El 'ID de transacción' es el identificador único preciso asignado a cada pedido. En la Bookings (Reservas) > Orders (Pedidos) en la página, presiona el botón Show Columns (Mostrar columnas) y agrega 'ID' a tu vista. El 'Order ID (ID de pedido)' es el mismo que el 'Transaction ID (ID de transacción)' (Transaction ID = Order ID).

Orders - Transaction ID



Order_expired (Pedido caducado)

Se activa cuando una sesión única de checkout caduca sin una compra exitosa o cuando el cliente cierra el checkout antes de completar el pago.

Cuerpo del evento

Ejecute el código siguiente cuando la sesión de checkout expire y cuando se Pedido caducado página se muestra:

dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "order_expired",
"order_id": "eb16d401-3b9f-44b7-b927-417487369f70",
"checkout_mode": "popup",
"page": "bottom_bar",
"product_id": null,
"option_id": null,
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 119
})


Cómo saber si el Web Checkout está enviando datos

  • Puedes usar una extensión de navegador que pueda verificar la capa de datos, por ejemplo, Datalyer checker.


Publicar y probar

Después de configurar todas las etiquetas, activadores y parámetros, guarda y publica tu contenedor GTM para que los cambios estén activos en tu sitio web.

Prueba la implementación del seguimiento realizando las acciones relevantes en tu sitio web y verificando si los eventos se están rastreando en GA4.


Verificar datos en GA4

Una vez que los datos se envíen a GA4, inicia sesión en tu propiedad GA4 y navega a la sección de informes.

Utilice Event reports (Informes de eventos) para analizar y verificar que los eventos rastreados se estén registrando correctamente.

Revise y actualice regularmente su contenedor GTM según sea necesario para garantizar un seguimiento preciso y adaptarse a cualquier cambio en su sitio web o en los requisitos de seguimiento de eventos.


Registro de cambios

Última actualización

Registro de cambios

07/10/2025

2.0.3 - parámetros y cuerpos de eventos actualizados; se añadieron los eventos Remove_unit, Quote_confirmed y Order_expired

17/09/2024

2.0.2 - lista actualizada de eventos y cuerpos de eventos

18/12/2023

2.0.1 - cantidad añadida bajo comercio electrónico

12/12/2023

2.0.0 - nueva estructura de elementos añadida + preguntas, recogidas, extras

04/08/2023

1.0.4 - añadidos ejemplos concretos de JSON en la documentación

20/07/2023

1.0.3 - información del cliente añadida al evento de compra

29/06/2023

1.0.2 - el precio de un artículo se muestra por unidad (no el total)

28.6.2023

1.0.1 - se añadió 1 al recuento de la cantidad para el evento view_item

22.5.2023

1.0.0 - Primera versión


¿Ha quedado contestada tu pregunta?