Implementar Google Analytics Enhanced Ecommerce9 min read

    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

    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

    Este es un Ejemplo del dataLayer (o Json) con el Listado de Productos, en términos de Ecommerce PLP «Product List Page» .

    Rápidamente podemos notar algunos de los datos que nos permitirán desarrollar informes de business intelligence, realmente muy interesantes con datos como:

    Marca, categoría o Posición. este último muy útil para comprender si vale la pena un paginado con cientos de productos, o sería más conveniente listas más cortas. Consideren que esto reduciría los tiempos de carga impactando tremendamente en la Experiencia del usuario, SEO y Ads.

    <script>
    // Impresión de productos ecommerce.impressions
    // Puede contener uno o más impressionFieldObjects.
    
    dataLayer.push({
      'event':'productImpression',
      '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>

    Por defecto este Json, debe estar antes del Hit Page View, de esta manera garantizamos que, sin necesidad de crear un tag adicional, con el default hit de page view, además se envían todos los datos relacionado con nuestros productos en el listado.

    el Hit Page View, deberia ser posterior al hit productImpression

    El caso sería diferente si, no tenemos disponible el dataLayer de ecommerce.impressions al momento del default hit de page view.

    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 estándar de GA para poder medir y comprender si los banners internos incrementan las ventas, en la versión de Enhanced Ecommerce, se contempla este caso.

    Incorporando una capa de datos con un Json o 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 tráfico 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>

    Algunas variables útiles, para poder capturar los valores del json, donde el valor «0» hacer referencia al índice, de la cantidad de «elementos». para el caso del ejemplo del dataLayer anterior hay 2 y por defecto el primero es «0».

    • ecommerce.promoView.promotions.0.id
    • ecommerce.promoView.promotions.0.name
    • ecommerce.promoView.promotions.0.creative
    • ecommerce.promoView.promotions.0.position

    Podemos crear una variable en GTM, de tipo Data Layer

    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

    https://www.martingaray.com.ar/blog/usar-google-analytics-para-aumentar-las-ventas/#Analisis_del_comportamiento_del_proceso_de_pago_checkout

    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: 'andabi',
             quantity: 2,
             dimension3: 'Ecommerce',
             metric5: 10,
             metric6: 20002
           },{
             id: 'another_product_id',
             name: 'Soporte de implementación',
             quantity: 1,
             brand: 'andabi'
           }]
         }
       }
     });

    paso del proceso de pago

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

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *