Medición de comercio electrónico

Esta guía describe cómo recopilar datos de comercio electrónico mediante analytics.js.

Descripción general

La medición de comercio electrónico le permite medir la cantidad de transacciones e ingresos que genera su sitio web. En un sitio de comercio electrónico típico, una vez que un usuario hace clic en el botón "comprar" en el navegador, la información de compra del usuario se envía al servidor web, que realiza la transacción. Si tiene éxito, el servidor redirige al usuario a una página de "Gracias" o recibo con los detalles de la transacción y un recibo de la compra. Puede usar la biblioteca analytics.js para enviar los datos de comercio electrónico desde la página "Gracias" a Google Analytics.

Hay dos tipos de datos de comercio electrónico que puede enviar mediante analytics.js: datos de transacciones y de artículos .

Datos de la transacción

Una transacción representa la transacción completa que ocurre en su sitio y contiene los siguientes valores:

Llave Tipo de valor Requerido Descripción
id texto El ID de la transacción. (por ejemplo, 1234)
affiliation texto No La tienda o afiliación desde la que se produjo esta transacción (p. ej., Acme Clothing).
revenue divisa No Especifica los ingresos totales o el total general asociado con la transacción (por ejemplo, 11,99). Este valor puede incluir gastos de envío, impuestos u otros ajustes a los ingresos totales que desee incluir como parte de sus cálculos de ingresos.
shipping divisa No Especifica el costo total de envío de la transacción. (por ejemplo, 5)
tax divisa No Especifica el impuesto total de la transacción. (por ejemplo, 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:

Llave Tipo de valor Requerido Descripción
id texto El ID de la transacción. Este ID es lo que vincula los elementos a las transacciones a las que pertenecen. (por ejemplo, 1234)
name texto El nombre del elemento. (por ejemplo, conejitos rosados ​​esponjosos)
sku texto No Especifica el SKU o el código del artículo. (por ejemplo, SKU47)
category texto No La categoría a la que pertenece el artículo (por ejemplo, Party Toys)
price divisa No El precio individual, unitario, de cada artículo. (por ejemplo, 11,99)
quantity entero No El número de unidades compradas en la transacción. Si se pasa un valor no entero a este campo (p. ej., 1,5), se redondeará al valor entero más cercano.

Implementación

Por lo general, implementa la medición de comercio electrónico una vez que el usuario ha completado el proceso de pago. Esto generalmente ocurre en la página "Gracias". Una vez que lo haya hecho y esté listo para enviar datos de comercio electrónico a Google Analytics, hay un par de pasos que debe seguir:

Cargue el complemento de comercio electrónico

Para reducir el tamaño de la biblioteca 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 debe cargarse antes de usarse.

Para cargar el complemento de comercio electrónico, use el siguiente comando:

ga('require', 'ecommerce');

Este comando debe ocurrir después de crear su objeto de seguimiento y antes de usar cualquier funcionalidad específica de comercio electrónico.

Una vez cargado, se agregarán un par de nuevos comandos específicos para la medición de comercio electrónico al rastreador predeterminado.

Agregar una transacción

Una vez que se ha cargado el complemento, crea un objeto de carrito de compras transparente. Puede agregar datos de transacciones y artículos al carrito de compras, y una vez que esté completamente configurado, envíe todos los datos a la vez.

Agrega datos de transacciones al carrito de compras usando 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.
});

Adición de 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

Finalmente, una vez que haya configurado todos sus datos de comercio electrónico en el carrito de compras, envíe los datos a Google Analytics usando 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 respectivos 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 nuevos datos de transacciones y artículos.

Borrado de datos

Si necesita borrar manualmente el carrito de compras de todas las transacciones y artículos, use el siguiente comando:

ga('ecommerce:clear');

Especificación de monedas locales

De forma predeterminada, puede 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. De forma predeterminada, la moneda global se utiliza para todos los artículos y transacciones. Para los sitios web que realizan transacciones en varias monedas, el complemento de comercio electrónico le permite especificar la moneda local de la transacción, así como los productos individuales.

La moneda local debe especificarse en la norma ISO 4217 . Lea 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 artículos, solo necesita especificar la moneda para la transacción:

ga('ecommerce:addTransaction', {
  'id': '1234',
  'affiliation': 'Acme Clothing',
  'revenue': '11.99',
  'shipping': '5',
  'tax': '1.29',
  'currency': 'EUR'  // local currency code.
});

Finalmente, también puede 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 rastreadores

También puede usar el complemento de comercio electrónico si ha implementado múltiples rastreadores (nombrados) en su página. El complemento funciona exactamente igual que el rastreador predeterminado, excepto que el formato es: trackerName.pluginName:method . Por ejemplo, si creó un rastreador llamado myTracker :

ga('create', 'UA-XXXXX-Y', 'auto', {'name': 'myTracker'});

Luego, cargaría el complemento de comercio electrónico para ese rastreador con nombre usando:

ga('myTracker.require', 'ecommerce');

Para enviar una transacción, puede crear un objeto de transacción y pasarlo al rastreador nombrado 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);

Usando esta sintaxis, el objeto de transacción se puede usar en múltiples rastreadores.

Finalmente, enviaría 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 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 presentan su página de "Gracias" utilizando un motor de plantillas del lado del servidor. En este caso, agregaría el código de medición de comercio electrónico a la plantilla del lado del servidor y usaría la lógica del servidor para escribir dinámicamente los valores de datos de comercio electrónico en la página final. Aquí hay un ejemplo de cómo se vería esto en PHP.

En PHP, normalmente tendría alguna representación de los datos de comercio electrónico. En este ejemplo, los datos se almacenan en una matriz asociativa:

<?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 algo de lógica para transformar los datos de comercio electrónico en la cadena 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> , agregaría la lógica PHP adicional para generar dinámicamente los datos de la transacción y el artículo:

<!-- 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 el script PHP termine de ejecutarse, la transacción y los datos del artículo requeridos por analytics.js se imprimirán en la página. Una vez que el JavaScript de la página se representa 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ía valores de moneda mediante analytics.js, el valor representa el valor total de una moneda.

Se puede utilizar un punto decimal como delimitador entre la parte entera y 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 el valor se envía a Google Analytics, se elimina todo el texto hasta el primer dígito, el carácter - o el . carácter (decimal). Entonces:

$-55.00

se convertirá:

-55.00