Ulepszone śledzenie e-commerce

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

Przegląd

Ulepszony e-commerce umożliwia pomiar interakcji użytkowników z produktami w ramach zakupów. Obejmuje to wyświetlenia produktu, kliknięcia produktów, wyświetlanie szczegółów produktu, dodawanie produktu do koszyka, rozpoczęcie procesu płatności, transakcji i zwrotów środków.

Wdrażanie

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

Dzięki Ulepszonemu e-commerce możesz:

Pomiar działań e-commerce

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

  • Wybór usługi.
  • Wyświetlam szczegóły produktu.
  • Wyświetlenia i wybór promocji wewnętrznych.
  • Dodanie produktu do koszyka lub usunięcie go z niego.
  • rozpoczynania procesu płatności za produkt,
  • Zakupy i zwroty środków.

Pomiar wyświetleń

Aby mierzyć wyświetlenie produktu, utwórz obiekt Product i wyślij go z działaniem, używając metody addImpression. Właściwość Product musi mieć nazwę lub wartość identyfikatora. Wszystkie 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 artykule Konfiguracja zaawansowana.

Działania pomiarowe

Działania są mierzone za pomocą metody addProduct z obiektem Product, aby dodawać szczegóły produktu, oraz metody setProductAction z obiektem ProductAction, aby określić wykonywane działanie.

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ń

W przypadku, gdy masz zarówno wyświetlenia produktu, jak i działanie, możesz połączyć je i zmierzyć w jednym działaniu.

Poniższy przykład pokazuje, jak mierzyć widok szczegółów produktu w sekcji 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());

Pomiar transakcji

Mierz transakcję za pomocą metody addProduct z obiektem Product, aby dodawać informacje o produkcie, oraz metody setProductAction z obiektem ProductAction, aby określić działanie zakupowe. Szczegóły poziomu transakcji, takie jak łączne przychody, podatek i koszty dostawy, 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 za pomocą interfejsu internetowego zarządzania Google Analytics możesz ustawić wspólną, globalną walutę dla wszystkich transakcji i elementów.

Waluta lokalna musi być określona w standardzie ISO 4217. Pełną listę obsługiwanych walut konwersji znajdziesz w dokumencie Kody walut.

Waluty lokalne są określane za pomocą właściwości currencyCode tracker. Na przykład tracker śledzi 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ć całą transakcję, użyj metody setProductAction z obiektem ProductAction, aby określić identyfikator transakcji i typ 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());

W przypadku braku pasującej transakcji zwrot środków nie zostanie przetworzony.

Aby zmierzyć częściowy zwrot środków, użyj metody setProductAction z obiektem ProductAction, aby określić identyfikator transakcji, identyfikatory produktów i ilości produktów, które zostaną 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());

Zwrot środków za zdarzenia niezwiązane z interakcją

Jeśli chcesz wysyłać dane o zwrocie za pomocą zdarzenia, które nie jest częścią normalnego zachowania użytkownika (czyli nie zostało zainicjowane przez użytkownika), zalecamy wysłanie zdarzenia niewymagającego interakcji. Zdarzenie nie będzie miało wpływu na niektóre dane. 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());

Pomiar procesu płatności

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

  1. Dodaj kod śledzenia, aby mierzyć każdy etap procesu płatności.
  2. W razie potrzeby dodaj kod śledzenia, aby zmierzyć opcje płatności.
  3. Opcjonalnie wybierz w raporcie Ścieżki płatności przydatne nazwy kroków dla użytkowników, konfigurując Ustawienia e-commerce w sekcji Administracja w interfejsie internetowym.

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

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

Pole Step

Dla każdego kroku, który mierzysz, musisz podać wartość step. Ta wartość służy do mapowania działań procesu płatności do etykiet skonfigurowanych dla każdego kroku w ustawieniach e-commerce.

Pole Option

Jeśli masz dodatkowe informacje o danym kroku płatności w momencie pomiaru, możesz ustawić w polu option działanie checkout, aby rejestrować te informacje. Może to być na przykład domyślny typ płatności dla użytkownika (np. 'Visa&#39).

Pomiar etapu płatności

Aby mierzyć krok procesu płatności, użyj metody addProduct z obiektem Product, aby dodać szczegóły produktu, oraz metody setProductAction z obiektem ProductAction, aby wskazać działanie płatności. W razie potrzeby możesz też ustawić step i option w momencie płatności.

Poniższy przykład pokazuje, jak zmierzyć pierwszy etap procesu płatności za pomocą jednego produktu i 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 płatności

Opcje płatności umożliwiają pomiar dodatkowych informacji o stanie procesu płatności. Jest to przydatne, gdy mierzysz etap procesu płatności, ale po ustawieniu opcji wyboru przez użytkownika dostępne są dodatkowe informacje o tym samym kroku. Na przykład użytkownik wybiera metodę dostawy.

Aby mierzyć opcję płatności, użyj tagu setAction do określenia opcji płatności i podaj numer kroku oraz opis opcji.

Takie działanie najprawdopodobniej wykonasz, gdy użytkownik wykona określone działanie, aby przejść do kolejnego kroku procesu płatności. 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 krok w procesie płatności może mieć nazwę opisową, która będzie używana w raportach. Aby je skonfigurować, 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, aby oznaczyć etykietą każdy etap procesu płatności, który chcesz śledzić.

Ustawienia e-commerce w sekcji Administracja interfejsu internetowego Google Analytics. E-commerce jest włączone, a do kampanii dodano 4 etykiety powiązane ze ścieżką płatności: 1. Sprawdzanie koszyka, 2. Zbieranie danych do płatności, 3. Potwierdź szczegóły zakupu. 4. Rachunek
Rysunek 1: Konfiguracja e-commerce – Ścieżka płatności

Pomiar promocji wewnętrznych

Ulepszony e-commerce obejmuje obsługę pomiaru wyświetleń i kliknięć promocji wewnętrznych, np. banerów wyświetlanych w celu promowania wyprzedaży.

Wyświetlenia promocji

Wyświetlenia promocji wewnętrznej są zwykle mierzone przy użyciu początkowego wyświetlenia ekranu za pomocą metody addPromotion z obiektem Promotion do określenia szczegółów promocji. 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, a metodę setPromotionAction ustawioną na Promotion.ACTION_CLICK lub Promotion.ACTION_VIEW, aby wskazać kliknięcie lub widok promocji. 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());