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

# Costruire le strategie

> Crea, configura e gestisci le Strategie dalla dashboard di Aftersell — senza bisogno di codice.

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

La dashboard di Aftersell fornisce un'interfaccia visuale per costruire e gestire le Strategie. Puoi creare strategie, definire regole di targeting con i trigger, assegnare prodotti da raccomandare e configurare il comportamento catch all - tutto senza scrivere codice.

Questa guida illustra il processo completo di creazione di una Strategia nell'interfaccia.

***

<div id="navigating-to-strategies">
  ## Accedere alle Strategie
</div>

1. Accedi ad Aftersell.
2. Clicca su **Strategies** nella barra laterale sinistra.
3. Vedrai un elenco delle tue Strategie esistenti, oppure uno stato vuoto che ti invita a creare la prima.

***

<div id="creating-a-new-strategy">
  ## Creare una nuova Strategia
</div>

1. Clicca su **Add Strategy**.
2. Verrai portato all'editor delle Strategie dove puoi aggiungere regole.

<Tip>
  Clicca sull'**icona a matita** in alto a sinistra nell'editor delle Strategie per dare alla tua Strategia un nome descrittivo. Un nome chiaro rende più facile identificare le strategie nella dashboard in seguito.
</Tip>

***

<div id="adding-rules">
  ## Aggiungere regole
</div>

Ogni Strategia contiene una o più **regole**. Una regola è composta da:

* **Trigger** - il "quando" - i criteri che devono essere soddisfatti perché la regola corrisponda.
* **Azioni** - il "quindi" - l'esperienza restituita quando la regola corrisponde.

<div id="defining-triggers">
  ### Definire i trigger
</div>

I trigger determinano quando una regola si attiva. Puoi combinare fino a cinque trigger in una singola regola. Un unico interruttore **AND** / **OR** si applica all'intero insieme di condizioni: con **AND**, ogni trigger deve corrispondere; con **OR**, basta che un solo trigger corrisponda. I tipi di trigger disponibili includono:

<div id="product-triggers">
  #### Trigger di prodotto
</div>

Targettizza in base ai prodotti nel contesto (il carrello dell'acquirente, l'ordine appena completato o il prodotto visualizzato):

* **Specific product(s)** - corrisponde a specifici prodotti Shopify per ID
* **Collection** - corrisponde a prodotti appartenenti a specifiche collezioni
* **Tag(s)** - corrisponde a prodotti con tag specifici (es. "sale", "summer")
* **Title** - corrisponde al titolo del prodotto
* **Vendor** - corrisponde al nome del fornitore/brand
* **Type** - corrisponde al campo tipo di prodotto (es. "Apparel", "Electronics")
* **Handle** - corrisponde allo slug URL del prodotto
* **Metafield** - corrisponde a coppie namespace/chiave/valore di metafield personalizzati
* **Selling plan** - corrisponde a prodotti "subscription" o "one-time". Viene valutato solo quando il contesto della richiesta fornisce un piano di vendita per il prodotto - le superfici di upsell al checkout e post-acquisto di Aftersell non lo inviano, quindi il trigger non corrisponderà lì a meno che un'integrazione personalizzata non lo fornisca esplicitamente

<div id="customer-triggers">
  #### Trigger cliente
</div>

Targettizza in base a chi è l'acquirente:

* **Customer tag** - es. "VIP", "loyalty-gold"
* **Country code** - paese di fatturazione
* **Province code** - provincia/stato di fatturazione
* **Locale** - lingua del cliente (es. "en-US")
* **Accepts marketing** - stato di consenso al marketing
* **Order count** - numero di ordini precedenti
* **Total spent** - spesa totale nel tempo

<div id="cart-triggers">
  #### Trigger carrello
</div>

Targettizza in base allo stato complessivo del carrello:

* **Cart subtotal** - es. subtotale superiore a \$50
* **Item count** - quantità totale di articoli nel carrello
* **Line count** - numero di righe distinte
* **Cart attribute** - attributi personalizzati del carrello impostati tramite l'API cart di Shopify
* **Cart note** - il campo nota del carrello

<div id="location-triggers">
  #### Trigger di località
</div>

Targettizza in base a dove l'acquirente spedisce, e alla valuta del negozio:

* **Shipping country** - paese di destinazione della spedizione
* **Shipping province** - provincia/stato di destinazione della spedizione
* **Shipping method** - metodo di spedizione selezionato
* **Store currency** - il codice della valuta attiva del negozio

<div id="marketing-triggers">
  #### Trigger di marketing
</div>

Targettizza in base all'URL della pagina su cui è arrivato l'acquirente:

* **URL** - corrisponde a una sottostringa dell'URL di atterraggio, così puoi targettizzare una specifica campagna o canale abbinando un parametro incorporato nell'URL (es. `utm_source=newsletter`)

<div id="time-triggers">
  #### Trigger temporali
</div>

Targettizza in base a quando la richiesta viene valutata, nell'orario del negozio:

* **Day of week** - il giorno corrente
* **Hour of day** - l'ora corrente

<div id="dynamic-triggers">
  #### Trigger dinamici
</div>

* **Always match** - un trigger senza condizione che si attiva sempre. Usalo per far eseguire una regola a ogni richiesta (è diverso dal [Catch all](#configuring-a-catch-all) a livello di strategia, che si attiva solo quando nessun'altra regola corrisponde).

<Note>
  Non tutti i trigger sono popolati su ogni superficie. Il checkout, ad esempio, invia solo il contesto di prodotto e carrello - i trigger cliente, località e marketing non corrisponderanno lì. Consulta le guide [Implementare le Strategie](/it/aftersell/implementing_strategies_post_purchase_upsells) per sapere cosa invia ciascuna superficie.
</Note>

<div id="operators">
  #### Operatori
</div>

Ogni trigger usa un **operatore** per definire come viene confrontato il valore. Gli operatori disponibili dipendono dal tipo di trigger.

| Operatore                    | Descrizione                                                                                                                                        |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Equals**                   | Corrisponde quando il campo è esattamente il valore che specifichi - es. vendor uguale a "Nike".                                                   |
| **Does not equal**           | Corrisponde quando il campo è qualsiasi cosa diversa dal valore che specifichi - utile per escludere un tipo di prodotto o un fornitore specifico. |
| **Contains any**             | Corrisponde quando un campo multi-valore include almeno un valore del tuo elenco - es. un prodotto appartiene ad almeno una di diverse collezioni. |
| **Does not contain any**     | Corrisponde quando un campo multi-valore non include nessuno dei valori del tuo elenco - es. escludi prodotti con tag "final-sale".                |
| **Contains all**             | Corrisponde quando un campo multi-valore include ogni valore del tuo elenco - es. un prodotto deve avere sia il tag "sale" sia il tag "summer".    |
| **Does not contain all**     | Corrisponde quando in un campo multi-valore manca almeno uno dei valori del tuo elenco.                                                            |
| **Contains**                 | Corrisponde quando un campo di testo include il tuo valore come sottostringa - es. il titolo contiene "Gift".                                      |
| **Does not contain**         | Corrisponde quando un campo di testo non include il tuo valore.                                                                                    |
| **Greater than**             | Corrisponde quando un campo numerico supera il tuo valore - es. il subtotale del carrello è superiore a \$75.                                      |
| **Less than**                | Corrisponde quando un campo numerico è inferiore al tuo valore - es. il numero di ordini è inferiore a 2 (acquirenti al primo acquisto).           |
| **Greater than or equal to** | Corrisponde quando un campo numerico raggiunge o supera il tuo valore - es. la spesa totale è di almeno \$500.                                     |
| **Less than or equal to**    | Corrisponde quando un campo numerico è pari o inferiore al tuo valore - es. il numero di articoli nel carrello non supera 3.                       |

Non tutti gli operatori sono disponibili per ogni trigger:

* Gli **operatori di elenco** (**Contains any / all** e le loro negazioni) si applicano a campi multi-valore come tag, collezioni, tag cliente e prodotti specifici.
* Gli **operatori di testo** (**Equals**, **Contains** e le loro negazioni) si applicano a campi di testo a valore singolo come titolo, fornitore, handle, lingua, paese e URL.
* Gli **operatori numerici** si applicano a campi come subtotale del carrello, numero di articoli, numero di righe, numero di ordini, spesa totale e ora del giorno. Gli operatori numerici non hanno varianti "does not".
* Alcuni campi supportano solo **Equals** e **Does not equal** - selling plan, day of week e accepts marketing.

<div id="defining-actions">
  ### Definire le azioni
</div>

Le azioni creano l'esperienza che vuoi offrire al cliente. È qui che decidi quali prodotti mostrare, come mostrarli e quali dati aggiuntivi passare insieme ad essi. Una regola può avere più azioni configurate insieme per costruire l'esperienza completa.

Per ogni regola, tutte le azioni configurate contribuiscono a un unico pool combinato. Ad esempio, una regola con un'azione di prodotti specifici, un'azione di collezione e un'azione basata sui tag restituirà prodotti da tutte e tre le fonti insieme. Se un prodotto corrisponde a più fonti, viene deduplicato.

<div id="product-actions">
  #### Azioni di prodotto
</div>

Gli stessi attributi di prodotto disponibili sul lato trigger sono disponibili anche nella definizione delle azioni. Puoi restituire prodotti in base a:

* **Specific products** - scegli manualmente singoli prodotti dal tuo catalogo Shopify.
* **Collection** - restituisce tutti i prodotti appartenenti a una collezione specifica.
* **Product attributes** - restituisce prodotti che corrispondono a criteri come tag, fornitore, tipo di prodotto o metafield - gli stessi tipi di attributi usati nei trigger.

<div id="dynamic-actions">
  #### Azioni dinamiche
</div>

Le azioni dinamiche cambiano ciò che viene restituito in base a segnali in tempo reale anziché a un elenco fisso di prodotti. I tipi di azioni dinamiche disponibili includono:

* **Most popular** - i prodotti più performanti del tuo negozio per volume di vendite, a livello di negozio o limitati a una collezione.
* **Recently purchased** - prodotti acquistati di recente in tutto il negozio.
* **Inherit from when** - riutilizza i trigger della regola stessa (il "quando") come selettore di prodotti, così i prodotti restituiti corrispondono agli stessi criteri per cui la regola si è attivata.
* **AI Recommendations** - suggerimenti personalizzati generati dal modello di raccomandazione di Aftersell.

<div id="filtering-actions">
  #### Azioni di filtro
</div>

Una volta assemblato il pool di prodotti, puoi configurare quanti prodotti restituire e in quale ordine:

* **Sort** - controlla quali prodotti vengono selezionati:
  * **Random** - una selezione casuale.
  * **Price: high → low** - vengono restituiti prima i prodotti più costosi.
  * **Price: low → high** - vengono restituiti prima i prodotti meno costosi.
* **Amount/Limit** - imposta il numero massimo di prodotti da restituire.

<Info>
  Prima viene applicato Sort, poi Amount/Limit. Ad esempio, se il tuo ordinamento è impostato su **Random**, l'intero pool di prodotti viene randomizzato prima dell'applicazione del limite - quindi ottieni sempre una selezione casuale, non gli stessi prodotti in ordine casuale.
</Info>

<div id="key-value-actions">
  #### Azioni chiave-valore
</div>

Facoltativamente, puoi allegare coppie chiave-valore a una regola. Quando la regola corrisponde, queste vengono restituite in `meta.data` nella risposta dell'API insieme ai risultati dei prodotti. Usi comuni includono:

* Testo di banner promozionali
* Etichette di campagna per le analytics

<Note>
  Se più regole corrispondono ed emettono la stessa chiave, vince il valore della prima regola corrispondente - le regole successive non possono sovrascriverlo.
</Note>

***

<div id="rule-priority-and-evaluation-order">
  ## Priorità delle regole e ordine di valutazione
</div>

Le regole all'interno di una Strategia vengono valutate in step gerarchici e sequenziali. Lo Step 1 viene valutato per primo, e così via. Puoi riordinare le regole trascinandole nell'editor delle Strategie. Il motore di valutazione:

1. Valuta i trigger di ogni regola rispetto al contesto fornito.
2. Raccoglie i prodotti da tutte le regole corrispondenti.
3. Deduplica e limita il risultato al massimo configurato (predefinito: 20 prodotti).

***

<div id="configuring-a-catch-all">
  ## Configurare un Catch all
</div>

Il Catch all è una regola speciale che funge da step finale in ogni valutazione di una Strategia. Non ha trigger e si attiva automaticamente se nessun'altra regola della Strategia corrisponde alla richiesta corrente.

Quando è abilitato, il Catch all garantisce che il tuo slot di raccomandazione non sia mai vuoto. La sua azione può essere configurata usando qualsiasi tipo di azione disponibile per le regole normali - prodotti specifici, collezioni, azioni dinamiche, ecc.

* **Abilita/disabilita** - attiva o disattiva la regola Catch all per la Strategia. Quando è disabilitata, le richieste che non corrispondono a nessuna regola restituiranno un risultato vuoto.
* **Configura le azioni** - definisci cosa restituire usando qualsiasi combinazione dei tipi di azione disponibili, come per qualsiasi altra regola.

Quando il Catch all si attiva, la risposta dell'API indicherà `resolution.fallbackUsed: true`.

***

<div id="global-filters">
  ## Filtri globali
</div>

I filtri globali rimuovono i prodotti dall'idoneità alla selezione in tutte le regole di una Strategia. Puoi accedervi tramite l'**icona del filtro** accanto al nome della strategia in alto a sinistra nell'editor delle Strategie.

Filtri globali disponibili:

* **Exclude out of stock** - esclude automaticamente qualsiasi prodotto attualmente non disponibile per l'acquisto.
* **Exclude input products** - esclude il/i prodotto/i che hanno attivato la regola (es. il prodotto che un acquirente sta visualizzando su una PDP), così non raccomandi mai lo stesso prodotto che l'acquirente sta già guardando.
* **Exclude by product tag** - esclude i prodotti con tag specifici.
* **Exclude by metafield** - esclude i prodotti corrispondenti a uno specifico namespace/chiave/valore di metafield.
* **Exclude by product ID** - esclude prodotti specifici per ID.
* **Require stock at location** - mantiene solo i prodotti che hanno inventario disponibile in una località scelta (richiede permessi di lettura di inventario e località).

***

<div id="validation-and-error-states">
  ## Convalida e stati di errore
</div>

Una Strategia non può essere salvata se una regola è incompleta. Ogni regola necessita di almeno una condizione (o del trigger **Always match**) e di almeno un'azione; se manca una delle due, gli errori appariranno direttamente sulla regola in questione evidenziando cosa deve essere risolto.

Per rimuovere l'errore e salvare la Strategia, puoi:

* **Completare la regola** - aggiungi il trigger e/o l'azione mancante.
* **Eliminare la regola** - rimuovila del tutto se non è più necessaria.

L'editor delle Strategie non consentirà il salvataggio finché tutte le regole non saranno valide.
