Śledzenie Ulepszonego e-commerce

Ten dokument zawiera omówienie sposobu pomiaru działań i wyświetleń e-commerce w aplikacji za pomocą pakietu SDK Google Analytics w wersji 4 na Androida.

Przegląd

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

Implementacja

Pomiar ulepszonego e-commerce wymaga użycia klasy HitBuilder i jej zestawu metod do wysyłania danych e-commerce dotyczących produktów, wyświetleń i promocji. Dostępny jest też zestaw klas e-commerce Google Analytics do tworzenia informacji związanych z e-commerce.

Ulepszone e-commerce pozwala:

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, utwórz obiekt Product i wyślij go z działaniem, korzystając z metody addImpression. Element Product musi mieć wartość nazwy lub identyfikatora. Pozostałe wartości są opcjonalne i nie trzeba ich ustawiać.

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());

Więcej informacji o metodzie getTracker znajdziesz w sekcji Konfiguracja zaawansowana.

Pomiary działań

Działania mierzy się za pomocą metody addProduct z obiektem Product w celu dodania szczegółów produktu oraz metody setProductAction z obiektem ProductAction do określenia wykonywanego działania.

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

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());

Łą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 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());

Pomiary transakcji

Zmierz transakcję przy użyciu metody addProduct z obiektem Product, aby dodać szczegóły produktu, oraz metody setProductAction z obiektem ProductAction w celu określenia działania polegającego na zakupie. Szczegóły na poziomie transakcji, takie jak łączne przychody, podatek i dostawa, są podane w obiekcie 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());

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 przy użyciu właściwości currencyCode tracker. Na przykład ten tracker przesyła wartości walut w euro:

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());

Pomiar zwrotów

Aby zwrócić środki całej transakcji, użyj metody setProductAction z obiektem ProductAction, aby określić identyfikator transakcji i typ działania zwrotu środków:

// 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());

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

Aby mierzyć częściowy zwrot środków, użyj metody setProductAction z obiektem ProductAction do określenia identyfikatorów transakcji, identyfikatorów produktów i ilości produktów, które mają zostać zwrócone:

// 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());

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

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

// 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());

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 kroku płatności, możesz skonfigurować pole option z działaniem checkout, 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, użyj metody addProduct z obiektem Product do dodania szczegółów produktu oraz metody setProductAction z obiektem ProductAction do wskazania działania związanego z płatnością. W razie potrzeby podczas procesu płatności możesz też ustawić step i option.

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:

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. 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ć liczbę opcji płatności, użyj parametru setAction, aby wskazać opcję płatności, podając numer kroku i 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.)
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. 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 kliknięć 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 za pomocą metody addPromotion z obiektem Promotion do określania szczegółów promocji. Na przykład:

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());

Kliknięcia promocji

Kliknięcia promocji wewnętrznych można mierzyć za pomocą metody addPromotion z obiektem Promotion oraz metodą setPromotionAction ustawioną na Promotion.ACTION_CLICK lub Promotion.ACTION_VIEW, aby wskazywać odpowiednio kliknięcie lub wyświetlenie promocji. Na przykład:

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());