En esta guía, se describe cómo recopilar datos de comercio electrónico con analytics.js.
Descripción general
La medición de comercio electrónico te permite medir la cantidad de ingresos y transacciones que genera tu sitio web. En un sitio de comercio electrónico típico, una vez que un usuario hace clic en el botón "Comprar" del navegador, la información de compra del usuario se envía al servidor web, que realiza la transacción. Si la operación es exitosa, el servidor redirecciona al usuario a una página de agradecimiento o de recibo con los detalles de la transacción y un recibo de la compra. Puedes usar la biblioteca analytics.js para enviar los datos de comercio electrónico de la página de agradecimiento a Google Analytics.
Existen dos tipos de datos de comercio electrónico que puedes enviar con analytics.js: datos de transacciones y de artículos.
Datos de transacciones
Una transacción representa toda la transacción que se lleva a cabo en tu sitio y contiene los siguientes valores:
Clave | Value Type | Obligatorio | Descripción |
---|---|---|---|
id |
text | Sí | Indica el ID de la transacción, (p. ej., 1234). |
affiliation |
text | No | Indica la tienda o afiliación en la que se realizó la transacción (p.ej., Indumentaria Acme). |
revenue |
currency | No | Especifica la suma total o los ingresos totales asociados con la transacción, (p. ej., 11.99). Este valor puede incluir los costos de envío, los costos impositivos y otros ajustes a los ingresos totales que quieras incluir como parte de tus cálculos de ingresos. |
shipping |
currency | No | Especifica el costo total del envío de la transacción, (p. ej., 5). |
tax |
currency | No | Especifica el impuesto total de la transacción, (p. ej., 1.29). |
Datos del artículo
Un artículo representa los productos individuales que estaban en el carrito de compras y contiene los siguientes valores:
Clave | Value Type | Obligatorio | Descripción |
---|---|---|---|
id |
text | Sí | Indica el ID de la transacción, Este ID vincula los elementos con las transacciones a las que pertenecen. (p. ej., 1234). |
name |
text | Sí | Indica el nombre del artículo, (p. ej., Conejos de peluche color rosa). |
sku |
text | No | Especifica el SKU o código de artículo, (p. ej., SKU47). |
category |
text | No | Indica la categoría a la que pertenece el artículo, (p. ej., Juguetes para fiestas). |
price |
currency | No | Es el precio por unidad de cada artículo. (p. ej., 11.99). |
quantity |
integer | No | Indica la cantidad de unidades que se compraron en la transacción. Si se pasa un valor que no es un número entero a este campo (p.ej., 1.5), se redondeará al valor de número entero más cercano. |
Implementación
Por lo general, la medición de comercio electrónico se implementa una vez que el usuario completa el proceso de confirmación de la compra. Por lo general, esto ocurre en la página de agradecimiento. Una vez que tengas los datos de comercio electrónico en Google Analytics y estés listo para hacerlo, sigue estos dos pasos:
- Carga el complemento de comercio electrónico
- Agrega una transacción
- Cómo agregar elementos
- Cómo enviar datos
- Borrado de datos
Carga el complemento de comercio electrónico
Para reducir el tamaño de la biblioteca de analytics.js, la medición de comercio electrónico no se proporciona en la biblioteca predeterminada. En cambio, se proporciona como un módulo de complemento que se debe cargar antes de usarse.
Para cargar el complemento de ecommerce, utiliza el siguiente comando:
ga('require', 'ecommerce');
Este comando debe ocurrir después de crear el objeto de seguimiento y antes de usar cualquiera de las funcionalidades específicas de comercio electrónico.
Una vez cargado, se agregarán algunos comandos nuevos específicos para la medición de comercio electrónico al rastreador predeterminado.
Agrega una transacción
Una vez que se carga el complemento, crea un objeto transparente del carrito de compras. Puedes agregar datos de transacciones y artículos al carrito de compras y, cuando esté completamente configurado, puedes enviar todos los datos a la vez.
Agrega los datos de la transacción al carrito de compras con el comando ecommerce:addTransaction
:
ga('ecommerce:addTransaction', { 'id': '1234', // Transaction ID. Required. 'affiliation': 'Acme Clothing', // Affiliation or store name. 'revenue': '11.99', // Grand Total. 'shipping': '5', // Shipping. 'tax': '1.29' // Tax. });
Cómo agregar elementos
Luego, para agregar artículos al carrito de compras, usa el comando ecommerce:addItem
:
ga('ecommerce:addItem', { 'id': '1234', // Transaction ID. Required. 'name': 'Fluffy Pink Bunnies', // Product name. Required. 'sku': 'DD23444', // SKU/code. 'category': 'Party Toys', // Category or variation. 'price': '11.99', // Unit price. 'quantity': '1' // Quantity. });
Enviando datos
Por último, una vez que hayas configurado todos tus datos de comercio electrónico en el carrito de compras, debes enviarlos a Google Analytics con el comando ecommerce:send
:
ga('ecommerce:send');
Este comando revisará cada transacción y artículo en el carrito de compras y enviará los datos correspondientes a Google Analytics. Una vez completado, el carrito de compras se borra y está listo para enviar datos para una nueva transacción. Si se emitió un comando ecommerce:send
anterior, solo se enviarán los datos de transacciones y elementos nuevos.
Borrado de datos
Si necesitas liquidar manualmente todas las transacciones y los artículos del carrito de compras, usa el siguiente comando:
ga('ecommerce:clear');
Especificación de monedas locales
De forma predeterminada, puedes configurar una moneda común y global para todas las transacciones y los elementos a través de la interfaz web de administración de Google Analytics. Según la configuración predeterminada, se usa la moneda global para todos los artículos y transacciones. En el caso de los sitios web que realizan transacciones en varias monedas, el complemento de comercio electrónico te permite especificar la moneda local de la transacción, así como productos individuales.
La moneda local debe especificarse en el estándar ISO 4217
. Consulta el documento de referencia de códigos de moneda para obtener una lista completa de las monedas de conversión admitidas.
Para configurar la moneda local de una transacción en particular y todos sus elementos, solo tienes que especificar la moneda de la transacción:
ga('ecommerce:addTransaction', { 'id': '1234', 'affiliation': 'Acme Clothing', 'revenue': '11.99', 'shipping': '5', 'tax': '1.29', 'currency': 'EUR' // local currency code. });
Por último, también puedes especificar la moneda por artículo:
ga('ecommerce:addItem', { 'id': '1234', 'name': 'Fluffy Pink Bunnies', 'sku': 'DD23444', 'category': 'Party Toys', 'price': '11.99', 'quantity': '1', 'currency': 'GBP' // local currency code. });
Compatibilidad con varios monitores
También puedes usar el complemento de comercio electrónico si implementaste varias herramientas de seguimiento (con nombre) en tu página. El complemento funciona exactamente igual que el rastreador predeterminado, con la excepción de que el formato es trackerName.pluginName:method
.
Por ejemplo, si creaste un rastreador llamado myTracker
, usa lo siguiente:
ga('create', 'UA-XXXXX-Y', 'auto', {'name': 'myTracker'});
Luego, carga el complemento de comercio electrónico de ese rastreador con nombre usando lo siguiente:
ga('myTracker.require', 'ecommerce');
Para enviar una transacción, puedes crear un objeto de transacción y pasarlo a la herramienta de seguimiento con nombre de la siguiente manera:
var transaction = { 'id': '1234', // Transaction ID. 'affiliation': 'Acme Clothing', // Affiliation or store name. 'revenue': '11.99', // Grand Total. 'shipping': '5' , // Shipping. 'tax': '1.29' // Tax. }; ga('myTracker.ecommerce:addTransaction', transaction);
Con esta sintaxis, el objeto de transacción se puede usar en varios rastreadores.
Por último, deberías enviar los datos de la transacción de la siguiente manera:
ga('myTracker.ecommerce:send');
Ejemplo
La mayoría de los sitios de comercio electrónico realizan transacciones en el servidor, mientras que la biblioteca de analytics.js envía datos a Google Analytics desde el navegador. Por lo tanto, se requiere un poco de coordinación entre el servidor y el cliente para enviar correctamente los datos de comercio electrónico a Google Analytics.
La mayoría de los sitios de comercio electrónico procesan su página de agradecimiento usando un motor de plantillas del servidor. En este caso, puedes agregar el código de medición de comercio electrónico a la plantilla del servidor y usar la lógica del servidor para escribir de forma dinámica los valores de datos de comercio electrónico en la página final. Aquí tienes un ejemplo de cómo se vería en PHP.
Por lo general, en PHP, tendrás alguna representación de los datos de comercio electrónico. En este ejemplo, los datos se almacenan en un arreglo asociativo:
<?php // Transaction Data $trans = array('id'=>'1234', 'affiliation'=>'Acme Clothing', 'revenue'=>'11.99', 'shipping'=>'5', 'tax'=>'1.29'); // List of Items Purchased. $items = array( array('sku'=>'SDFSDF', 'name'=>'Shoes', 'category'=>'Footwear', 'price'=>'100', 'quantity'=>'1'), array('sku'=>'123DSW', 'name'=>'Sandals', 'category'=>'Footwear', 'price'=>'87', 'quantity'=>'1'), array('sku'=>'UHDF93', 'name'=>'Socks', 'category'=>'Footwear', 'price'=>'5.99', 'quantity'=>'2') ); ?>
El primer paso es escribir lógica para transformar los datos de comercio electrónico en la cadena de JavaScript requerida por analytics.js:
<?php // Function to return the JavaScript representation of a TransactionData object. function getTransactionJs(&$trans) { return <<<HTML ga('ecommerce:addTransaction', { 'id': '{$trans['id']}', 'affiliation': '{$trans['affiliation']}', 'revenue': '{$trans['revenue']}', 'shipping': '{$trans['shipping']}', 'tax': '{$trans['tax']}' }); HTML; } // Function to return the JavaScript representation of an ItemData object. function getItemJs(&$transId, &$item) { return <<<HTML ga('ecommerce:addItem', { 'id': '$transId', 'name': '{$item['name']}', 'sku': '{$item['sku']}', 'category': '{$item['category']}', 'price': '{$item['price']}', 'quantity': '{$item['quantity']}' }); HTML; } ?>
Luego, en la etiqueta <script>
, deberías agregar la lógica adicional de PHP para generar los datos de la transacción y del artículo de forma dinámica:
<!-- Begin HTML --> <script> ga('require', 'ecommerce'); <?php echo getTransactionJs($trans); foreach ($items as &$item) { echo getItemJs($trans['id'], $item); } ?> ga('ecommerce:send'); </script>
Una vez que la secuencia de comandos PHP termine de ejecutarse, los datos de transacciones y elementos requeridos por analytics.js se imprimirán en la página. Una vez que se renderice el código JavaScript de la página en el navegador, todos los datos de comercio electrónico se enviarán a Google Analytics.
Tipos de moneda
El tipo de moneda predeterminado se puede configurar a través de la interfaz de administración. Cuando envías valores de moneda con analytics.js, el valor representa el valor total de una moneda.
Se puede usar un punto decimal como delimitador entre la parte completa y la fraccionaria de la moneda. La precisión es de hasta 6 decimales. Lo siguiente es válido para un campo de moneda:
1000.000001
Una vez que se envía el valor a Google Analytics, se quita todo el texto hasta el primer dígito, el carácter -
o el carácter .
(decimal). Entonces:
$-55.00
se convertirá en:
-55.00