> ## 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.

# Tracciamento degli eventi di aggiunta al carrello di Klaviyo in Upcart

> Questo articolo spiega come attivare un tracciamento accurato degli eventi Klaviyo quando i clienti aggiungono articoli al carrello usando Upcart.

<div id="overview">
  # Panoramica
</div>

Di default, Upcart prende il controllo della funzionalità del carrello di Shopify, il che può impedire ad app di terze parti come **Klaviyo** di rilevare gli aggiornamenti del carrello. Fortunatamente, ci sono due modi affidabili per ripristinare il tracciamento **Add to Cart (ATC)** in Klaviyo mantenendo Upcart attivo.

Prima di iniziare, assicurati che il **Klaviyo Onsite Tracking** sia configurato correttamente. Puoi seguire la loro guida di configurazione qui:\
👉 [Guida alla configurazione del Klaviyo Onsite Tracking](https://help.klaviyo.com/hc/en-us/articles/4425956184731)

***

<div id="option-1-use-ajax-compatibility-fastest-setup">
  ## Opzione 1: Usa la compatibilità AJAX (configurazione più veloce)
</div>

Upcart include un'impostazione che ripristina la compatibilità con altre app esponendo il comportamento nativo di aggiornamento del carrello di Shopify. Quando è attivata, Klaviyo può di nuovo ascoltare gli eventi Add to Cart.

<div id="how-to-enable">
  ## Come attivarla:
</div>

1. Vai su **Upcart > Cart Editor > Settings > Cart settings**
2. Scorri fino a **Advanced Settings** ed espandila
3. Spunta **Enhanced Ajax API compatibility**
4. Clicca su **Save** e testa il risultato

⚠️ **Importante: compromessi dell'Enhanced AJAX API Compatibility**\
Questa impostazione è **disattivata di default** per la maggior parte dei negozi. Attivala SOLO se il tuo negozio usa un'API AJAX del carrello non standard e Upcart non intercetta gli eventi di aggiunta al carrello. Quando è attivata, le altre app ottengono più controllo sul comportamento del carrello, il che può causare loop di redirect o mandare i clienti alla pagina carrello di Shopify invece di aprire il drawer di Upcart. Se attivare questa impostazione causa redirect, disattivala e passa invece all'**Opzione 2**, usando l'API manuale di Upcart (`upcartRegisterAddToCart`).

Per una guida completa su questa impostazione, consulta [Enhanced AJAX API Compatibility](/it/upcart/enhanced_ajax_api_compatibility).

***

<div id="option-2-recommended-add-a-custom-klaviyo-script">
  ## Opzione 2 (consigliata): Aggiungi uno script Klaviyo personalizzato
</div>

Questo metodo ti offre il meglio di entrambi i mondi: **Upcart mantiene il pieno controllo** e **il tracciamento di Klaviyo continua a funzionare**.

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

1. Apri **Upcart > Cart Editor > Settings**
2. Scorri fino alla sezione **Custom HTML**
3. Dal menu a tendina, scegli **Scripts (Before Load)**
4. Incolla il seguente script:

API moderna (consigliata):

```
<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>
  Incolla l'intero blocco, inclusa la funzione `TrackATC`. Il subscriber la chiama, quindi uno snippet con solo le due righe `upcartSubscribe…` genera `Uncaught ReferenceError: TrackATC is not defined` a ogni aggiunta al carrello e non invia nulla a Klaviyo.
</Warning>

API legacy (funziona ancora ma è deprecata):

```
<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">
  ## Cosa fa:
</div>

* Invia un evento "Added to Cart" a Klaviyo ogni volta che un prodotto o un upsell viene aggiunto tramite Upcart
* Aggiunge un messaggio di conferma (`Klaviyo ATC`) alla console del tuo browser così sai che funziona

***

<div id="how-to-test-your-setup">
  ## Come testare la tua configurazione
</div>

Per confermare che la tua integrazione Klaviyo funzioni correttamente:

* Segui la [guida di Klaviyo per testare gli eventi Add to Cart](https://help.klaviyo.com/hc/en-us/articles/4425956184731)
* Usa la scheda **Console** del tuo browser per verificare che il log "Klaviyo ATC" appaia dopo aver aggiunto un prodotto
* Controlla la dashboard di analytics di Klaviyo per i dati degli eventi ATC

Se ancora non vedi dati di tracciamento, verifica che gli script onsite di Klaviyo siano installati e attivi. Per assistenza, contatta il [Klaviyo Help Center](https://help.klaviyo.com/hc/en-us).

***

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

|                                                      |                                                    |                                                |
| ---------------------------------------------------- | -------------------------------------------------- | ---------------------------------------------- |
| Metodo                                               | Vantaggi                                           | Quando usarlo                                  |
| **Opzione 1** – Attivare la compatibilità AJAX       | Configurazione più veloce, nessun codice richiesto | Quando altre app non interferiscono            |
| **Opzione 2** – Aggiungere uno script personalizzato | La più affidabile, Upcart resta al comando         | Quando l'Opzione 1 causa redirect del carrello |

Se usi Klaviyo e Upcart insieme, questa guida dovrebbe aiutarti a tracciare gli eventi senza problemi mantenendo intatta l'esperienza del tuo cart drawer.

***

Ti serve altro aiuto? Contattaci tramite il supporto in-app.
