# Podmínky ukončení a cíle

> Vyřaďte kontakty z automatizace ve chvíli, kdy nakoupí nebo opustí seznam kontaktů, posuňte spuštění k cíli a přesouvejte kontakty mezi automatizacemi.

Spuštění normálně prochází svými kroky až na konec své větve. Podmínky ukončení a cíle to změní, jakmile kontakt něco udělá, ať je spuštění kdekoli, a to i když zrovna čeká: **podmínka ukončení** spuštění ukončí a **cíl** ho posune dopředu ke kroku cíle.

| Co chcete | Co použít |
| --- | --- |
| Zastavit připomínky košíku, když kontakt nakoupí | [Podmínku ukončení](#exit-conditions) na nákup |
| Zastavit sekvenci, když kontakt opustí seznam kontaktů, který ji zahájil | [Opuštění seznamu](#leave-when-removed-from-the-audience) |
| Přeskočit zbývající připomínky a místo nich poslat poděkování | [Cíl](#goals) |
| Vyřadit kupující ze všech propagačních automatizací | Krok [Remove from automations](#move-contacts-between-automations) |
| Zastavit spuštění jednoho kontaktu ručně nebo z vaší aplikace | [Zrušení spuštění nebo odebrání kontaktu](/cs/docs/automations/runs/#cancel-a-run) |

Kroky **Goal** a podmínky ukončení, cíle a čekání na [události workspace nebo vlastní události](/cs/docs/events/) jsou součástí tarifů Pro, Business a Custom. V tarifu Pay as you go vrací uložení automatizace, která je přidává, `403` s `"error": "plan_required"`. Automatizace, které je už mají, si je po přechodu na nižší tarif ponechají.

## Podmínky ukončení

Podmínky ukončení najdete na kartě **Settings** automatizace v části **Exit conditions**. Když se některá z nich pro kontakt splní, jeho spuštění v této automatizaci se okamžitě zruší: čekající kroky se zahodí a žádné další kroky se neprovedou. Spuštění přejde do stavu **Canceled** s poznámkou **Met an exit condition**.

Existují dva druhy:

- **When something happens:** událost kontaktu, kterou vyberete stejně jako [spouštěč](/cs/docs/automations/triggers/#contact-triggers), i s jejími možnostmi. Například **Custom event** `purchase` odeslaná přes [API událostí](/cs/docs/events/send-events/) (události ze [sledovacího skriptu](/cs/docs/events/tracking-script/#identify-visitors) spuštění neukončují), **Tag added** `customer`, **Contact updated** s **Field that changed** `Purchased` nebo **Unsubscribed**. Vlastní události a objednávky přijímají volitelný filtr, například jen objednávky s `total` větším než `50`.
- **When the contact matches:** pravidla nad kontaktem, stejně jako v kroku [Condition](/cs/docs/automations/steps/#condition-ifelse). Například „has tag `customer`“ nebo „**Purchased** is true“. Kontrolují se při každé změně kontaktu a před každým krokem, takže kontakt, který už podmínku splňuje, nikdy nedostane další e-mail, i když změna přišla jen o chvíli dřív.

Podmínky ukončení platí pro už probíhající spuštění hned po uložení, fungují i během pozastavení automatizace a vyžadují automatizaci v kontextu Contact. Automatizace jich může mít až 20.

Tým Emailitu může navíc ukončovat spuštění při **Placed an order** a **Abandoned a cart** z [E-commerce](/cs/docs/commerce/) a při **Removed from segment** u [sledovaného segmentu](/cs/docs/segments/tracked/) a v podmínkách používat pravidla **Segment** a **Purchases**. Tyto možnosti jsou v alfaverzi, stejně jako E-commerce a segmenty. Kontakty, které segment opustí proto, že někdo upravil jeho pravidla, se z automatizace nevyřadí.

### Opuštění seznamu kontaktů

U automatizací, které spouští **Added to audience**, zapněte **Leave when removed or unsubscribed from the audience that started the run**. Spuštění kontaktu se pak zruší, když je kontakt z daného seznamu odebrán, když se z něj odhlásí nebo když se odhlásí ze všech marketingových e-mailů, například když ho váš e-shop po nákupu odebere ze seznamu „Abandoned carts“. Poznámka u spuštění je **Left the audience**. Krok **Remove from audience** nebo **Subscribe / unsubscribe** přímo v daném spuštění toto spuštění neukončí.

Automatizace v kontextu Contact vytvořené ve webovém rozhraní mají tuto volbu zapnutou. Automatizace vytvořené přes API ji mají vypnutou, pokud nenastavíte `exit_on_audience_removal: true`. Bez ní spuštění pokračuje i poté, co kontakt seznam opustí; marketingové e-maily ale kontakty, které se odhlásily, i tak přeskočí.

### Práce s API

Při [vytvoření](/cs/docs/api-reference/automations/create/) nebo [úpravě](/cs/docs/api-reference/automations/update/) automatizace nastavte `settings.exit_conditions`. Každá položka je buď definice události (klíč spouštěče v `event` a jeho možnosti), nebo `{ "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" }] } }
    ]
  }
}
```

## Cíle

Krok **Goal** označuje místo, kam se má spuštění dostat, jakmile kontakt cíl splní. Když ho kontakt splní, jeho spuštění tam přeskočí, ať je kdekoli: kroky a čekání mezi tím se přeskočí (ve spuštění jsou označené jako **skipped**), cíl se označí jako dosažený a spuštění pokračuje kroky za cílem. Cíle jsou součástí tarifů Pro, Business a Custom.

Například zkušební sekvence posílá každé tři dny tip a blízko konce má cíl „**Tag added** `paid`“, za kterým následuje děkovný e-mail. Kontakt, který přejde na placenou verzi druhý den, zbývající tipy přeskočí a hned dostane poděkování.

| Nastavení | Poznámky |
| --- | --- |
| **Goal is met when** | **Something happens** (událost kontaktu), nebo **The contact matches a condition** (kontroluje se při každé změně kontaktu). |
| **When a contact reaches the goal without meeting it** | **Continue anyway**, **Wait until the goal is met** (nejvýše 365 dní, pak spuštění skončí) nebo **End the automation for them**. |

Spuštění dosáhne každého cíle nejvýše jednou a cíle uvnitř větve [náhodného rozdělení](/cs/docs/automations/steps/#api-only-steps) se potom do rozdělení nevracejí. Stejně jako podmínky ukončení fungují cíle i během pozastavení automatizace.

V API je cíl krok `goal`: `{ "event": { "event": "contact.tag_added", "tag": "paid" }, "if_not_met": "continue" }`, nebo `{ "condition": { ... } }`.

## Přesouvejte kontakty mezi automatizacemi

- **Start automation** zahájí pro kontakt jinou automatizaci. Když zapnete **Move the contact**, aktuální spuštění potom skončí.
- **Remove from automations** zruší spuštění kontaktu v jiných automatizacích, které vyberete, nebo s volbou **Every other automation** ve všech ostatních.

Když například váš e-shop přes API přidá kupujícím štítek `customer`, automatizace „Buyers“ spuštěná tímto štítkem je může odebrat ze všech propagačních automatizací a přesunout do onboardingu:

```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" }
  ]
}
```

## Související

  - [Kroky](/cs/docs/automations/steps/): Wait until, Goal, Remove from automations a další.
  - [Spuštění a statistiky](/cs/docs/automations/runs/): Zjistěte, proč bylo spuštění zrušeno, a rušte spuštění.

---
Zdroj: https://emailit.com/cs/docs/automations/exits-and-goals/
