En esta guía se describe cómo recopilar datos de comercio electrónico mejorado con analytics.js.
Descripción general
El complemento de comercio electrónico mejorado de analytics.js permite medir las interacciones del usuario con los productos de sitios web de comercio electrónico durante el proceso de pago de los usuarios, incluidos: las impresiones de producto, los clics de producto, la visualización de los detalles del producto, los productos agregados al carrito, el inicio del proceso de pago, las transacciones y las devoluciones.
Migración y compatibilidad con el complemento de comercio electrónico (ecommerce.js)
Si ya has implementado el seguimiento de comercio electrónico y quieres empezar a usar el seguimiento de comercio electrónico mejorado, cuentas con dos opciones:
Usar una nueva propiedad
Puedes agregar un objeto de seguimiento adicional en una propiedad recién creada y etiquetar o habilitar el comercio electrónico mejorado en la nueva propiedad. Consulta Trabajar con varios objetos de seguimiento para obtener información detallada sobre cómo enviar datos a varias propiedades desde una sola página.
Migrar a una propiedad
Para migrar desde el complemento de comercio electrónico al complemento de comercio electrónico mejorado, los usuarios actuales de analytics.js deben quitar y sustituir cualquier referencia con código de comercio electrónico mejorado.
Si usas ga.js, tendrás que migrar a analytics.js antes de usar el plugin de comercio electrónico mejorado.
Los datos de transacción y de artículo recopilados anteriormente con el complemento ecommerce.js no se verán afectados por la migración y seguirán disponibles en las propiedades y en los perfiles a los que se enviaron al principio.
Tipos de datos de comercio electrónico mejorado y acciones
Hay varios tipos de datos de comercio electrónico que puedes enviar usando analytics.js: datos de impresión, datos de producto, datos de promoción y datos de acción.
Datos de impresión
Representan la información sobre el producto que se ha visto. Se hace referencia a ellos mediante impressionFieldObject
y contienen los siguientes valores:
Clave | Tipo de valor | Obligatorio | Descripción |
---|---|---|---|
id |
texto | Sí* | ID de producto o SKU (por ejemplo, P67890). *Es necesario definir este campo o el de nombre. |
name |
texto | Sí* | Nombre del producto (por ejemplo, camiseta de Android). *Es necesario definir este campo o el de ID. |
list |
texto | No | Lista o colección a la que pertenece el producto (por ejemplo, Resultados de búsqueda) |
brand |
texto | No | Marca asociada al producto (por ejemplo, Google) |
category |
texto | No | Categoría a la que pertenece el producto (por ejemplo, ropa). Usa / como delimitador para especificar hasta 5 niveles de jerarquía (por ejemplo, Ropa/Hombre/Camisetas). |
variant |
texto | No | Variante del producto (por ejemplo, Negro) |
position |
entero | No | Posición del producto en una lista o colección (por ejemplo, 2) |
price |
moneda | No | Precio de un producto (por ejemplo, 29,20) |
Datos de producto
Los datos de producto representan los productos individuales que se han visto, que se han agregado al carrito, etc. Se hace referencia a ellos mediante el objeto productFieldObject
y contienen los siguientes valores:
Clave | Tipo de valor | Obligatorio | Descripción |
---|---|---|---|
id |
texto | Sí* | ID de producto o SKU (por ejemplo, P67890). *Es necesario definir este campo o el de nombre. |
name |
texto | Sí* | Nombre del producto (por ejemplo, camiseta de Android). *Es necesario definir este campo o el de ID. |
brand |
texto | No | Marca asociada al producto (por ejemplo, Google) |
category |
texto | No | Categoría a la que pertenece el producto (por ejemplo, ropa). Usa / como delimitador para especificar hasta 5 niveles de jerarquía (por ejemplo, Ropa/Hombre/Camisetas). |
variant |
texto | No | Variante del producto (por ejemplo, Negro) |
price |
moneda | No | Precio de un producto (por ejemplo, 29,20) |
quantity |
entero | No | Cantidad de un producto (por ejemplo, 2) |
coupon |
texto | No | Código de cupón asociado a un producto (por ejemplo, COMPRA_VERANO13) |
position |
entero | No | Posición del producto en una lista o colección (por ejemplo, 2) |
Datos de promoción
Representan la información sobre una promoción que se ha visto. Se hace referencia a ellos mediante el objeto promoFieldObject
y contienen los siguientes valores:
Clave | Tipo de valor | Obligatorio | Descripción |
---|---|---|---|
id |
texto | Sí* | ID de promoción (por ejemplo, PROMO_1234). *Es necesario definir este campo o el de nombre. |
name |
texto | Sí* | Nombre de la promoción (por ejemplo, Compra de verano) *Es necesario definir este campo o el de ID. |
creative |
texto | No | Creatividad asociada a la promoción (por ejemplo, banner_verano2) |
position |
texto | No | Posición de la creatividad (por ejemplo, banner_slot_1). |
Datos de acción
Representan la información sobre una acción que se lleva a cabo relacionada con el comercio electrónico. Se hace referencia a ellos mediante el objeto actionFieldObject
y contienen los siguientes valores:
Clave | Tipo de valor | Obligatorio | Descripción |
---|---|---|---|
id |
texto | Sí* | ID de la transacción (por ejemplo, T1234). *Es obligatorio si el tipo de acción es purchase o refund . |
affiliation |
texto | No | Tienda o afiliación donde se ha originado esta transacción (por ejemplo, Google Store). |
revenue |
moneda | No | Especifica los ingresos totales o la suma total asociados a la transacción (por ejemplo, 11,99). Este valor puede incluir los gastos de envío, los impuestos u otros ajustes de los ingresos totales que quieras incluir para calcular tus ingresos. Nota: Si no se definen los ingresos, se calculará el valor automáticamente usando los campos de cantidad y de precio de todos los productos pertenecientes al mismo hit. |
tax |
moneda | No | Impuestos totales asociados a la transacción |
shipping |
moneda | No | Gastos de envío asociados a la transacción |
coupon |
texto | No | Cupón canjeado con la transacción. |
list |
texto | No | Lista a la que pertenecen los productos asociados. Opcional. |
step |
entero | No | Número que representa un paso en el proceso de pago. Es opcional para acciones definidas como checkout . |
option |
texto | No | Campo adicional para acciones de checkout y checkout_option que pueden describir la información de opción en la página de pago, como la forma de pago seleccionada. |
Acciones de producto y de promoción
Las acciones especifican cómo interpretar los datos de producto y de promoción enviados a Google Analytics.
Acción | Descripción |
---|---|
click |
Clic en un producto o en un enlace de producto de uno o varios productos |
detail |
Visualización de los detalles de un producto |
add |
Uno o varios productos agregados a un carrito de compra |
remove |
Uno o varios productos suprimidos de un carrito de compra |
checkout |
Inicio del proceso de compra para uno o varios productos |
checkout_option |
Envío del valor de opción de un paso de compra determinado |
purchase |
Venta de uno o varios productos |
refund |
Devolución de uno o varios productos |
promo_click |
Clic en una promoción interna |
Implementación
En las siguientes secciones se describe cómo implementar el complemento de comercio electrónico mejorado para medir la actividad de comercio electrónico en un sitio web con la biblioteca analytics.js.
Carga del complemento de comercio electrónico
Para reducir el tamaño de la biblioteca analytics.js, no se ofrece el seguimiento de comercio electrónico mejorado en la biblioteca predeterminada. Se ofrece como un módulo de complemento que se debe cargar antes de usarse.
Para cargar el complemento de comercio electrónico mejorado, usa este comando:
ga('require', 'ec');
El comando se debe indicar después de crear el objeto de seguimiento y antes de usar la funcionalidad específica de comercio electrónico mejorado.
Envío de datos de comercio electrónico mejorado
Una vez cargado, se agregará un par de comandos nuevos específicos del seguimiento de comercio electrónico mejorado al objeto de seguimiento predeterminado, y podrás empezar a enviar datos de comercio electrónico.
- Medición de actividades de comercio electrónico
- Medición de transacciones
- Medición de devoluciones
- Medir el proceso de pago
- Medición de promociones internas
Medición de actividades de comercio electrónico
Una implementación de comercio electrónico mejorado normal medirá las impresiones de producto y cualquiera de las siguientes acciones:
- Clics en un enlace de producto.
- visualización de los detalles del producto,
- impresiones y clics de promociones internas,
- productos agregados o suprimidos de un carrito de compra,
- inicio del proceso de compra de un producto,
- compras y devoluciones.
Medición de impresiones
Las impresiones de producto se miden usando el comando ec:addImpression
. Los detalles sobre el producto se agregan en impressionFieldObject
.
Por ejemplo, el siguiente código mide la impresión de un producto en una lista de resultados de búsqueda:
ga('ec:addImpression', { // Provide product details in an impressionFieldObject. 'id': 'P12345', // Product ID (string). 'name': 'Android Warhol T-Shirt', // Product name (string). 'category': 'Apparel/T-Shirts', // Product category (string). 'brand': 'Google', // Product brand (string). 'variant': 'Black', // Product variant (string). 'list': 'Search Results', // Product list (string). 'position': 1, // Product position (number). 'dimension1': 'Member' // Custom dimension (string). });
impressionFieldObject
debe tener un valor name
o id
. El resto de valores son opcionales y no es necesario especificarlos.
Medición de acciones
Las acciones se miden usando el comando ec:addProduct
con productFieldObject
para agregar los detalles del producto, y el comando ec:setAction
se usa para especificar la acción que se realiza.
Por ejemplo, el siguiente código mide un clic en un enlace de producto mostrado en una lista de resultados de búsqueda:
ga('ec:addProduct', { // Provide product details in a productFieldObject. 'id': 'P12345', // Product ID (string). 'name': 'Android Warhol T-Shirt', // Product name (string). 'category': 'Apparel', // Product category (string). 'brand': 'Google', // Product brand (string). 'variant': 'Black', // Product variant (string). 'position': 1, // Product position (number). 'dimension1': 'Member' // Custom dimension (string). }); ga('ec:setAction', 'click', { // click action. 'list': 'Search Results' // Product list (string). });
productFieldObject
debe tener un valor name
o id
. El resto de valores son opcionales y no es necesario especificarlos.
Combinación de impresiones y acciones
En los casos en que tengas tanto una impresión de producto como una acción, es posible combinarlas y medirlas en un solo hit.
En el ejemplo siguiente se indica cómo medir una visualización de los detalles de un producto con una sección de productos relacionados:
// The impression from a Related Products section. ga('ec:addImpression', { // Provide product details in an impressionFieldObject. 'id': 'P12345', // Product ID (string). 'name': 'Android Warhol T-Shirt', // Product name (string). 'category': 'Apparel/T-Shirts', // Product category (string). 'brand': 'Google', // Product brand (string). 'variant': 'Black', // Product variant (string). 'list': 'Related Products', // Product list (string). 'position': 1 // Product position (number). }); // The product being viewed. ga('ec:addProduct', { // Provide product details in an productFieldObject. 'id': 'P67890', // Product ID (string). 'name': 'YouTube Organic T-Shirt', // Product name (string). 'category': 'Apparel/T-Shirts', // Product category (string). 'brand': 'YouTube', // Product brand (string). 'variant': 'gray', // Product variant (string). 'position': 2 // Product position (number). }); ga('ec:setAction', 'detail'); // Detail action.
Medición de transacciones
Las transacciones se miden usando el comando ec:setAction
y configurando el tipo de acción como purchase
.
Los detalles de las transacciones, como los ingresos totales, los impuestos y los gastos de envío se facilitan en actionFieldObject
:
ga('ec:addProduct', { // Provide product details in an productFieldObject. 'id': 'P12345', // Product ID (string). 'name': 'Android Warhol T-Shirt', // Product name (string). 'category': 'Apparel', // Product category (string). 'brand': 'Google', // Product brand (string). 'variant': 'black', // Product variant (string). 'price': '29.20', // Product price (currency). 'coupon': 'APPARELSALE', // Product coupon (string). 'quantity': 1 // Product quantity (number). }); ga('ec:setAction', 'purchase', { // Transaction details are provided in an actionFieldObject. 'id': 'T12345', // (Required) Transaction id (string). 'affiliation': 'Google Store - Online', // Affiliation (string). 'revenue': '37.39', // Revenue (currency). 'tax': '2.85', // Tax (currency). 'shipping': '5.34', // Shipping (currency). 'coupon': 'SUMMER2013' // Transaction coupon (string). });
actionFieldObject
debe tener un valor id
si el tipo de acción es purchase
o refund
. El resto de valores son opcionales y no es necesario especificarlos.
Medición de devoluciones
Para devolver una transacción al completo, configura una acción refund
y facilita el ID de transacción:
// Refund an entire transaction. ga('ec:setAction', 'refund', { 'id': 'T12345' // Transaction ID is only required field for full refund. });
Si no se encuentra una transacción coincidente, no se procesará el hit de tipo refund
.
Para medir una devolución parcial, configura una acción refund
y especifica el ID de transacción, los ID de producto y la cantidad de producto que se devolverá:
// Refund a single product. ga('ec:addProduct', { 'id': 'P12345', // Product ID is required for partial refund. 'quantity': 1 // Quantity is required for partial refund. }); ga('ec:setAction', 'refund', { 'id': 'T12345', // Transaction ID is required for partial refund. });
Uso de eventos sin interacción para devoluciones
Si debes enviar datos de devolución usando un evento y este no forma parte del comportamiento que se mide en el sitio de forma habitual (no lo inicia el usuario), te recomendamos que envíes un evento sin interacción. Esto evita que el evento afecte a métricas como la de porcentaje de rebote o de tiempo en el sitio web. Por ejemplo:
ga('send', 'event', 'Ecommerce', 'Refund', {'nonInteraction': 1});
Medir el proceso de pago
Para medir cada paso del proceso de pedido:
- Agrega código de seguimiento para medir cada paso del proceso de pedido.
- Si es posible, agrega código de seguimiento para medir las opciones de pago.
- Si lo deseas, asigna nombres descriptivos a cada paso para el informe de embudo de pago. Para ello, ajusta Configuración de comercio electrónico en la sección de administración de la interfaz web.
1. Medición de los pasos de pago
En cada paso del proceso de pago, debes implementar el código de seguimiento correspondiente para enviar datos a Google Analytics.
Campo step
En cada paso del pago que midas, debes incluir un valor de step
. Este valor se usa para asignar tus acciones de pago a las etiquetas configuradas en cada paso en Configuración de comercio electrónico.
Campo option
Si tienes información adicional sobre un paso de pago determinado en el momento en que se mide, puedes configurar el campo option
con una acción checkout
para capturar esta información. Se podría tratar del tipo de pago predeterminado para el usuario (por ejemplo, "Visa").
Medición de un paso de pago
Para medir un paso de pago, usa ec:addProduct
para cada producto, y ec:setAction
para indicar un proceso de pago. En caso necesario, ec:setAction
puedes necesitar un objeto actionFieldObject
adicional para describir el paso de pago con los campos step
y option
.
En el siguiente ejemplo se muestra cómo medir el primer paso de un proceso de pago, con un solo producto, y algo de información adicional sobre el tipo de pago:
ga('ec:addProduct', { // Provide product details in an productFieldObject. 'id': 'P12345', // Product ID (string). 'name': 'Android Warhol T-Shirt', // Product name (string). 'category': 'Apparel', // Product category (string). 'brand': 'Google', // Product brand (string). 'variant': 'black', // Product variant (string). 'price': '29.20', // Product price (currency). 'quantity': 1 // Product quantity (number). }); // Add the step number and additional info about the checkout to the action. ga('ec:setAction','checkout', { 'step': 1, 'option': 'Visa' });
2. Medir las opciones de pago
Las opciones de pago permiten medir información adicional sobre el estado del pago. Resulta útil en casos en los que se haya medido un paso de pago durante la página vista inicial, pero haya información adicional disponible sobre el mismo paso de pago después de que un usuario haya establecido la opción seleccionada. Por ejemplo, el usuario selecciona una forma de envío.
Para medir una opción de pago, usa ec:setAction
para indicar checkout_option
e incluye el número de paso y la descripción de la opción.
Es probable que midas esta acción una vez que el usuario haya hecho clic para pasar al siguiente paso del proceso de pago. Por ejemplo:
// (On "Next" button click) ga('ec:setAction', 'checkout_option', {'step': 2, 'option': 'FedEx'}); ga('send', 'event', 'Checkout', 'Option', { hitCallback: function() { // advance to next page }, });
3. Configuración del embudo de pago
Puede asignarse un nombre descriptivo a cada paso del proceso de pago, que se usará en los informes. Para configurar estos nombres, ve a la sección Administrador de la interfaz web de Google Analytics, selecciona la vista (perfil) y haz clic en Configuración de comercio electrónico. Sigue las instrucciones de configuración de comercio electrónico para etiquetar cada paso de pago del que quieras realizar un seguimiento.

Medición de promociones internas
El complemento de comercio electrónico mejorado es compatible con la medición de impresiones y clics de promociones internas, como banners para promocionar una venta en otra sección del sitio web.
Impresiones de promoción
Las impresiones de promoción interna suelen medirse cuando se carga la página y se envían con la página vista inicial usando el comando ec:addPromo
.
Por ejemplo:
ga('ec:addPromo', { // Promo details provided in a promoFieldObject. 'id': 'PROMO_1234', // Promotion ID. Required (string). 'name': 'Summer Sale', // Promotion name (string). 'creative': 'summer_banner2', // Creative (string). 'position': 'banner_slot1' // Position (string). });
Clics de la promoción
Los clics en promociones internas se miden configurando la acción promo_click
. Por ejemplo:
// Identify the promotion that was clicked. ga('ec:addPromo', { 'id': 'PROMO_1234', 'name': 'Summer Sale', 'creative': 'summer_banner2', 'position': 'banner_slot1' }); // Send the promo_click action with an event. ga('ec:setAction', 'promo_click'); ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');
Por ejemplo, para medir una página de detalle de producto con una impresión y un clic de promoción, envía los datos de producto y de impresión con el número de páginas vistas inicial y, a continuación, los datos de clic de promoción en un evento distinto:
// 1. Send product and impression data with pageview. ga('ec:addProduct', { 'id': 'P12345', // Product ID (string). 'name': 'Android Warhol T-Shirt', // Product name (string). 'category': 'Apparel', // Product category (string). 'brand': 'Google', // Product brand (string). 'variant': 'Black', // Product variant (string). 'position': 1, // Product position (number). }); // The impression from the Related Products section. ga('ec:addImpression', { 'id': 'P12345', // Product ID (string). 'name': 'Android Warhol T-Shirt', // Product name (string). 'category': 'Apparel/T-Shirts', // Product category (string). 'brand': 'Google', // Product brand (string). 'variant': 'Black', // Product variant (string). 'list': 'Related Products', // Product list (string). 'position': 1, // Product position (number). }); ga('ec:setAction', 'detail'); // Detail action. ga('send', 'pageview'); // Send the product data with initial pageview. // 2. Send the promo click data when the promo click occurs. // Call this function when promo click occurs. function onPromoClick() { ga('ec:addPromo', { 'id': 'PROMO_1234', 'name': 'Summer Sale', 'creative': 'summer_banner2', 'position': 'banner_slot1' }); // Send the promo_click action with an event. ga('ec:setAction', 'promo_click'); ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale'); }
promoFieldObject
debe tener un valor name
o id
. El resto de valores son opcionales y no es necesario especificarlos.
Ejemplo completo
Los fragmentos de código siguientes demuestran cómo puede medirse el ciclo de vida de comercio electrónico de un solo producto desde la impresión inicial a la transacción usando el complemento de comercio electrónico mejorado.
Medición de una impresión de producto
En este ejemplo, el usuario ve el producto por primera vez en una lista de resultados de búsqueda.
Para medir esta impresión de producto, usa el comando ec:addImpression
y proporciona detalles del producto en impressionFieldObject
:
ga('create', 'UA-XXXXX-Y'); ga('require', 'ec'); ga('ec:addImpression', { 'id': 'P12345', // Product details are provided in an impressionFieldObject. 'name': 'Android Warhol T-Shirt', 'category': 'Apparel/T-Shirts', 'brand': 'Google', 'variant': 'black', 'list': 'Search Results', 'position': 1 // 'position' indicates the product position in the list. }); ga('ec:addImpression', { 'id': 'P67890', 'name': 'YouTube Organic T-Shirt', 'category': 'Apparel/T-Shirts', 'brand': 'YouTube', 'variant': 'gray', 'list': 'Search Results', 'position': 2 }); ga('send', 'pageview'); // Send product impressions with initial pageview.
Medición de un clic de producto
A continuación, un usuario expresa interés en este producto concreto haciendo clic en la ficha de producto para ver más detalles.
Para medir el clic en el producto, usa ec:addProduct
y
ec:setAction
:
// Called when a link to a product is clicked. function onProductClick() { ga('ec:addProduct', { 'id': 'P12345', 'name': 'Android Warhol T-Shirt', 'category': 'Apparel', 'brand': 'Google', 'variant': 'black', 'position': 1 }); ga('ec:setAction', 'click', {list: 'Search Results'}); // Send click with an event, then send user to product page. ga('send', 'event', 'UX', 'click', 'Results', { hitCallback: function() { document.location = '/product_details?id=P12345'; } }); }
El enlace del producto se puede implementar de la siguiente forma:
<a href="/next-page.html" onclick="onProductClick(); return !ga.loaded;">Android Warhol T-Shirt</a>
Medir una vista de detalles de un producto
Tras hacer clic en la ficha de producto, el usuario ve la página de detalles del producto.
Para medir esta visita a la página, usa ec:addProduct
y
ec:setAction
para especificar una acción detail
:
ga('create', 'UA-XXXXX-Y'); ga('require', 'ec'); ga('ec:addProduct', { 'id': 'P12345', 'name': 'Android Warhol T-Shirt', 'category': 'Apparel', 'brand': 'Google', 'variant': 'black' }); ga('ec:setAction', 'detail'); ga('send', 'pageview'); // Send product details view with the initial pageview.
Medir un artículo agregado o suprimido en el carrito
El usuario expresa la intención de comprar el artículo agregándolo al carrito.
Para medir el acto de agregar un producto al carrito o de suprimirlo, usa
ec:addProduct
y establece el tipo como add
o
remove
:
// Called when a product is added to a shopping cart. function addToCart(product) { ga('ec:addProduct', { 'id': product.id, 'name': product.name, 'category': product.category, 'brand': product.brand, 'variant': product.variant, 'price': product.price, 'quantity': product.qty }); ga('ec:setAction', 'add'); ga('send', 'event', 'UX', 'click', 'add to cart'); // Send data using an event. }
Medir el proceso de pago
Ahora el usuario está listo para iniciar el proceso de pago, que en este ejemplo incluye dos pasos, cada uno en páginas distintas:
- Agregar detalles de pago (payment.html)
- Agregar detalles de envío (shipping.html)
Si fuera necesario, asegúrate de haber configurado un embudo de pago correctamente en la sección de administración de la interfaz web, concretamente en Configuración de comercio electrónico. Por ejemplo:

Paso 1: pago
Para medir el primer paso del proceso de pago, usa ec:addProduct
para cada producto del carrito, y ec:setAction
para indicar un pago (checkout
).ec:setAction
usa actionFieldObject
para describir el paso de pago con un número. Además se incluye información adicional sobre el tipo de pago predeterminado para el usuario mediante el campo option
:
ga('create', 'UA-XXXXX-Y'); ga('require', 'ec'); /** * Called when the user begins the checkout process. * @param {Array} cart An array representing the user's shopping cart. */ function checkout(cart) { for(var i = 0; i < cart.length; i++) { var product = cart[i]; ga('ec:addProduct', { 'id': product.id, 'name': product.name, 'category': product.category, 'brand': product.brand, 'variant': product.variant, 'price': product.price, 'quantity': product.qty }); } } // In the case of checkout actions, an additional actionFieldObject can // specify a checkout step and option. ga('ec:setAction','checkout', { 'step': 1, // A value of 1 indicates this action is first checkout step. 'option': 'Visa' // Used to specify additional info about a checkout stage, e.g. payment method. }); ga('send', 'pageview'); // Pageview for payment.html
Paso 2: envío
Para medir el segundo paso de pago, usa ec:addProduct
para cada producto del carrito y ec:setAction
para indicar un pago. En este caso, no disponemos de información adicional sobre la opción de envío seleccionada cuando se envía el número de página vista inicial, por lo que se reflejará de forma distinta mediante ec:setAction
para indicar una opción de pago (checkout_option
).
Measure checkout step 2: ga('create', 'UA-XXXXX-Y'); ga('require', 'ec'); /** * Called when the user begins the checkout process. * @param {Array} cart An array representing the user's shopping cart. */ function checkout(cart) { for(var i = 0; i < cart.length; i++) { var product = cart[i]; ga('ec:addProduct', { 'id': product.id, 'name': product.name, 'category': product.category, 'brand': product.brand, 'variant': product.variant, 'price': product.price, 'quantity': product.qty }); } } ga('ec:setAction','checkout', {'step': 2}); ga('send', 'pageview'); // Pageview for shipping.html // Called when user has completed shipping options. function onShippingComplete(stepNumber, shippingOption) { ga('ec:setAction', 'checkout_option', { 'step': stepNumber, 'option': shippingOption }); ga('send', 'event', 'Checkout', 'Option', { hitCallback: function() { // Advance to next page. } }); }
El formulario puede implementarse de la siguiente forma:
<a href="/next-page.html" onclick="onShippingComplete(2, 'FedEx'); return !ga.loaded;">Continue</a>
Medir una transacción
Por último, el usuario completa el proceso de pago y envía su compra.
Para medir la venta de uno o varios productos, usa ec:addProduct
para agregar cada producto y, a continuación, ec:setAction
para especificar una compra (purchase
). La información de transacción, como los ingresos totales, los impuestos, etc., se puede especificar a través de un objeto actionFieldObject
. Por ejemplo:
ga('create', 'UA-XXXXX-Y'); ga('require', 'ec'); ga('ec:addProduct', { 'id': 'P12345', 'name': 'Android Warhol T-Shirt', 'category': 'Apparel', 'brand': 'Google', 'variant': 'black', 'price': '29.20', 'quantity': 1 }); // Transaction level information is provided via an actionFieldObject. ga('ec:setAction', 'purchase', { 'id': 'T12345', 'affiliation': 'Google Store - Online', 'revenue': '37.39', 'tax': '2.85', 'shipping': '5.34', 'coupon': 'SUMMER2013' // User added a coupon at checkout. }); ga('send', 'pageview'); // Send transaction data with initial pageview.
Especificar las monedas locales
De forma predeterminada, puedes configurar una moneda común y global para todas las transacciones y artículos a través de la interfaz web de administración de Google Analytics. La moneda global se usa de manera predeterminada para todos los artículos y transacciones. En los sitios web en los que se realizan transacciones en varias monedas, el complemento de comercio electrónico permite especificar la moneda local de la transacción.
La moneda local se debe especificar según la norma ISO 4217
. Consulta en el documento Referencia de los códigos de moneda la lista completa de las monedas de conversión que se admiten.
La moneda local se especifica mediante la propiedad de objeto de seguimiento currencyCode
. Por ejemplo, en este seguimiento, se enviarán valores de moneda en euros:
ga('create', 'UA-XXXXX-Y'); ga('require', 'ec'); ga('set', 'currencyCode', 'EUR'); // Set tracker currency to Euros. ga('ec:addProduct', { 'id': 'P12345', 'name': 'Android Warhol T-Shirt', 'category': 'Apparel', 'brand': 'Google', 'variant': 'black', 'price': '21.89', 'quantity': 1 }); ga('ec:setAction', 'purchase', { id: 'T12345', affiliation: 'Google Store - Online', revenue: '28.03', tax: '2.14', shipping: '4.00', coupon: 'SUMMER2013' }); ga('send', 'pageview');