Monitoraggio e-commerce avanzato - SDK per iOS

Questo documento fornisce una panoramica su come misurare le azioni e le impressioni correlate all'e-commerce in-app con l'SDK Google Analytics per iOS v3.

Panoramica

L'E-commerce avanzato consente di misurare le interazioni degli utenti con i prodotti nell'esperienza di acquisto dell'utente, tra cui: impressioni dei prodotti, clic sui prodotti, visualizzazione dei dettagli dei prodotti, aggiunta di un prodotto a un carrello degli acquisti, avvio della procedura di pagamento, transazioni e rimborsi.

Implementazione

Prima di implementare il monitoraggio e-commerce avanzato nella tua app, devi aggiungere la libreria di e-commerce avanzato all'app.

Dopo aver configurato la tua applicazione per l'utilizzo dell'e-commerce avanzato, puoi:

Misurazione delle attività di e-commerce

Una tipica implementazione di e-commerce avanzato misurerà le impressioni dei prodotti e una qualsiasi delle seguenti azioni:

  • Selezione di un prodotto.
  • Visualizzazione dei dettagli del prodotto.
  • Impressioni e selezione di promozioni interne.
  • Aggiunta o rimozione di un prodotto da un carrello degli acquisti.
  • Avvio della procedura di pagamento per un prodotto.
  • Acquisti e rimborsi.

Misurazione delle impressioni

Per misurare un'impressione di prodotto, imposta i valori del prodotto e dell'impressione e inviala 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 prodotto deve avere un valore nome o ID. Tutti gli altri valori sono facoltativi e non devono essere impostati.

Azioni di misurazione

Le azioni vengono misurate impostando i valori del prodotto e quindi impostando i valori di azione prodotto per specificare l'azione eseguita.

Ad esempio, il seguente codice misura la selezione di un prodotto visualizzato in un elenco di risultati di ricerca:

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 prodotto deve avere un valore nome o ID. Tutti gli altri valori sono facoltativi e non devono essere impostati.

Combinazione di impressioni e azioni

Nei casi in cui sono presenti sia impressioni del prodotto sia un'azione, è possibile combinarle e misurarle in un unico hit.

L'esempio seguente mostra come misurare una vista dei dettagli di un prodotto con una sezione di prodotti correlati:

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

Misurazione delle transazioni

Misurare una transazione impostando i valori del prodotto e poi impostando i valori di azione prodotto per specificare un'azione di acquisto. I dettagli a livello di transazione, come le entrate totali, le tasse e le spedizioni, sono impostati con i valori delle azioni di prodotto.

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

Specifica della valuta

Per impostazione predefinita, puoi configurare una valuta globale comune per tutte le transazioni e tutti gli articoli tramite l'interfaccia web di gestione di Google Analytics.

La valuta locale deve essere specificata nello standard ISO 4217. Leggi il documento di riferimento sui codici di valuta per un elenco completo delle valute di conversione supportate.

Le valute locali vengono specificate impostando il valore del codice valuta nel tracker. Ad esempio, questo tracker invia i valori di valuta come euro:

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

Misurazione dei rimborsi

Per rimborsare un'intera transazione, imposta i valori dell'azione di prodotto per specificare l'ID transazione e un tipo di azione di rimborso:

// 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 non viene trovata una transazione corrispondente, il rimborso non verrà elaborato.

Per misurare un rimborso parziale, imposta i valori delle azioni di prodotto per specificare l'ID transazione, gli ID prodotto e le quantità dei prodotti da rimborsare:

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

Usare gli eventi di non interazione per i rimborsi

Se devi inviare i dati di rimborso utilizzando un evento e quest'ultimo non rientra nel comportamento dell'utente misurato normalmente (ovvero non avviato dall'utente), ti consigliamo di inviare un evento di non interazione. In questo modo eviterai che l'evento influisca su determinate metriche. Ad esempio:

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

Misurazione del processo di pagamento

Per misurare ogni passaggio di una procedura di pagamento:

  1. Aggiungi il codice di monitoraggio per misurare ogni passaggio della procedura di pagamento.
  2. Se applicabile, aggiungi il codice di monitoraggio per misurare le opzioni di pagamento.
  3. (Facoltativo) Imposta nomi dei passaggi intuitivi per il report sulla canalizzazione di pagamento configurando Impostazioni e-commerce nella sezione di amministrazione dell'interfaccia web.

1. Misurazione dei passaggi di pagamento

Per ogni passaggio della procedura di pagamento, devi implementare il codice di monitoraggio corrispondente per inviare i dati a Google Analytics.

Campo Step

Per ogni passaggio di pagamento che misuri devi includere un valore step. Questo valore viene utilizzato per mappare le azioni di pagamento alle etichette configurate per ogni passaggio nelle Impostazioni e-commerce.

Campo Option

Se disponi di ulteriori informazioni sul passaggio specifico al momento della misurazione del passaggio, puoi impostare il campo dell'opzione di pagamento con un'azione di pagamento per acquisire queste informazioni. Ad esempio, il tipo di pagamento predefinito per l'utente (come "Visa").

Misurazione di un passaggio di pagamento

Per misurare un passaggio di pagamento, imposta i valori dei prodotti, quindi imposta i valori dell'azione di prodotto per indicare un'azione di pagamento. Se applicabile, puoi anche impostare un passaggio di pagamento e un valore dell'opzione di pagamento con il pagamento.

L'esempio seguente mostra come misurare il primo passaggio di una procedura di pagamento, con un singolo prodotto, e alcune informazioni aggiuntive sul tipo di 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. Misurazione delle opzioni di pagamento

Le opzioni di pagamento ti consentono di misurare informazioni aggiuntive sullo stato del pagamento. Questo è utile nei casi in cui hai misurato un passaggio di pagamento, ma sono disponibili informazioni aggiuntive sullo stesso passaggio dopo l'impostazione di un'opzione selezionata dall'utente. Ad esempio, l'utente seleziona un metodo di spedizione.

Per misurare un'opzione di pagamento, imposta i valori dell'azione di prodotto in modo che indichino un'opzione di pagamento e includi il numero di passaggio e la descrizione dell'opzione.

Ti consigliamo di misurare questa azione dopo che l'utente ha eseguito un'azione per andare al passaggio successivo della procedura di pagamento. Ad esempio:

// (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. Configurazione della canalizzazione di pagamento

A ogni passaggio della procedura di pagamento può essere assegnato un nome descrittivo che verrà utilizzato nei report. Per configurare questi nomi, visita la sezione Amministrazione dell'interfaccia web di Google Analytics, seleziona la vista (profilo) e fai clic su Impostazioni e-commerce. Segui le istruzioni per la configurazione dell'e-commerce per etichettare ogni passaggio di pagamento che intendi monitorare.

Impostazioni e-commerce nella sezione Amministrazione dell&#39;interfaccia web di Google Analytics. L&#39;e-commerce è attivato ed sono state aggiunte
     4 etichette del passaggio della canalizzazione di pagamento: 1. Carrello delle recensioni, 2. Raccogliere i dati di pagamento, 3. Confermare i dettagli di acquisto, 4. Ricevuta
Figura 1: Impostazione e-commerce - Canalizzazione di pagamento

Misurazione delle promozioni interne

L'E-commerce avanzato include il supporto per la misurazione delle impressioni e la selezione di promozioni interne, ad esempio i banner visualizzati per promuovere una vendita.

Impressioni promozione

Le impressioni delle promozioni interne vengono generalmente misurate con la visualizzazione di schermata iniziale o con un evento impostando i valori della promozione. Ad esempio:

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

Clic su promozione

I clic sulle promozioni interne possono essere misurati utilizzando i valori delle promozioni e impostando i valori delle azioni di prodotto per indicare un clic sulla promozione. Ad esempio:

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