Seguimiento de comercio electrónico mejorado: SDK de iOS

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 app con la versión 3 del SDK de Google Analytics para iOS.

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, incluidos los clics en los productos, las impresiones de 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

Antes de implementar el seguimiento de comercio electrónico mejorado en tu app, debes agregar la biblioteca de comercio electrónico mejorado.

Después de configurar tu aplicación para usar el comercio electrónico mejorado, puedes hacer lo siguiente:

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, configura los valores del producto y de la impresión, y envíalo con un hit:

id tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setCustomDimension:1 value:@"Member"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];

// Sets the product impression for the next available slot, starting with 1.
[builder addProductImpression:product
               impressionList:@"Search Results"
             impressionSource:@"From Search"];
[tracker set:kGAIScreenName value:@"My Impression Screen"];
[tracker send:[builder build]];

Un producto debe tener un valor de nombre o ID. Todos los demás valores son opcionales y no es necesario establecerlos.

Medición de acciones

Para medir las acciones, se establecen valores de productos y, luego, valores de acciones del producto que especifican 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:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setCustomDimension:1 value:@"Member"];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPAClick];
[action setProductActionList:@"Search Results"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];
[builder setProductAction:action];

// Sets the product for the next available slot, starting with 1
[builder addProduct:product];
[tracker set:kGAIScreenName value:@"My Impression Screen"];
[tracker send:[builder build]];

Un producto debe tener un valor de nombre o ID. Todos los demás valores son opcionales y no es necesario establecerlos.

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 the related products section.
id tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12346"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"White"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];

// Sets the product impression for the next available slot, starting with 1.
[builder addProductImpression:product
               impressionList:@"Related Products"
             impressionSource:@"From Related"];

// The product being viewed.
product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPADetail];
[builder setProductAction:action];
// Sets the product for the next available slot, starting with 1.
[builder addProduct:product];
[tracker set:kGAIScreenName value:@"Related Products Screen"];
[tracker send:[builder build]];

Mide las transacciones

Para medir una transacción, establece valores del producto y, luego, establece valores de acción del producto 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 establecen con los valores de las acciones del producto.

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setPrice:@29.20];
[product setCouponCode:@"APPARELSALE"];
[product setQuantity:@1];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Purchase"
                                                                        label:nil
                                                                        value:nil];
GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPAPurchase];
[action setTransactionId:@"T12345"];
[action setAffiliation:@"Google Store - Online"];
[action setRevenue:@37.39];
[action setTax:@2.85];
[action setShipping:@5.34];
[action setCouponCode:@"SUMMER2013"];
[builder setProductAction:action];

// Sets the product for the next available slot, starting with 1
[builder addProduct:product];
[tracker 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.

Para especificar las monedas locales, configura el valor del código de moneda en el seguimiento. Por ejemplo, esta herramienta de seguimiento enviará valores de moneda en euros:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTracker"];
[tracker set:kGAIScreenName value:@"transaction"];
[tracker set:kGAICurrencyCode value:@"EUR"]; // Set tracker currency to Euros.
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];
[tracker send:[builder build]];

Medición de reembolsos

Para reembolsar una transacción completa, configura los valores de acción del producto para especificar el ID de transacción y un tipo de acción de reembolso:

// Refund an entire transaction.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Refund"
                                                                        label:nil
                                                                        value:nil];
GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPARefund];
[action setTransactionId:@"T12345"];
[builder setProductAction:action];
[tracker send:[builder build]];

Si no se encuentra una transacción coincidente, no se procesará el reembolso.

Para medir un reembolso parcial, establece valores de acción del producto para especificar el ID de transacción, los IDs de producto y las cantidades de productos que se reembolsarán:

// Refund a single product.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Refund"
                                                                        label:nil
                                                                        value:nil];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"]; // Product ID is required for partial refund.
[product setQuantity:@1]; // Quanity is required for partial refund.
[builder addProduct:product];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPARefund];
[action setTransactionId:@"T12345"]; // Transaction ID is required for partial refund.
[builder setProductAction:action];
[tracker send:[builder build]];

Uso de eventos sin interacción para reembolsos

Si necesitas enviar datos de reembolsos mediante un evento y este no forma parte del comportamiento normal del usuario (es decir, no lo inicia 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.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Refund"
                                                                        label:nil
                                                                        value:nil];

[builder set:@"1" forKey:kGAINonInteraction];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPARefund];
[action setTransactionId:@"T12345"];

[builder setProductAction:action];
[tracker send:[builder build]];

Medición del proceso de pago

Para medir cada paso en un proceso de confirmación de la compra:

  1. Agrega un código de seguimiento para medir cada paso del proceso de confirmación de la compra.
  2. Si corresponde, agrega el código de seguimiento para medir las opciones de confirmación de la compra.
  3. 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 de opción de confirmación de la compra con una acción de confirmación de la compra 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, establece los valores del producto y, luego, establece los valores de acción del producto para indicar una acción de la confirmación de la compra. Si corresponde, también puedes establecer un paso de confirmación de la compra y el valor de la opción de confirmación de la compra 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:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setPrice:@29.20];
[product setCouponCode:@"APPARELSALE"];
[product setQuantity:@1];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Checkout"
                                                                        label:nil
                                                                        value:nil];

// Add the step number and additional info about the checkout to the action.
GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPACheckout];
[action setCheckoutStep:@1];
[action setCheckoutOption:@"Visa"];

[builder addProduct:product];
[builder setProductAction:action];
[tracker 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.

Para medir una opción de confirmación de la compra, configura valores de acción del producto para indicar una opción de confirmación de la compra y, además, 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.)
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"CheckoutOption"
                                                                        label:nil
                                                                        value:nil];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPACheckoutOption];
[action setCheckoutStep:@1];
[action setCheckoutOption:@"Fedex"];

[builder setProductAction:action];
[tracker 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.

Configuración de comercio electrónico en la sección Administrador de la interfaz web de
     Google Analytics. Se habilitó el comercio electrónico y se agregaron 4 etiquetas de pasos del embudo de confirmación de la compra: 1. Revisar carrito, 2. Recopilar información de pago, 3. Confirmar los detalles de la
     compra, 4. Recibo
Figura 1: Configuración de comercio electrónico del embudo de confirmación de la compra

Mide las promociones internas

El comercio electrónico mejorado incluye compatibilidad para medir impresiones y selecciones de promociones internas, como banners que se muestran para promocionar una oferta.

Impresiones de promoción

Por lo general, las impresiones de promociones internas se miden con la vista de pantalla inicial o un evento mediante la configuración de valores de promoción. Por ejemplo:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommercePromotion *promotion = [[GAIEcommercePromotion alloc] init];
[promotion setId:@"PROMO_1234"];
[promotion setName:@"Summer Sale"];
[promotion setCreative:@"summer_banner2"];
[promotion setPosition:@"banner_slot1"];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Promotion"
                                                                        label:nil
                                                                        value:nil];

[builder addPromotion:promotion];
[tracker send:[builder build]];

Clics de promoción

Los clics en promociones internas se pueden medir con valores de promoción y, luego, con la configuración de valores de acción del producto para indicar un clic en la promoción. Por ejemplo:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommercePromotion *promotion = [[GAIEcommercePromotion alloc] init];
[promotion setId:@"PROMO_1234"];
[promotion setName:@"Summer Sale"];
[promotion setCreative:@"summer_banner2"];
[promotion setPosition:@"banner_slot1"];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Internal Promotions"
                                                                       action:@"click"
                                                                        label:@"Summer Sale"
                                                                        value:nil];

[builder set:kGAIPromotionClick forKey:kGAIPromotionAction];
[builder addPromotion:promotion];
[tracker send:[builder build]];