Przegląd śledzenia e-commerce
Ważne! Śledzenie e-Commerce jest dostępne tylko od subskrypcji Business.
Śledzenie e-commerce w Trackboxx obejmuje całą aktywność w Twoim sklepie internetowym, podobnie jak raporty e-commerce w Google Analytics.
Rejestrowane są również następujące dane:
- Przychody z poszczególnych produktów
- Najlepszy kanał (na podstawie sprzedaży)
- Porzucone koszyki
- Najlepiej sprzedający się produkt
- Najlepszy dzień w wybranym okresie
- Najczęściej oglądane produkty
- Lista wszystkich zamówień wraz z odpowiednią stroną wejściową, czyli pierwszą stroną otwartą przez odwiedzającego podczas wizyty
- Wartość sprzedaży według kanału (np. Facebook lub strony odsyłające), kraju i regionu, źródła UTM, przeglądarki i urządzenia
Możesz filtrować i sortować wszystkie dane, aby szczegółowo analizować wyniki swojego sklepu internetowego.
Każda sekcja ma widok standardowy i szczegółowy.
Dzięki temu możesz analizować dane z innej perspektywy.

Wykorzystanie / aktywacja śledzenia e-commerce
Śledzenie e-commerce jest automatycznie dostępne od taryfy Business.
Integracja kodu do śledzenia e-commerce
Aby śledzenie e-commerce działało, należy zintegrować z witryną dodatkowe skrypty.
Zasadniczo istnieją dwa sposoby integracji tych skryptów z witryną:
- Integracja ręczna
- Integracja za pomocą odpowiedniej wtyczki
Integracja ręczna
Ręczna integracja wymaga wiedzy programistycznej i powinna być przeprowadzana wyłącznie przez doświadczonych deweloperów.
Ten przewodnik opisuje, jak ręcznie zintegrować śledzenie e-commerce Trackboxx ze sklepem - niezależnie od tego, czy korzystasz z niestandardowego systemu, Shopify, Shopware, Magento czy innego sklepu. Dla WooCommerce dostępna jest oficjalna wtyczka, która automatycznie uruchamia wszystkie opisane tutaj zdarzenia.
Podstawowa logika: Co oznacza trackboxx('Purchase', [...])?
Zanim przejdziemy do poszczególnych zdarzeń, trzeba wyjaśnić jedną kwestię, która — jak pokazuje doświadczenie — jest najczęściej błędnie interpretowana:
Ważne: trackboxx('Purchase', [...]) nie jest pojedynczym zdarzeniem, lecz ogólnym wywołaniem dla wszystkich interakcji e-commerce. Pierwszy obiekt w tablicy określa śledzone zdarzenie za pomocą swojego pola type:
{ type: 'ViewProduct' }- Strona szczegółów produktu{ type: 'AddToCart' }- Produkt dodany do koszyka{ type: 'ViewCart' }- Wyświetl stronę koszyka zakupów{ type: 'order' }- Zamówienie zrealizowane
Oznaczenie 'Purchase' w wywołaniu funkcji oznacza jedynie kategorię akcji „e-commerce” i pozostaje niezmienne, niezależnie od tego, czy śledzisz wyświetlenie produktu, dodanie go do koszyka czy faktyczny zakup.
Cztery zdarzenia e-commerce w skrócie
1. ViewProduct – Strona szczegółów produktu
Wyzwalacz: Podczas wywoływania strony szczegółów produktu.
Minimalne dane: Nazwa produktu i cena jednostkowa.
<script>
trackboxx('Purchase', [
{ type: 'ViewProduct' },
{ type: 'product', name: '%%PRODUCT_NAME%%', price: 99.90 }
]);
</script>Język kodu: HTML, XML (xml) Uwagi:
price= Cena jednostkowa produktu (wartość liczbowa z kropką jako separatorem dziesiętnym).- Opcjonalne pola dodatkowe:
sku,category. - W przypadku wariantów lub pakietów przekaż pełną nazwę wariantu wraz z atrybutami (np. „T-shirt — czerwony, L”), aby dane w raportach były spójnie grupowane.
2. AddToCart – Produkt dodany do koszyka
Wyzwalanie: Po pomyślnym wykonaniu operacji „Dodaj do koszyka”, a nie po samym kliknięciu.
Minimalne dane: Nazwa produktu i cena jednostkowa.
<script>
trackboxx('Purchase', [
{ type: 'AddToCart' },
{ type: 'product', name: '%%PRODUCT_NAME%%', price: 19.99 }
]);
</script>Język kodu: HTML, XML (xml) Uwagi dotyczące czasu - w zależności od typu sklepu:
- Niestandardowe sklepy i koszyki AJAX: Wywołaj zdarzenie w funkcji zwrotnej uruchamianej po pomyślnym dodaniu produktu do koszyka, a nie w procedurze obsługi kliknięcia. Dzięki temu zdarzenie śledzenia nie zostanie zarejestrowane, jeśli produkt nie trafi do koszyka z powodu kontroli zapasów, błędu walidacji lub błędu sieci.
- Sklepy po stronie serwera z przekierowaniem: Wyzwól zdarzenie raz na następnej stronie po pomyślnym dodaniu.
- Prosta integracja za pomocą kliknięcia przycisku: dozwolone, ale tylko jeśli kliknięcie rzeczywiście prowadzi do pomyślnego dodania produktu, na przykład po sprawdzeniu, czy przycisk jest wyłączony dla wyprzedanych produktów.
- Deduplikacja: Wysyłaj AddToCart tylko raz na daną akcję, bez ponownego zliczania przy przeładowaniu strony lub powrocie do niej.
3. ViewCart – Strona koszyka
Wyzwalacz: Przy otwarciu strony koszyka.
Minimalne dane: Łączna kwota koszyka (amount). Opcjonalnie: wszystkie produkty w koszyku jako osobne obiekty.
<script>
trackboxx('Purchase', [
{ type: 'ViewCart' },
{ type: 'cart', amount: 149.70 },
{ type: 'product', name: 'Produkt A', price: 99.90 },
{ type: 'product', name: 'Produkt B', price: 49.80 }
]);
</script>Język kodu: HTML, XML (xml) Uwagi:
amount= całkowita kwota koszyka zakupów. Domyślnie: netto (odpowiada zachowaniu oficjalnej wtyczki WooCommerce).- Jeśli Twój sklep stosuje ceny brutto, wartości brutto również są dozwolone. Kluczowa jest spójność w ramach jednego zdarzenia:
cart.amounti wszystkie wartościproduct.pricemuszą być obliczane na tej samej podstawie, wszystkie netto albo wszystkie brutto. - Do każdej pozycji w koszyku dodaj osobny obiekt
product. - Wartość
pricedla produktu odpowiada tutaj sumie danej pozycji (cena jednostkowa × ilość); zobacz sekcję „Logika ceny i ilość”.
4. Purchase – Zakończenie zamówienia (strona z podziękowaniem)
Wyzwalacz: Na stronie potwierdzenia zamówienia po pomyślnym dokonaniu płatności - dokładnie raz na zamówienie.
Minimalne dane: Identyfikator zamówienia, łączna kwota, wszystkie zakupione produkty.
<script>
trackboxx('Purchase', [
{ type: 'order', id: 'ORDER_ID', total: 149.70 },
{ type: 'product', name: 'Produkt A', price: 99.90 },
{ type: 'product', name: 'Produkt B', price: 49.80 }
]);
</script>Język kodu: HTML, XML (xml) Opcjonalnie — z kuponem: Dla każdego wykorzystanego kuponu dodaj dodatkowy obiekt coupon.
<script>
trackboxx('Purchase', [
{ type: 'order', id: '12345', total: 149.70 },
{ type: 'coupon', name: 'SUMMER10', discount: 10.00 },
{ type: 'product', name: 'Produkt A', price: 99.90 },
{ type: 'product', name: 'Produkt B', price: 49.80 }
]);
</script>Język kodu: HTML, XML (xml) Uwagi:
- Zdarzenie Purchase nie ma poprzedzającego znacznika zdarzenia, takiego jak ViewProduct lub AddToCart — samo zdarzenie identyfikuje obiekt
order. order.id= unikalny identyfikator zamówienia z systemu sklepu.order.total= całkowita wartość zamówienia (zalecana jest końcowa kwota brutto obejmująca wysyłkę i podatki, ale musi być zgodna z wartościami product.price).product.price= Suma pozycji (cena jednostkowa × ilość), a nie cena jednostkowa.- Zapobiegaj wielokrotnemu wywołaniu zdarzenia przy przeładowaniu strony, na przykład za pomocą flagi po stronie serwera lub znacznika sesji.
Logika ceny i ilość
Trackboxx nie używa osobnego pola quantity. Ilości są uwzględniane pośrednio w cenie. Ta reguła jest wiążąca i należy ją stosować w ten sam sposób w każdej integracji:
| Zdarzenie | Znaczenie price |
|---|---|
ViewProduct | Cena jednostkowa produktu |
AddToCart | Cena jednostkowa produktu |
ViewCart | Suma pozycji (cena jednostkowa × ilość) |
Purchase (order) | Suma pozycji (cena jednostkowa × ilość) |
Przykład: Trzy identyczne produkty w koszyku, po 19,99 € każdy, są wysyłane dla ViewCart i Purchase jako jeden obiekt product z price: 59.97, a nie jako trzy osobne obiekty i bez pola quantity.
Kolejność obiektów w tablicy
Aby zapewnić czystą i spójną integrację, zalecamy następującą sekwencję obiektów:
- Znacznik zdarzenia lub obiekt
order(ViewProduct/AddToCart/ViewCart/order) - Obiekt
cart(tylko dla ViewCart) - Obiekty
coupon(tylko dla Purchase, jeśli występują) - Obiekty
product
Najlepsze praktyki
- Deduplikacja: Wysyłaj każde zdarzenie tylko raz na rzeczywistą akcję: unikaj podwójnego śledzenia przy przeładowaniu strony, powrocie do niej lub ponowieniu żądania AJAX.
- Moment wywołania: Wywołuj
ViewProductiViewCartpodczas ładowania strony,AddToCartpo potwierdzonym dodaniu produktu do koszyka, aPurchasetylko raz na stronie z podziękowaniem. - Ceny i kwoty: Przekazuj je jako
Number, a nie ciąg znaków, z kropką jako separatorem dziesiętnym (np.19.99, nie"19,99"). - Spójność: Wybierz dla sklepu wartości netto albo brutto i stosuj ten wybór konsekwentnie dla
cart.amount,product.priceiorder.total. - Ochrona danych: Nigdy nie przekazuj danych osobowych: adresów e-mail, imion i nazwisk, numerów klientów ani adresów. Respektuj udzieloną zgodę.
Szybka lista kontrolna dla systemu sklepowego
- WooCommerce: Użyj oficjalnej wtyczki Trackboxx. Uruchamia ona wszystkie cztery zdarzenia (
ViewProduct,AddToCart,ViewCart,Purchase) automatycznie - bez konieczności ręcznej integracji. - Custom Shops: Po stronie serwera wstaw nazwę produktu, cenę i sumę jako zmienne w odpowiednim skrypcie inline.
- Shopify: Wstaw fragmenty kodu do szablonów (
product.liquid,cart.liquid, strona podziękowania po złożeniu zamówienia). W przypadkuAddToCartużyj funkcji zwrotnej wywoływanej po pomyślnym zakończeniu żądania AJAX. - Shopware / Magento: Podłącz wywołania do odpowiednich zdarzeń lub hooków w motywie albo wtyczce: strony produktu, strony koszyka, dodania produktu do koszyka i zakończenia zamówienia.
Odniesienie: Minimalne warianty
ViewProduct (minimalny)
trackboxx('Purchase', [
{ type: 'ViewProduct' },
{ type: 'product', name: 'Product Name 1', price: 19.99 }
]);Język kodu: JavaScript (javascript) AddToCart (minimalny)
trackboxx('Purchase', [
{ type: 'AddToCart' },
{ type: 'product', name: 'Product Name 1', price: 19.99 }
]);Język kodu: JavaScript (javascript) ViewCart (minimalny)
trackboxx('Purchase', [
{ type: 'ViewCart' },
{ type: 'cart', amount: 19.99 }
]);Język kodu: JavaScript (javascript) Purchase (wariant minimalny)
trackboxx('Purchase', [
{ type: 'order', id: 'ORDER_ID', total: 19.99 },
{ type: 'product', name: 'Product Name 1', price: 19.99 }
]);Język kodu: JavaScript (javascript) Krótki przegląd: Najważniejsze zasady
trackboxx('Purchase', [...])jest ogólnym wywołaniem e-commerce, a nie zdarzeniem.- Typ zdarzenia znajduje się w polu
typepierwszego obiektu w przekazywanych danych (payload), a nie w wywołaniu funkcji. - Wywołaj
AddToCartpo pomyślnym dodaniu produktu do koszyka, a nie po samym kliknięciu. cart.amountjest domyślnie wartością netto; wartości brutto są dozwolone, ale muszą być spójne w ramach zdarzenia.priceoznacza cenę jednostkową dlaViewProductiAddToCartoraz sumę pozycji dlaViewCartiPurchase.- Nie ma osobnego pola
quantity: ilości są uwzględniane w cenie. - Zdarzenie Purchase opiera się na
{ type: 'order' }, bez poprzedzającego znacznika zdarzenia. - Przekazuj ceny jako Number z kropką jako separatorem dziesiętnym, nigdy jako String.
- Nie przekazuj danych osobowych w payloadzie.
Integracja za pomocą wtyczki
Integracja za pomocą wtyczki jest obecnie możliwa z następującymi systemami:
- WordPress - Tutaj można pobrać wtyczkę.
- JTL - Tutaj można pobrać wtyczkę.
Będziemy wdrażać kolejne wtyczki krok po kroku.
Obecnie w trakcie wdrażania:
- ePages (już dostępne)
- Shopware
Wyświetlanie najczęściej oglądanych produktów
Aby wyświetlić te informacje, wykonaj następujące czynności:
- Kliknij ikonę koła zębatego, aby otworzyć ustawienia, i wybierz „Strony internetowe”.
- Kliknij trzy kropki obok nazwy odpowiedniej witryny.

W poniższym wyskakującym okienku mamy teraz 2 opcje użycia/konfiguracji tego wyjścia:
- Twoje produkty mają unikalną ścieżkę, na przykład: www.webseite.de/produkte/produkt-XYZ
W tym przykładzie ścieżka to „produkte”. Skorzystaj z pierwszej opcji i wpisz tę ścieżkę w odpowiednim polu:
Format będzie następujący: (.*)/produkte/(.*)
2. Jeśli nie ma jednoznacznej ścieżki, użyj pliku danych produktów Google. Taki plik jest zwykle już używany w sklepie internetowym.
Wystarczy wprowadzić ten kanał i zapisać go.

