Acompanhamento de comércio eletrônico avançado – SDK para iOS

Este documento fornece uma visão geral de como avaliar as ações e impressões relacionadas ao comércio eletrônico no aplicativo com o SDK do Google Analytics para iOS v3.

Visão geral

O comércio eletrônico avançado permite a avaliação de interações dos usuários com produtos durante a experiência de compra do usuário, incluindo: impressões de produtos, cliques em produtos, exibição de detalhes de produtos, adição de um produto ao carrinho de compras, início do processo de checkout, transações e reembolsos.

Implementação

Antes de implementar o acompanhamento de comércio eletrônico avançado, você precisa adicionar a biblioteca do comércio eletrônico avançado ao seu aplicativo.

Depois de configurar seu aplicativo para usar o comércio eletrônico avançado, você pode:

Avaliação de atividades de comércio eletrônico

Uma implementação de comércio eletrônico avançado típica avalia as impressões de produtos e qualquer uma das ações a seguir:

  • Seleção de um produto.
  • Visualização de detalhes de produtos.
  • Impressões e seleção de promoções internas.
  • Adição / remoção de um produto de um carrinho de compras.
  • Início do processo de checkout para um produto.
  • Compras e reembolsos.

Avaliação de impressões

Para avaliar a impressão de um produto, defina os valores de produtos e de impressão e envie-os com um 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]];

Um produto precisa ter um valor "name" ou "id". Todos os outros valores são opcionais e não precisam ser definidos.

Avaliação de ações

As ações são avaliadas definindo valores de produtos e, em seguida, definindo valores de ação do produto para especificar a ação a ser realizada.

Por exemplo, o código a seguir avalia a seleção de um produto exibido em uma lista de resultados de pesquisa:

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]];

Um produto precisa ter um valor "name" ou "id". Todos os outros valores são opcionais e não precisam ser definidos.

Combinação de impressões e ações

Nos casos em que você tem impressões de produtos e uma ação, é possível combinar e avaliar tudo em um único hit.

O exemplo abaixo mostra como avaliar uma vista da propriedade de detalhes do produto com uma seção de produtos relacionados:

// 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]];

Avaliação de transações

Avalie uma transação definindo os valores do produto e, em seguida, definindo valores de ação do produto para especificar uma ação de compra. Os detalhes no nível da transação, como receita total, imposto e envio, são definidos com os valores de ação do produto.

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]];

Especificação de moedas

Por padrão, você pode configurar uma moeda global comum para todas as transações e itens por meio da interface da Web de gerenciamento do Google Analytics.

É necessário especificar a moeda local de acordo com o padrão ISO 4217. Leia o documento Referência de códigos de moedas para uma lista completa de moedas de conversão suportadas.

As moedas locais são especificadas definindo o valor de código de moeda no rastreador. Por exemplo, este rastreador enviará valores de moeda em 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]];

Avaliação de reembolsos

Para reembolsar uma transação inteira, defina os valores de ação do produto para especificar o ID da transação e um tipo de ação 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]];

Se uma transação correspondente não for encontrada, o reembolso não será processado.

Para avaliar um reembolso parcial, defina valores de ação do produto para especificar o ID da transação, IDs do produto e as quantidades do produto a serem reembolsadas:

// 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 sem interação para reembolsos

Se você precisar enviar dados de reembolso por meio de um evento e ele não fizer parte de um comportamento do usuário avaliado normalmente (por exemplo, não iniciado pelo usuário), é recomendável enviar um evento sem interação. Isso impedirá que determinadas métricas sejam afetadas pelo evento. Por exemplo:

// 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]];

Avaliação do processo de checkout

Para avaliar cada etapa em um processo de checkout:

  1. Adicione o código de acompanhamento para avaliar cada etapa do processo de checkout.
  2. Se aplicável, adicione o código de acompanhamento para avaliar as opções de checkout.
  3. Opcionalmente, atribua nomes fáceis de entender para as etapas no Relatório de funis de checkout. Para isso, defina Configurações de comércio eletrônico na seção "Administrador" da interface da Web.

1. Avaliação das etapas de checkout

Para cada etapa no processo de checkout, você precisa implementar o código de acompanhamento correspondente para enviar dados ao Google Analytics.

Campo Step

Para cada etapa do checkout que você avalia, é necessário incluir um valor step. Esse valor é usado para mapear as ações de checkout para os rótulos que você configurou em cada etapa nas Configurações de comércio eletrônico.

Campo Option

Se você tem informações adicionais sobre a etapa de checkout específica no momento em que ela é avaliada, defina o campo "option" do checkout para coletar essas informações. Por exemplo, o tipo de pagamento padrão do usuário (como "Visa").

Avaliação de uma etapa do checkout

Para avaliar uma etapa do checkout, defina os valores do produto e, em seguida, os valores de ação do produto para indicar uma ação de checkout. Se aplicável, defina também uma etapa e um valor de opção do checkout com ele.

O exemplo a seguir mostra como avaliar a primeira etapa de um processo de checkout com um único produto, além de algumas informações adicionais sobre o tipo de pagamento:

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. Avaliação das opções de checkout

Com as opções de checkout, você pode avaliar informações adicionais sobre o estado do checkout. Isso é útil nos casos em que você avaliou uma etapa do checkout, mas informações adicionais sobre a mesma etapa de checkout estão disponíveis depois da definição de uma opção selecionada pelo usuário. Por exemplo, o usuário seleciona um método de envio.

Para avaliar uma opção de finalização de compra, defina os valores de ação do produto para indicar uma opção de finalização de compra e incluir o número da etapa e a descrição da opção.

Provavelmente, convém avaliar essa ação depois que o usuário realizar uma ação para prosseguir até a próxima etapa no processo de checkout. Por exemplo:

// (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. Configuração do funil de checkout

Cada etapa do seu processo de checkout pode receber um nome descritivo que será usado nos relatórios. Para configurar esses nomes, acesse a seção Administrador da interface da Web do Google Analytics, selecione a vista da propriedade (perfil) e clique em Configurações de comércio eletrônico. Siga as instruções de configuração de comércio eletrônico para rotular cada etapa de checkout que você pretende acompanhar.

Configurações do comércio eletrônico na seção "Administrador" da interface da Web do Google Analytics.O comércio eletrônico está ativado, e quatro rótulos de etapas do funil de checkout foram adicionados: 1.Revisar carrinho de compras, 2.Coletar informações de pagamento, 3.Confirmar detalhes de compra, 4.Recibo
Figura 1: configuração do comércio eletrônico - funil de checkout

Avaliação das promoções internas

O comércio eletrônico avançado inclui suporte para avaliação de impressões e seleções de promoções internas, como banners exibidos para promover uma venda.

Impressões de promoções

Impressões de promoções internas são geralmente avaliadas com a exibição da tela inicial ou um evento, definindo os valores de promoção. Por exemplo:

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]];

Cliques em promoções

Cliques em promoções internas podem ser avaliados usando valores de promoção e, em seguida, definindo valores de ação do produto para indicar um clique na promoção. Por exemplo:

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]];