> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aftersell.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Śledzenie zdarzeń dodania do koszyka Klaviyo w Upcart

> Ten artykuł wyjaśnia, jak włączyć dokładne śledzenie zdarzeń Klaviyo, gdy klienci dodają produkty do koszyka za pomocą Upcart.

<div id="overview">
  # Omówienie
</div>

Domyślnie Upcart przejmuje funkcjonalność koszyka Shopify, co może uniemożliwiać aplikacjom zewnętrznym, takim jak **Klaviyo**, wykrywanie aktualizacji koszyka. Na szczęście istnieją dwa niezawodne sposoby przywrócenia śledzenia **Add to Cart (ATC)** w Klaviyo przy zachowaniu aktywnego Upcart.

Zanim zaczniesz, upewnij się, że **Klaviyo Onsite Tracking** jest poprawnie skonfigurowane. Możesz skorzystać z ich przewodnika konfiguracji tutaj:\
👉 [Przewodnik konfiguracji Klaviyo Onsite Tracking](https://help.klaviyo.com/hc/en-us/articles/4425956184731)

***

<div id="option-1-use-ajax-compatibility-fastest-setup">
  ## Opcja 1: użyj zgodności AJAX (najszybsza konfiguracja)
</div>

Upcart zawiera ustawienie, które przywraca zgodność z innymi aplikacjami, udostępniając natywne zachowanie aktualizacji koszyka Shopify. Gdy jest włączone, Klaviyo może ponownie nasłuchiwać zdarzeń Add to Cart.

<div id="how-to-enable">
  ## Jak włączyć:
</div>

1. Przejdź do **Upcart > Cart Editor > Settings > Cart settings**
2. Przewiń do **Advanced Settings** i rozwiń tę sekcję
3. Zaznacz **Enhanced Ajax API compatibility**
4. Kliknij **Save** i przetestuj rezultat

⚠️ **Ważne: kompromisy związane z Enhanced AJAX API Compatibility**\
To ustawienie jest **domyślnie wyłączone** dla większości sklepów. Włącz je TYLKO wtedy, gdy Twój sklep używa niestandardowego API koszyka AJAX i Upcart nie przechwytuje zdarzeń dodania do koszyka. Gdy jest włączone, inne aplikacje zyskują większą kontrolę nad zachowaniem koszyka, co może powodować pętle przekierowań lub kierować klientów na stronę koszyka Shopify zamiast otwierać drawer Upcart. Jeśli włączenie tego ustawienia powoduje przekierowania, wyłącz je i przejdź do **opcji 2**, używając ręcznego API Upcart (`upcartRegisterAddToCart`).

Pełne wskazówki dotyczące tego ustawienia znajdziesz w artykule [Enhanced AJAX API Compatibility](/pl/upcart/enhanced_ajax_api_compatibility).

***

<div id="option-2-recommended-add-a-custom-klaviyo-script">
  ## Opcja 2 (zalecana): dodaj niestandardowy skrypt Klaviyo
</div>

Ta metoda daje Ci to, co najlepsze z obu światów: **Upcart zachowuje pełną kontrolę**, a **śledzenie Klaviyo nadal działa**.

<div id="steps">
  ## Kroki:
</div>

1. Otwórz **Upcart > Cart Editor > Settings**
2. Przewiń w dół do sekcji **Custom HTML**
3. Z listy rozwijanej wybierz **Scripts (Before Load)**
4. Wklej poniższy skrypt:

Nowoczesne API (zalecane):

```
<script>
  function TrackATC(){
    var _learnq = window._learnq || [];
    _learnq.push(['track', 'Added to Cart']);
    console.log("Klaviyo ATC");
  }

  window.upcartSubscribeAddedToCart(function(event) { TrackATC(); });
  window.upcartSubscribeUpsellsAddedToCart(function(event) { TrackATC(); });
</script>
```

<Warning>
  Wklej cały blok, łącznie z funkcją `TrackATC`. Subskrybent ją wywołuje, więc fragment zawierający tylko dwie linie `upcartSubscribe…` rzuca `Uncaught ReferenceError: TrackATC is not defined` przy każdym dodaniu do koszyka i nie wysyła niczego do Klaviyo.
</Warning>

Starsze API (nadal działa, ale jest przestarzałe):

```
<script>  
  function TrackATC(){  
    var _learnq = window._learnq || [];  
    fetch(`${window.location.origin}/cart.js`)  
      .then((res) =>  
        res.clone().json().then((data) => {  
          var cart = {  
            total_price: data.total_price / 100,  
            $value: data.total_price / 100,  
            total_discount: data.total_discount,  
            original_total_price: data.original_total_price / 100,  
            items: data.items,  
          };  
          _learnq.push(['track', 'Added to Cart', cart]);  
          console.log("Klaviyo ATC");  
        }).catch((e) => {  
          console.error('Klaviyo add to cart tracking failed', e);  
        })  
      );  
  }  
  
  window.upcartOnAddToCart = () => { TrackATC(); };  
  window.upcartOnAddUpsell = () => { TrackATC(); };  
</script>
```

***

<div id="what-this-does">
  ## Co to robi:
</div>

* Wysyła zdarzenie „Added to Cart” do Klaviyo za każdym razem, gdy produkt lub upsell zostaje dodany za pomocą Upcart
* Dodaje komunikat potwierdzający (`Klaviyo ATC`) do konsoli przeglądarki, dzięki czemu wiesz, że wszystko działa

***

<div id="how-to-test-your-setup">
  ## Jak przetestować konfigurację
</div>

Aby potwierdzić, że Twoja integracja z Klaviyo działa poprawnie:

* Skorzystaj z [przewodnika Klaviyo dotyczącego testowania zdarzeń Add to Cart](https://help.klaviyo.com/hc/en-us/articles/4425956184731)
* Użyj zakładki **Console** w przeglądarce, aby zweryfikować, że po dodaniu produktu pojawia się wpis „Klaviyo ATC”
* Sprawdź panel analityczny Klaviyo pod kątem danych o zdarzeniach ATC

Jeśli nadal nie widzisz danych śledzenia, potwierdź, że skrypty onsite Klaviyo są zainstalowane i włączone. W razie potrzeby skontaktuj się z [centrum pomocy Klaviyo](https://help.klaviyo.com/hc/en-us).

***

<div id="summary">
  ## Podsumowanie
</div>

|                                           |                                                   |                                             |
| ----------------------------------------- | ------------------------------------------------- | ------------------------------------------- |
| Metoda                                    | Zalety                                            | Kiedy używać                                |
| **Opcja 1** – włącz zgodność AJAX         | Najszybsza konfiguracja, bez kodu                 | Gdy inne aplikacje nie przeszkadzają        |
| **Opcja 2** – dodaj niestandardowy skrypt | Najbardziej niezawodna, Upcart zachowuje kontrolę | Gdy opcja 1 powoduje przekierowanie koszyka |

Jeśli używasz Klaviyo razem z Upcart, ten przewodnik pomoże Ci płynnie śledzić zdarzenia, zachowując nienaruszone doświadczenie cart drawer.

***

Potrzebujesz dodatkowej pomocy? Skontaktuj się z nami za pośrednictwem wsparcia w aplikacji.
