cookingmetrics » Implementar Google Analytics Enhanced Ecommerce

Implementar Google Analytics Enhanced Ecommerce

Google Tag Manager
7 min read
image_pdfimage_print

El proceso de compra online es muy complejo y como ya saben existen diferentes etapas en las que el usuario, dentro de nuestro ecommerce está tomando decisiones en cada clik, para ello existen diversos códigos de seguimiento diseñados específicamente para cada paso del proceso de compra.

Vamos a referirnos a la ultima versión de código de GA,  Universal Analytics (a la fecha) por lo que posiblemente tenga que trabajar en la actualización de su implementación de GA antes de avanzar. Ahora vamos a desarrollar el seguimiento de comercio electrónico de Google Analytics utilizando Google Tag Manager, de manera Avanzada.

Google Analytics Enhanced Ecommerce

  1. Embudo o Funnel Checkout, Medir el paso a paso de los formularios de pago
  2. Confirmación de compra o purchase
  3. Rendimiento de productos
  4. Rendimiento promociones internas
  5. Agregar y Quitar productos al carrito de compra
  6. Seguimiento de Cupones de descuento
  7. Análisis de múltiples Tiendas OnLine
  8. Uso de múltiples Monedas

más info en https://developers.google.com/tag-manager/enhanced-ecommerce

La visualización de productos ecommerce.impressions

Se recomienda para una página de listado de productos, ya sea una pagina tipo catalogo Categoría/subCategoría, como resultados de búsqueda o LandingPages hac doc.

Para el caso de una LandingPages promocional, en lo personal implemento seguimiento de promociones internas ecommerce.promoView

Rendimiento de la lista de productos

ecommerce.impressions

El informe Rendimiento de la lista de productos permite ver el rendimiento de las listas de productos en el catálogo, según las siguientes métricas:

  • Vistas de listas de productos
  • Clics de lista de productos (número de veces que los usuarios han hecho clic en los productos cuando se han mostrado en la lista)
  • CTR de la lista de productos (tasa de clics de los usuarios en la lista de productos para ver los productos [número de clics/número de veces que ha aparecido la lista])
  • Las dimensiones principales disponibles son: Número de la lista de productos, Posición de la lista de productos, Producto y Código SKU de producto.

Debemos incorporando una capa de datos (Datalayer) dentro del código del sitio de ecommerce con el detalle del los productos que se visualizan.

El objetivo es diferenciar URL de Productos. De manera de tener mayor presionen y poder evaluar una tasa de impresiones / clicks y transacciones que incluyen el producto (donde una transacción puede incluir uno o múltiples productos)

El comportamiento de URL nos da una visión muy sesgada del comportamiento de los productos.

Rendimiento De Impresiones de Productos

<script>
// Impresión de productos.
// Puede contener uno o más impressionFieldObjects.

dataLayer.push({
  'ecommerce': {
    'currencyCode': 'ARS',  // Moneda local es opcional.
    'impressions': [
     {
       'name': 'Triblend Android T-Shirt',
       'id': '12345',
       'price': '15.25',
       'brand': 'Google',
       'category': 'Apparel',
       'variant': 'Gray',
       'list': 'Search Results',
       'position': 1
     },
     {
       'name': 'Donut Friday Scented T-Shirt',
       'id': '67890',
       'price': '33.75',
       'brand': 'Google',
       'category': 'Apparel',
       'variant': 'Black',
       'list': 'Search Results',
       'position': 2
     }]
  }
});
</script>

Rendimiento De click en Productos

productClick

Este es un ejemplo de la capa de datos de Ecommerce para poder realizar el seguimiento de los productos q los cuales los usuarios les realizaron click.

<script>
/**
 * Debemos llamar a esta función cuando los usuarios realizan un click al vinculo de un producto, para ver sus detalles. El método de medición sera un evento.

 * @param {Object} productObj An object representing a product.
 */
function(productObj) {
  dataLayer.push({
    'event': 'productClick',
    'ecommerce': {
      'click': {
        'actionField': {'list': 'Search Results'},
        'products': [{
          'name': productObj.name,
          'id': productObj.id,
          'price': productObj.price,
          'brand': productObj.brand,
          'category': productObj.cat,
          'variant': productObj.variant
         }]
       }
     },
     'eventCallback': function() {
       document.location = productObj.url
     }
  });
}
</script>

Impresiones de Banners internos (CTR)

ecommerce.promoView

Existen diversos (métodos alternativos fuera de los estandartes de GA para poder medir y comprender si los banners internos incrementan las ventas, en la nueva versión de Ecommerce de GA, se contempla este caso.

Incorporando una capa de datos (Datalayer) dentro del código del Ecommerce con la cual podemos realizar el correcto seguimiento de las campañas internas, sin alterar las métricas de fuentes de trafico o campañas.

<script>
// Este es un ejemplo para poder medir una promoción interna.
// Este es el detalle de la promoción desplegada en la pagina o URL cargada.

// Para el caso que la promoción se muestra en un carrousel, la capa de 
// datos debería tener una lógica alineada con el script del carrousel.  

dataLayer.push({
  'ecommerce': {
    'promoView': {
      'promotions': [
       {
         'id': 'JUNE_PROMO13',
         'name': 'June Sale',
         'creative': 'banner1',
         'position': 'slot1'
       },
       {
         'id': 'FREE_SHIP13',
         'name': 'Free Shipping Promo',
         'creative': 'skyscraper1',
         'position': 'slot2'
       }]
    }
  }
});
</script>

Click en Banners Internos (CTR)

ecommerce.promoClick

<script>
/**
Deberías llamar a esta funciona cuando el usuario realiza clicks en el banner de la promoción. Esta promoción llama a eventCallBack.
GTM, captura las  variables del datalayer y luego las envía a Google Analytics.
 *
 * @param {Object} promoObj An object representing an internal site promotion.
 */
function onPromoClick(promoObj) {
  dataLayer.push({
    'event': 'promotionClick',
    'ecommerce': {
      'promoClick': {
        'promotions': [{
           'id': promoObj.id,
           'name': promoObj.name,
           'creative': promoObj.creative,
           'position': promoObj.pos
         }]
      }
    },
    'eventCallback': function() {
      document.location = promoObj.destinationUrl;
    }
  });
}
</script>

Vista de detalle de un producto (PDP)

ecommerce.detail (PDP)

<script>
// Seguimiento de las impresiones de la vista detalle de un producto
// El objetivo es enviar los detallas del producto, asumiendo que el usuario esta en la URL en cuestión y la PageView se esta enviar por otro método

// Para completar el ejemplo de la imagen a continuación, faltaría definir la capa de datos de la promoción, y de los cuatro productos relacionados.  

dataLayer.push({
  'ecommerce': {
    'detail': {
      'actionField': {'list': 'Apparel Gallery'},
      'products': [{
        'name': 'Triblend Android T-Shirt',
        'id': '12345',
        'price': '15.25',
        'brand': 'Google',
        'category': 'Apparel',
        'variant': 'Gray'
       }]
     }
   }
});
</script>
google-analytics-seguimiento-de-ecommerce-detail

Agregar productos al carrito de compra

addToCart

// Medición de la acción de "agregar productos" al carrito de compras. actionFieldObject

dataLayer.push({
  'event': 'addToCart',
  'ecommerce': {
    'currencyCode': 'ARS',
    'add': {   
      'products': [{
        'name': 'Triblend Android T-Shirt',
        'id': '12345',
        'price': '15.25',
        'brand': 'Google',
        'category': 'Apparel',
        'variant': 'Gray',
        'quantity': 1
       }]
    }
  }
});
google-analytics-seguimiento-de-ecommerce-addToCart

Quitar productos del carrito de compra

removeFromCart

// Medición de la acción de quitar productos del carrito.

dataLayer.push({
  'event': 'removeFromCart',
  'ecommerce': {
    'remove': {
      'products': [{
          'name': 'Triblend Android T-Shirt',
          'id': '12345',
          'price': '15.25',
          'brand': 'Google',
          'category': 'Apparel',
          'variant': 'Gray',
          'quantity': 1
      }]
    }
  }
});
google-analytics-seguimiento-de-ecommerce-RemoveToCart

etapas del proceso de Pago

En cada paso del proceso de pago a medida que el usuario completa cada formulario. Cuando el usuario ingresa al embudo de pago. y Por cada paso en el embudo, es necesario enviar un Hit a GA. Los pasos suelen ser páginas (en un pago de varias páginas) o secciones de formularios o (en un pago de una sola página).

Es necesario identificar ¿en qué paso se encuentra? el usuario para enviar el paso correcto, en cuanto mejor podamos medirlo mas información tendremos.

La matriz de product solo debe enviarse con el primer paso . Enviarlo en otros paso no hará nada…

También puede agregar una clave optional hit de pago, en caso de que desee enviar detalles adicionales sobre el paso de pago en sí (como el método de pago seleccionado o el método de envío). Alternativamente, puede usar la acción Opción de pago para enviar la información de la opción después de que se haya enviado el paso por primera vez.

Primer paso del Proceso de pago

window.dataLayer = window.dataLayer || [];
 window.dataLayer.push({
   event: 'checkout',
   ecommerce: {
     checkout: {
       actionField: {
         step: 1
       },
       products: [{
         id: 'product_id',
         name: 'MY PRODUCT',
         category: 'Guia de Analytics Enhanced Ecommerce',
         variant: 'Text',
         brand: 'cookingmetrics',
         quantity: 2,
         dimension3: 'Ecommerce',
         metric5: 10,
         metric6: 20002
       },{
         id: 'another_product_id',
         name: 'Soporte de implementación',
         quantity: 1,
         brand: 'cookingmetrics'
       }]
     }
   }
 });

paso del proceso de pago

window.dataLayer = window.dataLayer || [];
 window.dataLayer.push({
   event: 'checkout',
   ecommerce: {
     checkout: {
       actionField: {
         step: 2,
         option: 'MercadoLibre'
       }
     }
   }
 });

foto Head https://pxhere.com/id/photographer/223376