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 la experiencia de compra. Por ejemplo, las impresiones de producto, los clics en productos, las visualizaciones de los detalles de los productos, los productos añadidos al carrito, el inicio del proceso de pago, las transacciones y los reembolsos.
Migración y compatibilidad con el complemento de comercio electrónico (ecommerce.js)
Si ya has implementado la medición de comercio electrónico y quieres empezar a usar Comercio electrónico mejorado, estas son las dos opciones principales para hacerlo:
Usar una nueva propiedad
Puedes añadir un objeto de seguimiento adicional a una propiedad recién creada y etiquetar o habilitar Comercio electrónico mejorado en la nueva propiedad. Consulta el artículo 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 una propiedad
Para migrar una propiedad desde el complemento de comercio electrónico al complemento de comercio electrónico mejorado, los usuarios de analytics.js deben quitar y sustituir cualquier referencia por código de Comercio electrónico mejorado.
Si usas ga.js, tendrás que migrar a analytics.js antes de usar el complemento de comercio electrónico mejorado.
La migración no influirá en los datos de transacción y de artículo recogidos con el complemento ecommerce.js, que seguirán disponibles en las propiedades y en los perfiles a los que se enviaron originalmente.
Tipos de datos y acciones de Comercio electrónico mejorado
Puedes enviar varios tipos de datos de comercio electrónico:
Datos de impresión
Representan la información sobre el producto que se ha visto. Se hace referencia a estos datos mediante impressionFieldObject
y contienen los siguientes valores:
Clave | Tipo de valor | Obligatorio | Descripción |
---|---|---|---|
id |
text | * Sí |
ID de producto o SKU (por ejemplo, P67890).
* Es obligatorio dar un valor a |
name |
text | * Sí |
Nombre del producto (por ejemplo, Camiseta de Android).
* Es obligatorio dar un valor a |
list |
text | No | Lista o colección a la que pertenece el producto (por ejemplo, Resultados de búsqueda). |
list_name |
text | No | Lista o colección a la que pertenece el producto (por ejemplo, Resultados de búsqueda). |
brand |
text | No | Marca asociada al producto (por ejemplo, Google). |
category |
text | No |
Categoría a la que pertenece el producto (por ejemplo, Ropa). Usa / como delimitador para especificar hasta cinco niveles de jerarquía (por ejemplo, Ropa/Hombres/Camisetas).
|
variant |
text | No | Variante del producto (por ejemplo, Negro). |
position |
integer | No | Posición del producto en una lista o colección (por ejemplo, 2). |
list_position |
integer | No | Posición del producto en una lista o colección (por ejemplo, 2). |
price |
number | No | Precio de un producto (por ejemplo, 29,20). |
Datos de producto
Los datos de producto representan los productos específicos que se han visto, que se han añadido al carrito, etc. Se hace referencia a estos datos mediante productFieldObject
y contienen los siguientes valores:
Clave | Tipo de valor | Obligatorio | Descripción |
---|---|---|---|
id |
text | * Sí |
ID de producto o SKU (por ejemplo, P67890).
* Es obligatorio dar un valor al campo id o |
name |
text | * Sí |
Nombre del producto (por ejemplo, Camiseta de Android).
* Es obligatorio dar un valor al campo id o |
brand |
text | No | Marca asociada al producto (por ejemplo, Google). |
category |
text | No | Categoría a la que pertenece el producto (por ejemplo, Ropa). Usa / como delimitador para especificar hasta cinco niveles de jerarquía (por ejemplo, Ropa/Hombre/Camisetas). |
variant |
text | No | Variante del producto (por ejemplo, Negro). |
price |
number | No | Precio de un producto (por ejemplo, 29,20). |
quantity |
integer | No | Cantidad de un producto (por ejemplo, 2). |
coupon |
text | No | Código de cupón asociado a un producto (por ejemplo, COMPRA_VERANO13). |
position |
integer | No | Posición del producto en una lista o colección (por ejemplo, 2). |
list_position |
integer | 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 estos datos mediante el objeto promoFieldObject
y contienen los siguientes valores:
Clave | Tipo de valor | Obligatorio | Descripción |
---|---|---|---|
id |
text | * Sí |
ID de promoción (por ejemplo, PROMO_1234).
* Es obligatorio dar un valor a |
name |
text | * Sí |
Nombre de la promoción (por ejemplo, Rebajas de verano).
* Es obligatorio dar un valor a |
creative |
text | No | Creatividad asociada a la promoción (por ejemplo, banner_verano2). |
creative_name |
text | No | Nombre de la creatividad (por ejemplo, banner_verano2). |
position |
text | No | Posición de la creatividad (por ejemplo, banner_espacio_1). |
creative_slot |
text | No | Nombre del espacio de la creatividad (por ejemplo, banner_espacio_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 estos datos mediante actionFieldObject
y contienen los siguientes valores:
Clave | Tipo de valor | Obligatorio | Descripción |
---|---|---|---|
id |
text | * Sí |
ID de la transacción (por ejemplo, T1234).
* Es obligatorio si el tipo de acción es |
affiliation |
text | No | Tienda o afiliación donde se ha originado esta transacción (por ejemplo, Google Store). |
revenue |
number | No |
Especifica la suma total o los ingresos totales 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. |
value | number | No | Valor (es decir, ingresos) asociado al evento. |
tax |
number | No | Impuestos totales asociados a la transacción. |
shipping |
number | No | Gastos de envío asociados a la transacción. |
coupon |
text | No | Cupón canjeado con la transacción. |
list |
text | No | Lista a la que pertenecen los productos asociados. Este campo es opcional. |
items |
array | No | Matriz que contiene los productos asociados. |
step |
integer | No | Número que representa un paso del proceso de pago. Es opcional en acciones del tipo "checkout". |
checkout_step |
integer | No | Número que representa un paso del proceso de pago. |
option |
text | 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 de la compra, como el método de pago seleccionado.
|
checkout_option |
text | No | Opción de pago (es decir, método de pago seleccionado). |
Acciones de producto y de promoción
Las acciones especifican cómo interpretar los datos de producto y de promoción que envías a Google Analytics.
Acción | Evento | Descripción |
---|---|---|
click |
Clic en un producto o enlace de uno o varios productos. | |
detail |
Visualización de los detalles de un producto. | |
add |
Acción de añadir uno o varios productos al carrito de la compra | |
remove |
Acción de quitar uno o varios productos de un carrito de la compra. | |
checkout |
Inicio del proceso de pago de uno o varios productos. | |
checkout_option |
Envío del valor de la opción de un paso de pago determinado. | |
purchase |
Venta de uno o varios productos. | |
refund |
Devolución de uno o varios productos. | |
promo_click |
Clic en una promoción interna. | |
add_to_cart |
Un usuario añade uno o varios productos al carrito de la compra. | |
begin_checkout |
Un usuario inicia el proceso de pago de uno o varios productos. | |
checkout_progress |
Un usuario completa los pasos de tramitación de la compra después del primer paso de tramitación de la compra. | |
purchase |
Un usuario completa una compra. | |
refund |
Un usuario recibe el reembolso de uno o varios productos. | |
remove_from_cart |
Un usuario quita uno o varios productos del carrito de la compra. | |
select_content |
Un usuario hace clic en un producto o en un enlace de producto. | |
set_checkout_option |
El paso de tramitación de la compra que está completando un usuario. | |
view_item |
Un usuario ve los detalles de un producto. | |
view_item_list |
Un usuario ve una lista con uno o varios productos. | |
view_promotion |
Un usuario hace clic en una promoción interna. | |
view_refund |
Un usuario ve el reembolso de uno o varios productos. |
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.
Cargar el complemento de comercio electrónico
Para reducir el tamaño de la biblioteca analytics.js, el método Comercio electrónico mejorado no se incluye en la biblioteca predeterminada. Es 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 ejecutar después de crear el objeto de seguimiento y antes de usar la funcionalidad específica de Comercio electrónico mejorado.
Enviar datos de Comercio electrónico mejorado
Una vez que se carguen los datos, se añadirán comandos nuevos específicos de Comercio electrónico mejorado al objeto de seguimiento predeterminado y podrás empezar a enviar datos de comercio electrónico.
- Medir las actividades de comercio electrónico
- Medir las transacciones
- Medir los reembolsos
- Medir el proceso de pago
- Medir las promociones internas
Medir las 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 el enlace de un producto
- Visualización de los detalles de un producto
- Impresiones y clics en promociones internas
- Acción de añadir o quitar un producto del carrito de la compra
- Inicio del proceso de pago de un producto
- Compras y devoluciones
Medir las impresiones
Las impresiones de producto se miden usando el comando ec:addImpression
. Los detalles del producto se añaden en impressionFieldObject
.
Por ejemplo, el siguiente código mide la impresión de un producto en una lista con 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).
});
Los objetos impressionFieldObject
deben tener un valor name
o id
. Los demás valores son opcionales y no es necesario especificarlos.
Medir las acciones
Las acciones se miden usando el comando ec:addProduct
con productFieldObject
para añadir los detalles del producto y el comando ec:setAction
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 con 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).
});
Los objetos productFieldObject
deben tener un valor name
o id
. Los demás valores son opcionales y no es necesario especificarlos.
Combinar 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.
Medir las transacciones
Para medir una transacción, usa el comando ec:setAction
y asigna el valor purchase
al tipo de acción. 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 (number).
'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 (number).
'tax': '2.85', // Tax (number).
'shipping': '5.34', // Shipping (number).
'coupon': 'SUMMER2013' // Transaction coupon (string).
});
Los objetos actionFieldObject
deben tener un valor id
si el tipo de acción es purchase
o refund
. Los demás valores son opcionales y no es necesario especificarlos.
Medir los reembolsos
Para reembolsar una transacción al completo, elige una acción refund
y proporciona el ID de transacción:
// Refund an entire transaction.
ga('ec:setAction', 'refund', {
// Transaction ID is only required field for full refund.
'id': 'T12345'
});
Si no se encuentra la transacción correspondiente, no se procesará el hit de tipo refund
.
Para medir un reembolso parcial, elige una acción refund
y especifica el ID de transacción, los ID de producto y la cantidad de producto que se reembolsará:
// 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.
});
Usar eventos sin interacción con reembolsos
Si tienes que enviar datos de reembolso usando un evento y dicho evento no forma parte del comportamiento que se mide en el sitio web de forma habitual (no lo inicia el usuario), te recomendamos que envíes un evento sin interacción. Esto evita que el evento influya en métricas como el porcentaje de rebote o el 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 pago, haz lo siguiente:
- Añade código para medir cada paso del proceso de pago.
- Si es posible, añade código para medir las opciones de pago.
- También puedes asignar nombres descriptivos a cada paso para el informe de embudo de pago en el apartado Configuración del comercio electrónico de la sección Administrar de la interfaz web.
1. Medir los pasos de pago
Por cada paso del proceso de pago, tendrás que implementar el código correspondiente para enviar datos a Google Analytics.
Campo
step
Por cada paso del proceso de pago que midas, deberás incluir un valor
step
. Este valor se usa para asignar a tus acciones de pago las etiquetas que has configurado en cada paso en Configuración del comercio electrónico.Campo
option
Si tienes información adicional sobre un determinado paso del proceso de pago en el momento en que se mide, puedes asignar al campo
option
una accióncheckout
para capturar esta información. Se podría tratar del tipo de pago predeterminado del usuario (por ejemplo,Visa
).Medir un paso del proceso de pago
Para medir un paso determinado del proceso de pago, usa
ec:addProduct
en cada producto yec:setAction
para indicar el pago. Si es necesario,ec:setAction
puede usar un objetoactionFieldObject
para describir el paso constep
yoption
.En el ejemplo siguiente, se muestra cómo medir el primer paso de un proceso de pago con un solo producto y más información 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 (number). '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. Esto resulta útil en los casos en que ya has medido un paso del proceso de pago en la página vista inicial, pero hay más información disponible sobre el mismo paso después de que un usuario haya definido 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 el objeto checkout_option
e incluye el número del paso y la descripción de la opción.
Lo más probable es que quieras medir 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. Configurar el embudo de pago
A cada paso del proceso de pago se le puede asignar un nombre descriptivo, que se usará en los informes. Para configurar estos nombres, ve a la sección Administrar de la interfaz web de Google Analytics, selecciona la vista (perfil) y haz clic en Configuración del comercio electrónico. Sigue las instrucciones de configuración de comercio electrónico para etiquetar cada paso del proceso de pago que quieras medir.
Medir las promociones internas
El complemento de comercio electrónico mejorado es compatible con la medición de impresiones y clics en 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 en promociones
Los clics en promociones internas se pueden medir con 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 detalles de producto con una impresión y un clic en promoción, envía los datos de producto y de impresión con la página vista inicial y, a continuación, los datos de clic en promociones 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');
}
Los objetos promoFieldObject
deben tener un valor name
o id
. Los demás 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.
Medir una impresión de producto
En este ejemplo, el usuario ve el producto por primera vez en una lista con resultados de búsqueda. Para medir esa impresión del producto, usa el comando ec:addImpression
e incluye los 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.
Medir un clic en un producto
A continuación, un usuario muestra interés en ese producto concreto haciendo clic en la ficha de producto para ver más detalles.
Para medir ese 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 visualización 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 esa vista de detalles del producto, 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 la acción en la que se añade o se quita un producto del carrito de la compra
El usuario expresa la intención de comprar el artículo añadiéndolo al carrito.
Para medir la acción en la que un usuario añade o quita un producto determinado del carrito, usa ec:addProduct
y elige los tipos 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:
- Añadir detalles del pago (payment.html)
- Añadir detalles del envío (shipping.html)
Si fuera necesario, comprueba que has configurado un embudo de pago correctamente en el apartado Configuración del comercio electrónico de la sección Administrar de la interfaz web. Por ejemplo:
Paso 1: Pago
Para medir el primer paso del proceso de pago, usa ec:addProduct
con cada producto del carrito de la compra y ec:setAction
para indicar un objeto checkout
.
ec:setAction
usa actionFieldObject
para describir el paso del proceso de pago con un número. Además, se incluye información adicional sobre el tipo de pago predeterminado del usuario en 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 del proceso de pago, usa ec:addProduct
con cada producto del carrito de la compra y ec:setAction
para especificar un pago. En este caso, no disponemos de más información sobre la opción de envío seleccionada cuando se envía la página vista inicial, por lo que se gestionará por separado usando ec:setAction
para especificar 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 más productos, usa ec:addProduct
para añadir cada producto y, a continuación, ec:setAction
para especificar 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 en todos los artículos y transacciones. En los sitios web en los que se hacen transacciones en varias monedas, el complemento de comercio electrónico permite especificar la moneda local de la transacción.
La moneda local debe especificarse según el estándar ISO 4217
. Consulta la lista completa de las monedas de conversión admitidas en la referencia de los códigos de moneda.
La moneda local se especifica mediante la propiedad de objeto de seguimiento currencyCode
. Por ejemplo, este objeto de seguimiento envía los valores de moneda como euros:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('set', 'currencyCode', 'EUR'); // Set 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');