En este documento, se proporciona una descripción general de cómo medir las impresiones y las acciones relacionadas con el comercio electrónico en la aplicación con la versión 4 del SDK de Google Analytics para Android.
Descripción general
El comercio electrónico mejorado permite medir las interacciones de los usuarios con los productos a lo largo de su experiencia de compra, lo que incluye las impresiones y los clics en los productos, la visualización de sus detalles, la adición de un producto a un carrito de compras, el inicio del proceso de confirmación de la compra, las transacciones y los reembolsos.
Implementación
La medición de comercio electrónico mejorado requiere que uses la clase HitBuilder
y su conjunto de métodos para enviar datos de comercio electrónico de productos, impresiones y promociones. También se proporciona un conjunto de clases de comercio electrónico de Google Analytics para crear información relacionada con el comercio electrónico.
Con el comercio electrónico mejorado, puedes hacer lo siguiente:
- Cómo medir las actividades del comercio electrónico
- Mide las transacciones
- Medir reembolsos
- Medir el proceso de confirmación de la compra
- Mide las promociones internas
Mide las actividades del comercio electrónico
Una implementación típica de Comercio electrónico mejorado medirá las impresiones de productos y cualquiera de las siguientes acciones:
- Seleccionar un producto.
- Ver detalles de productos
- Impresiones y selección de promociones internas.
- Agregar o quitar un producto del carrito de compras
- Iniciar el proceso de confirmación de la compra de un producto.
- Compras y reembolsos
Medición de impresiones
Para medir una impresión de producto, crea un objeto Product
y envíalo con un hit con el método addImpression
. Una Product
debe tener un valor de nombre o ID. Todos los demás valores son opcionales y no es necesario establecerlos.
Product product = new Product() .setId("P12345") .setName("Android Warhol T-Shirt") .setCategory("Apparel/T-Shirts") .setBrand("Google") .setVariant("Black") .setPosition(1) .setCustomDimension(1, "Member"); HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .addImpression(product, "Search Results"); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("searchResults"); t.send(builder.build());
Consulta
Configuración avanzada para obtener detalles sobre el método getTracker
.
Medición de acciones
Las acciones se miden mediante el método addProduct
con un objeto Product
para agregar detalles del producto y el método setProductAction
con un objeto ProductAction
para especificar la acción que se está realizando.
Por ejemplo, el siguiente código mide la selección de un producto que se muestra en una lista de resultados de la búsqueda:
Product product = new Product() .setId("P12345") .setName("Android Warhol T-Shirt") .setCategory("Apparel/T-Shirts") .setBrand("Google") .setVariant("Black") .setPosition(1) .setCustomDimension(1, "Member"); ProductAction productAction = new ProductAction(ProductAction.ACTION_CLICK) .setProductActionList("Search Results"); HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .addProduct(product) .setProductAction(productAction); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("searchResults"); t.send(builder.build());
Combinación de impresiones y acciones
En los casos en los que tengas impresiones de productos y una acción, es posible combinar y medir esto en un solo hit.
En el siguiente ejemplo, se muestra cómo medir una vista de detalles de un producto con una sección de productos relacionada:
// The product from a related products section. Product relatedProduct = new Product() .setId("P12346") .setName("Android Warhol T-Shirt") .setCategory("Apparel/T-Shirts") .setBrand("Google") .setVariant("White") .setPosition(1); // The product being viewed. Product viewedProduct = new Product() .setId("P12345") .setName("Android Warhol T-Shirt") .setCategory("Apparel/T-Shirts") .setBrand("Google") .setVariant("Black") .setPosition(1); ProductAction productAction = new ProductAction(ProductAction.ACTION_DETAIL); HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .addImpression(relatedProduct, "Related Products") .addProduct(viewedProduct) .setProductAction(productAction); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("product"); t.send(builder.build());
Mide las transacciones
Mide una transacción mediante el método addProduct
con un objeto Product
para agregar detalles del producto y el método setProductAction
con un objeto ProductAction
para especificar una acción de compra. Los detalles a nivel de la transacción, como los ingresos totales, los impuestos y el envío, se proporcionan en el objeto ProductAction
.
Product product = new Product() .setId("P12345") .setName("Android Warhol T-Shirt") .setCategory("Apparel/T-Shirts") .setBrand("Google") .setVariant("black") .setPrice(29.20) .setCouponCode("APPARELSALE") .setQuantity(1); ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE) .setTransactionId("T12345") .setTransactionAffiliation("Google Store - Online") .setTransactionRevenue(37.39) .setTransactionTax(2.85) .setTransactionShipping(5.34) .setTransactionCouponCode("SUMMER2013"); HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .addProduct(product) .setProductAction(productAction); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("transaction"); t.send(builder.build());
Cómo especificar la moneda
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.
La moneda local debe especificarse en el estándar ISO 4217
.
Lee el documento de referencia de códigos de moneda para obtener una lista completa de las monedas de conversión admitidas.
Las monedas locales se especifican con la propiedad de seguimiento currencyCode. Por ejemplo, esta herramienta de seguimiento enviará valores de moneda en euros:
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("transaction"); t.set("&cu", "EUR"); // Set tracker currency to Euros. t.send(builder.build());
Medición de reembolsos
Para reembolsar una transacción completa, usa el método setProductAction
con un objeto ProductAction
a fin de especificar el ID de transacción y un
tipo de acción de reembolso:
// Refund an entire transaction. ProductAction productAction = new ProductAction(ProductAction.ACTION_REFUND) .setTransactionId("T12345"); // Transaction ID is only required field for a full refund. HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .setProductAction(productAction); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("refund"); t.send(builder.build());
Si no se encuentra una transacción coincidente, no se procesará el reembolso.
Para medir un reembolso parcial, usa el método setProductAction
con un objeto ProductAction
para especificar el ID de transacción, los ID del producto y las cantidades de productos que se reembolsarán:
// Refund a single product. Product product = new Product() .setId("P12345") // Product ID is required for partial refund. .setQuantity(1); // Quanity is required for partial refund. ProductAction productAction = new ProductAction(ProductAction.ACTION_REFUND) .setTransactionId("T12345"); // Transaction ID is required for partial refund. HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .addProduct(product) .setProductAction(productAction); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("refundProduct"); t.send(builder.build());
Uso de eventos sin interacción para reembolsos
Si necesitas enviar datos de reembolso mediante un evento y este no forma parte del comportamiento normal del usuario (es decir, no iniciado por el usuario), te recomendamos que envíes un evento sin interacción. Esto evitará que el evento afecte algunas métricas. Por ejemplo:
// Refund an entire transaction. ProductAction productAction = new ProductAction(ProductAction.ACTION_REFUND) .setTransactionId("T12345"); HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() .setProductAction(productAction) .setNonInteraction(true) .setCategory("Ecommerce") .setAction("Refund"); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.send(builder.build());
Medición del proceso de pago
Para medir cada paso en un proceso de confirmación de la compra:
- Agrega un código de seguimiento para medir cada paso del proceso de confirmación de la compra.
- Si corresponde, agrega el código de seguimiento para medir las opciones de confirmación de la compra.
- De manera opcional, establece nombres de pasos fáciles de usar para el informe de embudo de confirmación de la compra mediante la Configuración de comercio electrónico en la sección de administrador de la interfaz web.
1. Mide los pasos de confirmación de la compra
En cada paso del proceso de confirmación de la compra, deberás implementar el código de seguimiento correspondiente para enviar los datos a Google Analytics.
Campo Step
Para cada paso de confirmación de la compra que midas, debes incluir un valor de step
. Este valor se usa para asignar tus acciones de confirmación de la compra a las etiquetas que configuraste en cada paso en la Configuración de comercio electrónico.
Campo Option
Si tienes información adicional sobre el paso de confirmación de la compra determinado en el momento en que se mide, puedes configurar el campo option
con una acción checkout
para capturar esta información. Por ejemplo, el tipo de pago predeterminado para el usuario (p.ej., "Visa").
Medición de un paso de confirmación de la compra
Para medir un paso de confirmación de la compra, usa el método addProduct
con un objeto Product
para agregar detalles del producto y el método setProductAction
con un objeto ProductAction
para indicar una acción de confirmación de la compra. Si corresponde, también puedes establecer un step
y un option
con la confirmación de la compra.
En el siguiente ejemplo, se muestra cómo medir el primer paso de un proceso de confirmación de la compra con un solo producto, además de información adicional sobre el tipo de pago:
Product product = new Product() .setId("P12345") .setName("Android Warhol T-Shirt") .setCategory("Apparel/T-Shirts") .setBrand("Google") .setVariant("black") .setPrice(29.20) .setQuantity(1); // Add the step number and additional info about the checkout to the action. ProductAction productAction = new ProductAction(ProductAction.ACTION_CHECKOUT) .setCheckoutStep(1) .setCheckoutOptions("Visa"); HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .addProduct(product) .setProductAction(productAction); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("checkoutStep1"); t.send(builder.build());
2. Medir las opciones de confirmación de la compra
Las opciones de confirmación de la compra te permiten medir información adicional sobre el estado de la confirmación de la compra. Esto es útil en los casos en los que se mide un paso de confirmación de la compra, pero hay información adicional sobre este mismo paso disponible después de que se establece una opción del usuario seleccionada. Por ejemplo, el usuario selecciona un método de envío.
Si quieres medir una opción de confirmación de la compra, usa setAction
para indicarla y, luego, incluye el número de paso y la descripción de la opción.
Es probable que quieras medir esta acción una vez que el usuario realice alguna acción para continuar con el siguiente paso del proceso de confirmación de la compra. Por ejemplo:
// (On "Next" button click.) ProductAction productAction = new ProductAction(ProductAction.ACTION_CHECKOUT_OPTIONS) .setCheckoutStep(1) .setCheckoutOptions("FedEx"); HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() .setProductAction(productAction) .setCategory("Checkout") .setAction("Option"); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.send(builder.build()); // Advance to next page.
3. Configuración del embudo de confirmación de la compra
A cada paso del proceso de confirmación de la compra se le puede asignar un nombre descriptivo que se usará en los informes. Para configurar estos nombres, visita la sección Administrador de la interfaz web de Google Analytics, selecciona la vista (perfil) y haz clic en Configuración de comercio electrónico. Sigue las instrucciones de configuración de comercio electrónico para etiquetar cada paso de la confirmación de la compra del que quieras hacer un seguimiento.
Mide las promociones internas
El comercio electrónico mejorado incluye compatibilidad para medir las impresiones y los clics de las promociones internas, como los banners que se muestran para promocionar una oferta.
Impresiones de promoción
Por lo general, las impresiones de promoción interna se miden con la vista de pantalla inicial mediante el método addPromotion
con un objeto Promotion
para especificar los detalles de la promoción. Por ejemplo:
Promotion promotion = new Promotion() .setId("PROMO_1234") .setName("Summer Sale") .setCreative("summer_banner2") .setPosition("banner_slot1"); HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .addPromotion(promotion); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName("promotions"); t.send(builder.build());
Clics de promoción
Los clics en promociones internas se pueden medir mediante el método addPromotion
con un objeto Promotion
y el método setPromotionAction
configurado en Promotion.ACTION_CLICK
o Promotion.ACTION_VIEW
para indicar un clic o una vista de promoción, respectivamente. Por ejemplo:
Promotion promotion = new Promotion() .setId("PROMO_1234") .setName("Summer Sale") .setCreative("summer_banner2") .setPosition("banner_slot1"); HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() .addPromotion(promotion) .setPromotionAction(Promotion.ACTION_CLICK) .setCategory("Internal Promotions") .setAction("click") .setLabel("Summer Sale"); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.send(builder.build());