Śledzenie Ulepszonego e-commerce – pakiet SDK do systemu iOS

W tym dokumencie znajdziesz omówienie sposobów pomiaru działań i wyświetleń e-commerce w aplikacji za pomocą pakietu SDK Google Analytics na iOS w wersji 3.

Przegląd

Ulepszone e-commerce umożliwia pomiar interakcji użytkowników z produktami w ramach różnych doświadczeń zakupowych, w tym: wyświetleń i kliknięć produktów, wyświetlania szczegółów produktu, dodania produktu do koszyka, inicjowania procesu płatności, transakcji i zwrotu środków.

Implementacja

Zanim wdrożysz w swojej aplikacji śledzenie ulepszonego e-commerce, musisz do niej dodać bibliotekę ulepszonego e-commerce.

Po skonfigurowaniu w aplikacji korzystania z Ulepszonego e-commerce możesz:

Pomiar działań e-commerce

Typowa implementacja Ulepszonego e-commerce będzie mierzyć wyświetlenia produktów i dowolne z tych działań:

  • Wybieranie produktu.
  • Wyświetlanie szczegółów produktu
  • Wyświetlenia i wybór promocji wewnętrznych.
  • Dodanie produktu do koszyka lub usunięcie go z niego.
  • Inicjowanie procesu płatności za produkt.
  • Zakupy i zwroty środków.

Pomiar wyświetleń

Aby zmierzyć wyświetlenie produktu, określ wartości produktu i wyświetleń, a potem prześlij je z działaniem:

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

Produkt musi mieć nazwę lub wartość identyfikatora. Pozostałe wartości są opcjonalne i nie trzeba ich ustawiać.

Pomiary działań

Działania mierzy się, wyznaczając wartości działań w usłudze, a następnie ustawiając wartości działań w usłudze, aby określić wykonywane działanie.

Na przykład ten kod mierzy wybór produktu wyświetlanego na liście wyników wyszukiwania:

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

Produkt musi mieć nazwę lub wartość identyfikatora. Pozostałe wartości są opcjonalne i nie trzeba ich ustawiać.

Łączenie wyświetleń i działań

Jeśli masz zarówno wyświetlenia produktu, jak i działanie, możesz połączyć te dane i zmierzyć je w ramach jednego działania.

Poniższy przykład pokazuje, jak mierzyć widok szczegółów produktu z sekcją produktów powiązanych:

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

Pomiary transakcji

Mierzenie transakcji poprzez określenie wartości produktów i wartości działań związanych z produktem, aby określić działanie polegające na zakupie. Szczegóły na poziomie transakcji, takie jak łączne przychody, podatek i dostawa, są określane za pomocą wartości działań związanych z produktem.

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

Określanie waluty

Domyślnie w interfejsie internetowym zarządzania Google Analytics możesz skonfigurować wspólną, globalną walutę dla wszystkich transakcji i elementów.

Walutę lokalną należy podać w standardzie ISO 4217. Pełną listę obsługiwanych walut do konwersji znajdziesz w dokumentacji kodów walut.

Waluty lokalne są określane przez ustawienie wartości kodu waluty w trackerze. Na przykład ten tracker przesyła wartości walut w 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]];

Pomiar zwrotów

Aby zwrócić środki za całą transakcję, ustaw wartości działań produktu tak, by określić identyfikator transakcji i typ działania związanego ze zwrotem środków:

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

Jeśli nie znajdziemy odpowiedniej transakcji, zwrot środków nie zostanie przetworzony.

Aby mierzyć częściowy zwrot środków, ustaw wartości działań w ramach produktu tak, aby określić identyfikator transakcji, identyfikatory produktów i ilość produktów, które mają zostać zwrócone:

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

Używanie zdarzeń niezwiązanych z interakcjami przy zwrotach środków

Jeśli chcesz wysyłać dane o zwrotach środków za pomocą zdarzenia, które nie jest częścią zwykle mierzonego zachowania użytkownika (tj. nie jest inicjowane przez użytkownika), zalecamy wysyłanie zdarzenia niezwiązanego z interakcją. Dzięki temu zdarzenie nie będzie miało wpływu na niektóre dane. Na przykład:

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

Pomiary procesu płatności

Aby mierzyć każdy etap procesu płatności:

  1. Dodaj kod śledzenia do pomiaru każdego etapu procesu płatności.
  2. W razie potrzeby dodaj kod śledzenia, aby mierzyć opcje płatności.
  3. Opcjonalnie określ łatwe w użyciu nazwy kroków w raporcie ścieżki płatności. Aby to zrobić, skonfiguruj Ustawienia e-commerce w sekcji administracyjnej interfejsu internetowego.

1. Pomiary kroków procesu płatności

Na każdym etapie procesu płatności musisz zaimplementować odpowiedni kod śledzenia, by wysyłać dane do Google Analytics.

Pole Step

W przypadku każdego mierzonego etapu procesu płatności musisz podać wartość step. Ta wartość służy do mapowania działań związanych z realizacją płatności na etykiety skonfigurowane dla poszczególnych kroków w ustawieniach e-commerce.

Pole Option

Jeśli w momencie pomiaru masz dodatkowe informacje o danym etapie procesu płatności, możesz skonfigurować pole opcji płatności z działaniami płatności, aby rejestrować te informacje. Na przykład domyślny rodzaj płatności w przypadku danego użytkownika (np. „Visa”).

Pomiar etapu procesu płatności

Aby mierzyć etap procesu płatności, ustaw wartości produktów, a następnie wartości działań związanych z produktem, aby wskazać wykonanie działania. W razie potrzeby możesz też określić krok płatności i wartość opcji płatności.

Z przykładu poniżej dowiesz się, jak mierzyć pierwszy etap procesu płatności za pomocą jednego produktu i pewne dodatkowe informacje o typie płatności:

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. Pomiar opcji realizacji transakcji

Opcje płatności umożliwiają pomiar dodatkowych informacji o stanie procesu płatności. Jest to przydatne w sytuacjach, gdy masz mierzony etap procesu płatności, ale dodatkowe informacje o tym samym etapie procesu płatności są dostępne po ustawieniu opcji wybranej przez użytkownika. Na przykład użytkownik wybiera sposób dostawy.

Aby mierzyć opcje płatności, ustaw wartości działań produktu, aby wskazać opcję płatności, i podaj jej numer kroku oraz opis opcji.

Warto je mierzyć, gdy użytkownik wykona pewne działanie, aby przejść do kolejnego etapu procesu płatności. Na przykład:

// (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. Konfiguracja ścieżki płatności

Każdy etap procesu płatności może mieć opisową nazwę, która będzie używana w raportach. Aby skonfigurować te nazwy, przejdź do sekcji Administracja w interfejsie internetowym Google Analytics, wybierz widok (profil) i kliknij Ustawienia e-commerce. Postępuj zgodnie z instrukcjami konfiguracji e-commerce, by oznaczyć etykietą każdy krok procesu płatności, który chcesz śledzić.

Ustawienia e-commerce w sekcji Administracja interfejsu internetowego Google Analytics. E-commerce jest włączony i dodano 4 etykiety kroków ścieżki płatności: 1. Koszyk recenzji, 2. zbieranie danych do płatności, 3. Potwierdź szczegóły zakupu, 4. Rachunek
Rysunek 1. Konfiguracja e-commerce – Ścieżka do płatności

Pomiary reklam wewnętrznych

Ulepszone e-commerce obejmuje obsługę pomiaru wyświetleń i wybór reklam wewnętrznych, takich jak banery wyświetlane w celu promowania sprzedaży.

Wyświetlenia promocji

Wyświetlenia reklamy wewnętrznej są zwykle mierzone przy początkowym wyświetleniu ekranu lub w wyniku zdarzenia, określając wartości związane z promocją. Na przykład:

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

Kliknięcia promocji

Kliknięcia promocji wewnętrznych można mierzyć, korzystając z wartości promocji oraz ustawiając wartości działań produktowych w celu wskazania kliknięcia promocji. Na przykład:

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