# Condizioni di uscita e obiettivi

> Fai uscire i contatti da un’automazione appena acquistano o lasciano una lista, porta le esecuzioni a un obiettivo e sposta i contatti tra le automazioni.

Normalmente un’esecuzione percorre i suoi passaggi fino alla fine della sua diramazione. Le condizioni di uscita e gli obiettivi cambiano questo comportamento appena il contatto fa qualcosa, ovunque si trovi l’esecuzione, anche mentre è in attesa: una **condizione di uscita** termina l’esecuzione, e un **obiettivo** la porta avanti fino al passaggio obiettivo.

| Vuoi | Usa |
| --- | --- |
| Fermare i promemoria del carrello quando il contatto acquista | Una [condizione di uscita](#exit-conditions) sull’acquisto |
| Fermare una sequenza quando il contatto lascia la lista che l’ha avviata | [Uscita dalla lista](#leave-when-removed-from-the-audience) |
| Saltare i promemoria rimanenti e inviare invece un ringraziamento | Un [obiettivo](#goals) |
| Far uscire chi acquista da tutte le automazioni promozionali | Un passaggio [Remove from automations](#move-contacts-between-automations) |
| Fermare l’esecuzione di un contatto a mano o dalla tua app | [Annulla l’esecuzione o rimuovi il contatto](/it/docs/automations/runs/#cancel-a-run) |

I passaggi **Goal**, e le condizioni di uscita, gli obiettivi e le attese su [eventi di workspace o personalizzati](/it/docs/events/), sono inclusi nei piani Pro, Business e Custom. Con Pay as you go, salvare un’automazione che li aggiunge restituisce `403` con `"error": "plan_required"`. Le automazioni che li hanno già li mantengono dopo il passaggio a un piano inferiore.

## Condizioni di uscita

Le condizioni di uscita si trovano nella scheda **Settings** dell’automazione, in **Exit conditions**. Quando una di esse corrisponde per un contatto, la sua esecuzione in questa automazione viene annullata subito: i passaggi in attesa vengono scartati e non vengono eseguiti altri passaggi. Lo stato dell’esecuzione diventa **Canceled**, con la nota **Met an exit condition**.

Ce ne sono di due tipi:

- **Quando succede qualcosa:** un evento per il contatto, scelto come un [trigger](/it/docs/automations/triggers/#contact-triggers), con le sue opzioni. Ad esempio **Custom event** `purchase` inviato con l’[API degli eventi](/it/docs/events/send-events/) (gli eventi dello [script di tracciamento](/it/docs/events/tracking-script/#identify-visitors) non terminano le esecuzioni), **Tag added** `customer`, **Contact updated** con **Field that changed** `Purchased`, oppure **Unsubscribed**. Gli eventi personalizzati e gli ordini accettano un filtro facoltativo, ad esempio solo gli ordini con `total` maggiore di `50`.
- **Quando il contatto soddisfa delle regole:** regole sul contatto, come in un passaggio [Condition](/it/docs/automations/steps/#condition-ifelse). Ad esempio «ha il tag `customer`» o «**Purchased** è vero». Vengono controllate ogni volta che il contatto cambia e prima di ogni passaggio, quindi un contatto che soddisfa già la condizione non riceve mai l’email successiva, anche se la modifica è arrivata un attimo prima.

Le condizioni di uscita si applicano alle esecuzioni già in corso appena le salvi, continuano a funzionare mentre l’automazione è in pausa e richiedono un’automazione di tipo Contact. Un’automazione può averne fino a 20.

Il team di Emailit può anche far uscire i contatti con **Placed an order** e **Abandoned a cart** dall’[e-commerce](/it/docs/commerce/) e con **Removed from segment** per un [segmento tracciato](/it/docs/segments/tracked/), e usare le regole **Segment** e **Purchases** nelle condizioni. Queste funzioni sono in alpha, come l’e-commerce e i segmenti. I contatti che escono da un segmento perché qualcuno ne ha modificato le regole non escono dall’automazione.

### Uscita quando il contatto viene rimosso dalla lista

Per le automazioni avviate da **Added to audience**, attiva **Leave when removed or unsubscribed from the audience that started the run**. L’esecuzione di un contatto viene allora annullata quando il contatto viene rimosso da quella lista, si disiscrive da quella lista o si disiscrive da tutte le email di marketing, ad esempio quando il tuo shop lo rimuove da una lista «Abandoned carts» dopo un acquisto. La nota dell’esecuzione è **Left the audience**. Un passaggio **Remove from audience** o **Subscribe / unsubscribe** della stessa esecuzione non la termina.

Le automazioni di tipo Contact create nel pannello hanno questa opzione attiva. Quelle create con l’API ce l’hanno disattivata, a meno che tu non imposti `exit_on_audience_removal: true`. Senza questa opzione, un’esecuzione prosegue dopo che il contatto ha lasciato la lista; le email di marketing saltano comunque i contatti che si sono disiscritti.

### Con l’API

Imposta `settings.exit_conditions` quando [crei](/it/docs/api-reference/automations/create/) o [aggiorni](/it/docs/api-reference/automations/update/) l’automazione. Ogni voce è un criterio sull’evento (la chiave del trigger in `event` e le sue opzioni) oppure `{ "condition": { "match", "rules" } }`:

```json
{
  "settings": {
    "exit_on_audience_removal": true,
    "exit_conditions": [
      { "event": "contact.on_event", "event_name": "purchase" },
      { "event": "contact.on_event", "event_name": "c:order.completed", "filter": { "match": "all", "rules": [{ "field": "properties.total", "operator": "greater_than", "value": 50 }] } },
      { "event": "contact.tag_added", "tag": "customer" },
      { "condition": { "match": "all", "rules": [{ "field": "custom_fields.purchased", "operator": "is_true" }] } }
    ]
  }
}
```

## Obiettivi

Un passaggio **Goal** indica un punto che l’esecuzione deve raggiungere appena il contatto soddisfa l’obiettivo. Quando il contatto lo soddisfa, la sua esecuzione salta lì da dovunque si trovi: i passaggi e le attese intermedi vengono saltati (contrassegnati come **skipped** nell’esecuzione), l’obiettivo viene segnato come raggiunto e l’esecuzione prosegue con i passaggi successivi all’obiettivo. Gli obiettivi sono inclusi nei piani Pro, Business e Custom.

Ad esempio, una sequenza per il periodo di prova invia un consiglio ogni tre giorni, con un obiettivo «**Tag added** `paid`» verso la fine seguito da un’email di ringraziamento. Un contatto che passa al piano a pagamento il secondo giorno salta i consigli rimanenti e riceve subito il ringraziamento.

| Impostazione | Note |
| --- | --- |
| **Goal is met when** | **Something happens** (un evento per il contatto) oppure **The contact matches a condition** (controllata a ogni modifica del contatto). |
| **When a contact reaches the goal without meeting it** | **Continue anyway**, **Wait until the goal is met** (fino a 365 giorni, poi l’esecuzione termina) oppure **End the automation for them**. |

Un’esecuzione raggiunge ogni obiettivo al massimo una volta, e gli obiettivi all’interno di una diramazione di un [random split](/it/docs/automations/steps/#api-only-steps) non tornano poi allo split. Come le condizioni di uscita, gli obiettivi continuano a funzionare mentre l’automazione è in pausa.

Con l’API, un obiettivo è un passaggio `goal`: `{ "event": { "event": "contact.tag_added", "tag": "paid" }, "if_not_met": "continue" }` oppure `{ "condition": { ... } }`.

## Sposta i contatti tra le automazioni

- **Start automation** avvia un’altra automazione per il contatto. Attiva **Move the contact** per terminare poi l’esecuzione corrente.
- **Remove from automations** annulla le esecuzioni del contatto nelle altre automazioni che scegli, oppure in **Every other automation**.

Ad esempio, quando il tuo shop assegna con l’API il tag `customer` a chi acquista, un’automazione «Buyers» avviata da quel tag può rimuovere il contatto da tutte le automazioni promozionali e spostarlo nell’onboarding:

```json
{
  "steps": [
    { "key": "bought", "type": "trigger", "trigger": "contact.tag_added", "config": { "tag": "customer" } },
    { "key": "leave", "type": "action", "action": "exit_automation", "config": { "all": true } },
    { "key": "onboard", "type": "action", "action": "run_automation", "config": { "automation_id": "aut_3Mv8Xq2nKp5Lt", "exit_current": true } }
  ],
  "connections": [
    { "from": "bought", "to": "leave", "branch": "default" },
    { "from": "leave", "to": "onboard", "branch": "default" }
  ]
}
```

## Vedi anche

  - [Passaggi](/it/docs/automations/steps/): Wait until, Goal, Remove from automations e altro.
  - [Esecuzioni e statistiche](/it/docs/automations/runs/): Scopri perché un’esecuzione è stata annullata, annulla esecuzioni.

---
Fonte: https://emailit.com/it/docs/automations/exits-and-goals/
