Wtyczka Ulepszonego e-commerce do analytics.js umożliwia pomiar interakcji użytkowników z produktami w witrynach e-commerce w całym ich doświadczeniach zakupowych, w tym: wyświetleń produktów, kliknięć produktów, wyświetlania szczegółów produktu, dodania produktu do koszyka, inicjowania procesu płatności, transakcji i zwrotów środków.
Migracja i zgodność z wtyczką e-commerce (ecommerce.js)
Jeśli masz już wdrożony pomiar e-commerce i chcesz zacząć korzystać z Ulepszonego e-commerce, masz 2 główne opcje:
Użyj nowej usługi
Możesz dodać kolejny moduł do śledzenia dla nowo utworzonej usługi i włączyć w niej Ulepszone e-commerce. Szczegółowe informacje o wysyłaniu danych do wielu usług z jednej strony znajdziesz w artykule Praca z wieloma obiektami śledzenia.
Migracja istniejącej usługi
Aby przeprowadzić migrację z wtyczki e-commerce do wtyczki Ulepszone e-commerce, obecni użytkownicy tagu analytics.js powinni usunąć odniesienia i zastąpić je kodem ulepszonego e-commerce.
Jeśli korzystasz obecnie z kodu ga.js, przed skorzystaniem z wtyczki Ulepszone e-commerce musisz przejść na analytics.js.
Migracja nie będzie miała wpływu na dane o transakcjach i produktach zebrane wcześniej za pomocą wtyczki ecommerce.js. Będą one nadal dostępne w usługach i profilach, do których zostały pierwotnie przesłane.
Typy danych i działania Ulepszonego e-commerce
Istnieje wiele typów danych e-commerce, które możesz wysyłać:
Dane o wyświetleniach
Reprezentuje informacje o produkcie, który został wyświetlony. Jest to tzw. impressionFieldObject
i zawiera te wartości:
Klucz | Typ wartości | Wymagane | Opis |
---|---|---|---|
id |
plik tekstowy, | *Tak |
Identyfikator produktu lub kod SKU (np. P67890).
* Należy ustawić jedną z wartości |
name |
plik tekstowy, | *Tak |
Nazwa produktu (np. Android T-Shirt).
* Należy ustawić jedną z wartości |
list |
plik tekstowy, | Nie | Lista lub kolekcja, do których należy produkt (np. wyniki wyszukiwania) |
list_name |
plik tekstowy, | Nie | Lista lub kolekcja, do których należy produkt (np. wyniki wyszukiwania) |
brand |
plik tekstowy, | Nie | Marka powiązana z produktem (np. Google). |
category |
plik tekstowy, | Nie |
Kategoria, do której należy produkt (np. odzież). Jako separatora użyj / jako separatora, który pozwala określić maksymalnie 5 poziomów hierarchii (np. Odzież/Męska/T-shirty).
|
variant |
plik tekstowy, | Nie | Wersja produktu (np. czarna). |
position |
Liczba całkowita | Nie | Pozycja produktu na liście lub w kolekcji (np. 2). |
list_position |
Liczba całkowita | Nie | Pozycja produktu na liście lub w kolekcji (np. 2). |
price |
Liczba | Nie | Cena produktu (np. 29,20). |
Dane produktu
Dane produktów reprezentują poszczególne produkty, które zostały wyświetlone, dodane do koszyka itd. Są one nazywane productFieldObject
i zawierają następujące wartości:
Klucz | Typ wartości | Wymagane | Opis |
---|---|---|---|
id |
plik tekstowy, | *Tak |
Identyfikator produktu lub kod SKU (np. P67890).
* Należy ustawić jeden identyfikator lub element |
name |
plik tekstowy, | *Tak |
Nazwa produktu (np. Android T-Shirt).
* Należy ustawić jeden identyfikator lub element |
brand |
plik tekstowy, | Nie | Marka powiązana z produktem (np. Google). |
category |
plik tekstowy, | Nie | Kategoria, do której należy produkt (np. odzież). Używaj / jako separatora, aby określić do 5 poziomów hierarchii (np. Odzież/Męska/T-shirty). |
variant |
plik tekstowy, | Nie | Wersja produktu (np. czarna). |
price |
Liczba | Nie | Cena produktu (np. 29,20). |
quantity |
Liczba całkowita | Nie | Liczba sztuk produktu (np. 2). |
coupon |
plik tekstowy, | Nie | Kod kuponu powiązany z produktem (np. LATO_WYPRZEDAŻ13). |
position |
Liczba całkowita | Nie | Pozycja produktu na liście lub w kolekcji (np. 2). |
list_position |
Liczba całkowita | Nie | Pozycja produktu na liście lub w kolekcji (np. 2). |
Dane promocji
Reprezentuje informacje o wyświetlonej promocji. Odnosi się do elementu promoFieldObject
i zawiera te wartości:
Klucz | Typ wartości | Wymagane | Opis |
---|---|---|---|
id |
plik tekstowy, | *Tak |
Identyfikator promocji (np. PROMO_1234).
* Należy ustawić jedną z wartości |
name |
plik tekstowy, | *Tak |
Nazwa promocji (np. Letnia wyprzedaż).
* Należy ustawić jedną z wartości |
creative |
plik tekstowy, | Nie | Kreacja powiązana z promocją (np. baner_lato_baner2). |
creative_name |
plik tekstowy, | Nie | Nazwa kreacji (np. baner_letnia2). |
position |
plik tekstowy, | Nie | Pozycja kreacji (np. baner_slot_1). |
creative_slot |
plik tekstowy, | Nie | Nazwa boksu kreacji (np. baner_slot_1). |
Dane działania
Reprezentuje informacje o wykonanym działaniu związanym z e-commerce.
Jest to tzw. actionFieldObject
i zawiera te wartości:
Klucz | Typ wartości | Wymagane | Opis |
---|---|---|---|
id |
plik tekstowy, | *Tak |
Identyfikator transakcji (np. T1234).
* Wymagany, jeśli typem działania jest |
affiliation |
plik tekstowy, | Nie | Sklep lub podmiot stowarzyszony, w którym miała miejsce transakcja (np. Google Store). |
revenue |
Liczba | Nie |
Określa całkowite przychody lub całkowitą kwotę transakcji (np. 11,99). Ta wartość może obejmować dostawę, podatki i inne korekty łącznych przychodów, które chcesz uwzględnić przy obliczaniu przychodów. |
value | Liczba | Nie | Wartość (tj. przychody) powiązana ze zdarzeniem. |
tax |
Liczba | Nie | Łączny podatek z transakcją. |
shipping |
Liczba | Nie | Koszt dostawy powiązany z transakcją. |
coupon |
plik tekstowy, | Nie | Kupon na transakcję wykorzystany w ramach transakcji. |
list |
plik tekstowy, | Nie | Lista, do której należą powiązane produkty. Opcjonalnie. |
items |
tablica | Nie | Tablica zawierająca powiązane produkty. |
step |
Liczba całkowita | Nie | Liczba reprezentująca krok w procesie płatności. Opcjonalny w przypadku działań „checkout”. |
checkout_step |
Liczba całkowita | Nie | Liczba reprezentująca krok w procesie płatności. |
option |
plik tekstowy, | Nie |
Dodatkowe pole na działania checkout i checkout_option , które może opisać informacje dotyczące opcji na stronie płatności, np. wybranej formy płatności.
|
checkout_option |
plik tekstowy, | Nie | Opcja płatności (tj. wybrana forma płatności). |
Działania związane z produktem i promocją
Działania określają sposób interpretowania danych o produktach i promocjach, które wysyłasz do Google Analytics.
Działanie | Zdarzenie | Opis |
---|---|---|
click |
Kliknięcie produktu lub linku do co najmniej jednego produktu. | |
detail |
Widok szczegółów produktu. | |
add |
Dodanie co najmniej jednego produktu do koszyka. | |
remove |
Usuń co najmniej jeden produkt z koszyka. | |
checkout |
Rozpoczęcie procesu płatności dla co najmniej jednego produktu. | |
checkout_option |
Wysyłanie wartości opcji dla danego etapu płatności. | |
purchase |
Sprzedaż co najmniej jednego produktu. | |
refund |
Zwrot środków za co najmniej 1 produkt. | |
promo_click |
Kliknięcie promocji wewnętrznej. | |
add_to_cart |
Użytkownik dodaje co najmniej jeden produkt do koszyka. | |
begin_checkout |
Użytkownik inicjuje proces płatności co najmniej jednego produktu. | |
checkout_progress |
Użytkownik realizuje kroki płatności po pierwszym etapie procesu płatności. | |
purchase |
Użytkownik finalizuje zakup. | |
refund |
Użytkownik otrzyma zwrot środków za co najmniej 1 produkt. | |
remove_from_cart |
Użytkownik usuwa co najmniej jeden produkt z koszyka. | |
select_content |
Użytkownik klika link do produktu. | |
set_checkout_option |
Etap realizacji transakcji przez użytkownika. | |
view_item |
Użytkownik wyświetla szczegóły produktu. | |
view_item_list |
Użytkownik wyświetla listę co najmniej 1 produktu. | |
view_promotion |
Użytkownik klika promocję wewnętrzną. | |
view_refund |
Użytkownik wyświetla zwrot środków za co najmniej 1 produkt. |
Implementacja
W kolejnych sekcjach opisano, jak wdrożyć wtyczkę Ulepszonego e-commerce do pomiaru aktywności e-commerce w witrynie z biblioteką analytics.js.
Wczytywanie wtyczki e-commerce
Aby zmniejszyć rozmiar biblioteki analytics.js, Ulepszone e-commerce nie jest dostępne w bibliotece domyślnej. Jest używany jako moduł wtyczki, który musi zostać wczytany przed użyciem.
Aby wczytać wtyczkę Ulepszonego e-commerce, użyj tego polecenia:
ga('require', 'ec');
Polecenie to musi zostać wykonane po utworzeniu obiektu śledzenia, a przed użyciem funkcji związanych z Ulepszonym e-commerce.
Wysyłanie danych Ulepszonego e-commerce
Po wczytaniu pojawi się kilka nowych poleceń związanych z Ulepszonym e-commerce w domyślnym module śledzenia i będziesz mieć możliwość wysyłania danych e-commerce.
- Pomiar działań e-commerce
- Pomiar transakcji
- Pomiar zwrotów
- Pomiar procesu płatności
- Pomiary reklam wewnętrznych
Pomiar działań e-commerce
Typowa implementacja Ulepszonego e-commerce będzie mierzyć wyświetlenia produktów i dowolne z tych działań:
- kliknie link do produktu;
- Wyświetlanie szczegółów produktu
- Wyświetlenia i kliknięcia promocji wewnętrznych.
- dodanie produktu do koszyka lub usunięcie go z koszyka,
- Inicjowanie procesu płatności za produkt.
- Zakupy i zwroty środków.
Pomiar wyświetleń
Wyświetlenia produktów mierzy się za pomocą polecenia ec:addImpression
. Szczegółowe informacje o produkcie są dodawane w elemencie impressionFieldObject
.
Na przykład ten kod służy do pomiaru wyświetleń produktu na liście wyników wyszukiwania:
ga('ec:addImpression', { // Provide product details in an impressionFieldObject.
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel/T-Shirts', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'list': 'Search Results', // Product list (string).
'position': 1, // Product position (number).
'dimension1': 'Member' // Custom dimension (string).
});
Element impressionFieldObject
musi mieć wartość name
lub id
. Pozostałe wartości są opcjonalne i nie trzeba ich ustawiać.
Pomiary działań
Działania mierzy się za pomocą polecenia ec:addProduct
z productFieldObject
w celu dodania szczegółów produktu oraz polecenia ec:setAction
do określenia wykonywanego działania.
Na przykład ten kod zlicza kliknięcie linku do produktu wyświetlanego na liście wyników wyszukiwania:
ga('ec:addProduct', { // Provide product details in a productFieldObject.
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'position': 1, // Product position (number).
'dimension1': 'Member' // Custom dimension (string).
});
ga('ec:setAction', 'click', { // click action.
'list': 'Search Results' // Product list (string).
});
Element productFieldObject
musi mieć wartość name
lub id
. 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 to połączyć i zmierzyć w jednym działaniu.
Poniższy przykład pokazuje, jak mierzyć widok szczegółów produktu z sekcją produktów powiązanych:
// The impression from a Related Products section.
ga('ec:addImpression', { // Provide product details in an impressionFieldObject.
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel/T-Shirts', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'list': 'Related Products', // Product list (string).
'position': 1 // Product position (number).
});
// The product being viewed.
ga('ec:addProduct', { // Provide product details in an productFieldObject.
'id': 'P67890', // Product ID (string).
'name': 'YouTube Organic T-Shirt', // Product name (string).
'category': 'Apparel/T-Shirts', // Product category (string).
'brand': 'YouTube', // Product brand (string).
'variant': 'gray', // Product variant (string).
'position': 2 // Product position (number).
});
ga('ec:setAction', 'detail'); // Detail action.
Pomiary transakcji
Aby mierzyć transakcję, użyj polecenia ec:setAction
i ustaw typ działania na purchase
. Szczegóły na poziomie transakcji, takie jak łączne przychody, podatek i dostawa, są podane w actionFieldObject
:
ga('ec:addProduct', { // Provide product details in an productFieldObject.
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'black', // Product variant (string).
'price': '29.20', // Product price (number).
'coupon': 'APPARELSALE', // Product coupon (string).
'quantity': 1 // Product quantity (number).
});
ga('ec:setAction', 'purchase', { // Transaction details are provided in an actionFieldObject.
'id': 'T12345', // (Required) Transaction id (string).
'affiliation': 'Google Store - Online', // Affiliation (string).
'revenue': '37.39', // Revenue (number).
'tax': '2.85', // Tax (number).
'shipping': '5.34', // Shipping (number).
'coupon': 'SUMMER2013' // Transaction coupon (string).
});
actionFieldObject
musi mieć wartość id
, jeśli typem działania jest purchase
lub refund
. Pozostałe wartości są opcjonalne i nie trzeba ich ustawiać.
Pomiar zwrotów
Aby zwrócić środki za całą transakcję, ustaw działanie refund
i podaj identyfikator transakcji:
// Refund an entire transaction.
ga('ec:setAction', 'refund', {
// Transaction ID is only required field for full refund.
'id': 'T12345'
});
Jeśli pasująca transakcja nie zostanie znaleziona, działanie refund
nie zostanie przetworzone.
Aby mierzyć częściowy zwrot środków, ustaw działanie refund
i określ identyfikator transakcji, identyfikatory produktów oraz liczbę produktów, za które chcesz otrzymać zwrot środków:
// Refund a single product.
ga('ec:addProduct', {
'id': 'P12345', // Product ID is required for partial refund.
'quantity': 1 // Quantity is required for partial refund.
});
ga('ec:setAction', 'refund', {
'id': 'T12345', // Transaction ID is required for partial refund.
});
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ą normalnie mierzonego zachowania w witrynie (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 dane takie jak współczynnik odrzuceń, czas spędzony w witrynie itp. Przykład:
ga('send', 'event', 'Ecommerce', 'Refund', {'nonInteraction': 1});
Pomiary procesu płatności
Aby mierzyć każdy etap procesu płatności:
- Dodaj kod, aby mierzyć każdy etap procesu płatności.
- W razie potrzeby dodaj kod, aby mierzyć opcje płatności.
- Opcjonalnie możesz ustawić łatwe w użyciu nazwy kroków w raporcie ścieżki płatności. Aby to zrobić, w sekcji administracyjnej interfejsu internetowego możesz skonfigurować Ustawienia e-commerce.
1. Pomiary kroków procesu płatności
Na każdym etapie procesu płatności musisz zaimplementować odpowiedni kod, który będzie wysyłać dane do Google Analytics:
Pole
step
W przypadku każdego mierzonego etapu procesu płatności należy podać wartość
step
. Ta wartość służy do mapowania działań związanych z 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łaniemcheckout
, aby rejestrować te informacje. Może to być na przykład domyślny typ płatności w przypadku danego użytkownika (np.Visa
).Pomiar etapu procesu płatności
Aby mierzyć etap płatności, użyj atrybutu
ec:addProduct
dla każdego produktu, aec:setAction
wskaż etap płatności. W razie potrzebyec:setAction
może wykorzystać dodatkowy elementactionFieldObject
do opisania etapu płatności za pomocą elementówstep
ioption
.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:
ga('ec:addProduct', { // Provide product details in an productFieldObject. 'id': 'P12345', // Product ID (string). 'name': 'Android Warhol T-Shirt', // Product name (string). 'category': 'Apparel', // Product category (string). 'brand': 'Google', // Product brand (string). 'variant': 'black', // Product variant (string). 'price': '29.20', // Product price (number). 'quantity': 1 // Product quantity (number). }); // Add the step number and additional info about the checkout to the action. ga('ec:setAction','checkout', { 'step': 1, 'option': 'Visa' });
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 etap procesu płatności został zmierzony podczas początkowej odsłony strony, 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ć opcję płatności, użyj funkcji ec:setAction
, by wskazać właściwość checkout_option
i podać numer kroku oraz opis opcji.
Warto mierzyć to działanie, gdy użytkownik kliknie, aby przejść do następnego etapu procesu płatności. Na przykład:
// (On "Next" button click)
ga('ec:setAction', 'checkout_option', {'step': 2, 'option': 'FedEx'});
ga('send', 'event', 'Checkout', 'Option', {
hitCallback: function() {
// 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ć etykietami każdy krok płatności, który chcesz objąć pomiarem.
Pomiary reklam wewnętrznych
Wtyczka do Ulepszonego e-commerce umożliwia pomiar wyświetleń i kliknięć reklam wewnętrznych, takich jak banery wyświetlane w celu promowania sprzedaży w innej sekcji witryny.
Wyświetlenia promocji
Wyświetlenia reklam wewnętrznych są zwykle mierzone podczas wczytywania strony i są wysyłane wraz z początkową odsłoną za pomocą polecenia ec:addPromo
. Na przykład:
ga('ec:addPromo', { // Promo details provided in a promoFieldObject.
'id': 'PROMO_1234', // Promotion ID. Required (string).
'name': 'Summer Sale', // Promotion name (string).
'creative': 'summer_banner2', // Creative (string).
'position': 'banner_slot1' // Position (string).
});
Kliknięcia promocji
Kliknięcia promocji wewnętrznych można mierzyć, ustawiając działanie promo_click
. Na przykład:
// Identify the promotion that was clicked.
ga('ec:addPromo', {
'id': 'PROMO_1234',
'name': 'Summer Sale',
'creative': 'summer_banner2',
'position': 'banner_slot1'
});
// Send the promo_click action with an event.
ga('ec:setAction', 'promo_click');
ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');
Aby np. mierzyć stronę ze szczegółami produktu obejmującymi wyświetlenie i kliknięcie promocji, najpierw wyślij dane o produktach i wyświetleniach z początkową odsłoną, a potem w osobnym zdarzeniu wyślij dane o kliknięciach promocji:
// 1. Send product and impression data with pageview.
ga('ec:addProduct', {
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'position': 1, // Product position (number).
});
// The impression from the Related Products section.
ga('ec:addImpression', {
'id': 'P12345', // Product ID (string).
'name': 'Android Warhol T-Shirt', // Product name (string).
'category': 'Apparel/T-Shirts', // Product category (string).
'brand': 'Google', // Product brand (string).
'variant': 'Black', // Product variant (string).
'list': 'Related Products', // Product list (string).
'position': 1, // Product position (number).
});
ga('ec:setAction', 'detail'); // Detail action.
ga('send', 'pageview'); // Send the product data with initial pageview.
// 2. Send the promo click data when the promo click occurs.
// Call this function when promo click occurs.
function onPromoClick() {
ga('ec:addPromo', {
'id': 'PROMO_1234',
'name': 'Summer Sale',
'creative': 'summer_banner2',
'position': 'banner_slot1'
});
// Send the promo_click action with an event.
ga('ec:setAction', 'promo_click');
ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');
}
promoFieldObject
musi mieć wartość name
lub id
. Pozostałe wartości są opcjonalne i nie trzeba ich ustawiać.
Pełny przykład
Poniższe fragmenty kodu pokazują, jak za pomocą wtyczki Ulepszone e-commerce można mierzyć cykl życia e-commerce jednego produktu od pierwszego wyświetlenia do transakcji.
Pomiar wyświetleń produktu
W tym przykładzie użytkownik po raz pierwszy wyświetla produkt na liście wyników wyszukiwania. Aby zmierzyć wyświetlenie tego produktu, użyj polecenia ec:addImpression
i podaj szczegóły produktu w impressionFieldObject
:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('ec:addImpression', {
'id': 'P12345', // Product details are provided in an impressionFieldObject.
'name': 'Android Warhol T-Shirt',
'category': 'Apparel/T-Shirts',
'brand': 'Google',
'variant': 'black',
'list': 'Search Results',
'position': 1 // 'position' indicates the product position in the list.
});
ga('ec:addImpression', {
'id': 'P67890',
'name': 'YouTube Organic T-Shirt',
'category': 'Apparel/T-Shirts',
'brand': 'YouTube',
'variant': 'gray',
'list': 'Search Results',
'position': 2
});
ga('send', 'pageview'); // Send product impressions with initial pageview.
Pomiar kliknięcia produktu
Następnie użytkownik wyraża zainteresowanie danym produktem i klika informacje o nim, aby wyświetlić więcej szczegółów.
Do pomiaru kliknięcia produktu używaj tagów ec:addProduct
i ec:setAction
:
// Called when a link to a product is clicked.
function onProductClick() {
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black',
'position': 1
});
ga('ec:setAction', 'click', {list: 'Search Results'});
// Send click with an event, then send user to product page.
ga('send', 'event', 'UX', 'click', 'Results', {
hitCallback: function() {
document.location = '/product_details?id=P12345';
}
});
}
Link do usługi może zostać zaimplementowany w ten sposób:
<a href="/next-page.html"
onclick="onProductClick(); return !ga.loaded;">
Android Warhol T-Shirt
</a>
Pomiar widoku szczegółów produktu
Po kliknięciu informacji o produkcie użytkownik wyświetla stronę ze szczegółami produktu.
Aby mierzyć ten widok szczegółów produktu, użyj właściwości ec:addProduct
i ec:setAction
do określenia działania detail
:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black'
});
ga('ec:setAction', 'detail');
ga('send', 'pageview'); // Send product details view with the initial pageview.
Pomiar dodania lub usunięcia z koszyka
Użytkownik wyraża zamiar zakupu produktu, dodając go do koszyka.
Aby mierzyć dodanie lub usunięcie produktu z koszyka, użyj funkcji ec:addProduct
i ustaw typ add
lub remove
:
// Called when a product is added to a shopping cart.
function addToCart(product) {
ga('ec:addProduct', {
'id': product.id,
'name': product.name,
'category': product.category,
'brand': product.brand,
'variant': product.variant,
'price': product.price,
'quantity': product.qty
});
ga('ec:setAction', 'add');
ga('send', 'event', 'UX', 'click', 'add to cart'); // Send data using an event.
}
Pomiary procesu płatności
Teraz użytkownik może rozpocząć proces płatności, który w tym przykładzie obejmuje 2 kroki, każdy na osobnej stronie:
- Dodaj dane do płatności (payment.html).
- Dodaj szczegóły dostawy (shipping.html).
W razie potrzeby sprawdź, czy w sekcji Ustawienia e-commerce w sekcji „Administracja” interfejsu internetowego masz prawidłowo skonfigurowaną ścieżkę płatności. Na przykład:
Krok 1 - Płatność
Aby zmierzyć pierwszy krok procesu płatności, użyj właściwości ec:addProduct
dla każdego produktu w koszyku oraz ec:setAction
dla oznaczenia checkout
.
ec:setAction
pobiera actionFieldObject
, aby opisać krok płatności z liczbą i dodatkowymi informacjami o domyślnej formie płatności dla tego użytkownika, które zostały podane w polu option
:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
/**
* Called when the user begins the checkout process.
* @param {Array} cart An array representing the user's shopping cart.
*/
function checkout(cart) {
for(var i = 0; i < cart.length; i++) {
var product = cart[i];
ga('ec:addProduct', {
'id': product.id,
'name': product.name,
'category': product.category,
'brand': product.brand,
'variant': product.variant,
'price': product.price,
'quantity': product.qty
});
}
}
// In the case of checkout actions, an additional actionFieldObject can
// specify a checkout step and option.
ga('ec:setAction','checkout', {
'step': 1, // A value of 1 indicates this action is first checkout step.
'option': 'Visa' // Used to specify additional info about a checkout stage, e.g. payment method.
});
ga('send', 'pageview'); // Pageview for payment.html
Krok 2 - Wysyłka
Aby zmierzyć drugi etap procesu płatności, użyj właściwości ec:addProduct
dla każdego produktu w koszyku oraz ec:setAction
do wskazania przejścia do kasy. W tym przypadku nie mamy dodatkowych informacji o opcji dostawy wybranej podczas wysyłania początkowej odsłony, więc będziemy ją przetwarzać oddzielnie przy użyciu atrybutu ec:setAction
, aby wskazać właściwość checkout_option
.
// Measure checkout step 2:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
/**
* Called when the user begins the checkout process.
* @param {Array} cart An array representing the user's shopping cart.
*/
function checkout(cart) {
for(var i = 0; i < cart.length; i++) {
var product = cart[i];
ga('ec:addProduct', {
'id': product.id,
'name': product.name,
'category': product.category,
'brand': product.brand,
'variant': product.variant,
'price': product.price,
'quantity': product.qty
});
}
}
ga('ec:setAction','checkout', {'step': 2});
ga('send', 'pageview'); // Pageview for shipping.html
// Called when user has completed shipping options.
function onShippingComplete(stepNumber, shippingOption) {
ga('ec:setAction', 'checkout_option', {
'step': stepNumber,
'option': shippingOption
});
ga('send', 'event', 'Checkout', 'Option', {
hitCallback: function() {
// Advance to next page.
}
});
}
Formularz można zaimplementować w następujący sposób:
<a href="/next-page.html"
onclick="onShippingComplete(2, 'FedEx'); return !ga.loaded;">
Continue
</a>
Pomiar transakcji
Na koniec użytkownik realizuje proces płatności i przesyła zakup.
Aby mierzyć sprzedaż co najmniej jednego produktu, dodaj każdy z nich za pomocą polecenia ec:addProduct
, a potem użyj funkcji ec:setAction
, aby określić purchase
. Informacje na poziomie transakcji, takie jak łączne przychody, podatki itp., można określić za pomocą właściwości actionFieldObject
. Na przykład:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black',
'price': '29.20',
'quantity': 1
});
// Transaction level information is provided via an actionFieldObject.
ga('ec:setAction', 'purchase', {
'id': 'T12345',
'affiliation': 'Google Store - Online',
'revenue': '37.39',
'tax': '2.85',
'shipping': '5.34',
'coupon': 'SUMMER2013' // User added a coupon at checkout.
});
ga('send', 'pageview'); // Send transaction data with initial pageview.
Określanie walut lokalnych
Domyślnie w interfejsie internetowym zarządzania Google Analytics możesz skonfigurować wspólną, globalną walutę dla wszystkich transakcji i elementów. Domyślnie we wszystkich elementach i transakcjach używana jest waluta globalna. W przypadku witryn, które realizują transakcje w wielu walutach, wtyczka e-commerce umożliwia określenie lokalnej waluty transakcji.
Walutę lokalną należy podać w standardzie ISO 4217
. Pełną listę obsługiwanych walut do konwersji znajdziesz na stronie Informacje o kodach walut.
Waluty lokalne są określane za pomocą właściwości skryptu śledzenia currencyCode
. Na przykład ten tracker przesyła wartości walut w euro:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');
ga('set', 'currencyCode', 'EUR'); // Set currency to Euros.
ga('ec:addProduct', {
'id': 'P12345',
'name': 'Android Warhol T-Shirt',
'category': 'Apparel',
'brand': 'Google',
'variant': 'black',
'price': '21.89',
'quantity': 1
});
ga('ec:setAction', 'purchase', {
id: 'T12345',
affiliation: 'Google Store - Online',
revenue: '28.03',
tax: '2.14',
shipping: '4.00',
coupon: 'SUMMER2013'
});
ga('send', 'pageview');