# Condições de saída e metas

> Tire contatos de uma automação no momento em que eles compram ou saem de uma lista de contatos, faça execuções pularem para uma meta e mova contatos entre automações.

Normalmente, uma execução percorre as etapas dela até o fim da ramificação. As condições de saída e as metas mudam isso assim que o contato faz algo, onde quer que a execução esteja, inclusive enquanto ela espera: uma **condição de saída** encerra a execução, e uma **meta** a leva adiante até a etapa da meta.

| Você quer | Use |
| --- | --- |
| Parar os lembretes de carrinho quando o contato compra | Uma [condição de saída](#exit-conditions) na compra |
| Parar uma sequência quando o contato sai da lista de contatos que a iniciou | [Sair da lista de contatos](#leave-when-removed-from-the-audience) |
| Pular os lembretes restantes e enviar um agradecimento | Uma [meta](#goals) |
| Tirar quem comprou de todas as automações promocionais | Uma etapa [Remove from automations](#move-contacts-between-automations) |
| Interromper a execução de um contato manualmente ou a partir da sua aplicação | [Cancelar a execução ou remover o contato](/pt/docs/automations/runs/#cancel-a-run) |

As etapas **Goal**, e as condições de saída, metas e esperas com [eventos do workspace ou personalizados](/pt/docs/events/), estão incluídas nos planos Pro, Business e Custom. No Pay as you go, salvar uma automação que as adiciona retorna `403` com `"error": "plan_required"`. As automações que já as têm continuam com elas depois de um downgrade.

## Condições de saída

As condições de saída ficam na aba **Settings** da automação, em **Exit conditions**. Quando uma delas corresponde para um contato, a execução dele nesta automação é cancelada na hora: as etapas em espera são descartadas, e nenhuma outra etapa é executada. O status da execução passa a ser **Canceled**, com a observação **Met an exit condition**.

Há dois tipos:

- **Quando algo acontece:** um evento do contato, escolhido como um [gatilho](/pt/docs/automations/triggers/#contact-triggers), com as opções dele. Por exemplo, **Custom event** `purchase` enviado com a [API de eventos](/pt/docs/events/send-events/) (os eventos do [script de rastreamento](/pt/docs/events/tracking-script/#identify-visitors) não encerram execuções), **Tag added** `customer`, **Contact updated** com **Field that changed** `Purchased`, ou **Unsubscribed**. Os eventos personalizados e os pedidos aceitam um filtro opcional, por exemplo, apenas os pedidos com `total` maior que `50`.
- **Quando o contato corresponde:** regras sobre o contato, como em uma etapa [Condition](/pt/docs/automations/steps/#condition-ifelse). Por exemplo, “tem a tag `customer`” ou “**Purchased** é verdadeiro”. Elas são verificadas sempre que o contato muda e antes de cada etapa, então um contato que já se enquadra nunca recebe o próximo e-mail, mesmo que a alteração tenha chegado um instante antes.

As condições de saída valem para as execuções já em andamento assim que você as salva, continuam funcionando enquanto a automação está pausada e exigem uma automação do contexto Contact. Uma automação pode ter até 20.

A equipe do Emailit também pode usar como saída **Placed an order** e **Abandoned a cart**, do [e-commerce](/pt/docs/commerce/), e **Removed from segment**, de um [segmento rastreado](/pt/docs/segments/tracked/), além de usar regras **Segment** e **Purchases** nas condições. Esses recursos estão em alfa, como o e-commerce e os segmentos. Os contatos que saem de um segmento porque alguém editou as regras dele não saem da automação.

### Sair quando for removido da lista de contatos

Nas automações iniciadas por **Added to audience**, ative **Leave when removed or unsubscribed from the audience that started the run**. A execução de um contato é então cancelada quando ele é removido dessa lista, se descadastra dela ou se descadastra de todos os e-mails de marketing, por exemplo, quando a sua loja o remove de uma lista “Abandoned carts” depois de uma compra. A observação da execução é **Left the audience**. Uma etapa **Remove from audience** ou **Subscribe / unsubscribe** da própria execução não encerra essa execução.

As automações do contexto Contact criadas no painel têm essa opção ativada. As automações criadas pela API a têm desativada, a menos que você defina `exit_on_audience_removal: true`. Sem ela, uma execução continua depois que o contato sai da lista; os e-mails de marketing continuam ignorando os contatos que se descadastraram.

### Pela API

Defina `settings.exit_conditions` ao [criar](/pt/docs/api-reference/automations/create/) ou [atualizar](/pt/docs/api-reference/automations/update/) a automação. Cada item é um critério de evento (a chave do gatilho em `event` e as opções dele) ou `{ "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" }] } }
    ]
  }
}
```

## Metas

Uma etapa **Goal** marca um ponto ao qual a execução deve chegar assim que o contato atingir a meta. Quando o contato a atinge, a execução dele pula para lá de onde quer que esteja: as etapas e as esperas no meio do caminho são ignoradas (marcadas como **skipped** na execução), a meta é marcada como alcançada, e a execução continua com as etapas depois da meta. As metas estão incluídas nos planos Pro, Business e Custom.

Por exemplo, uma sequência do período de teste envia uma dica a cada três dias, com uma meta “**Tag added** `paid`” perto do fim, seguida de um e-mail de agradecimento. Um contato que faz upgrade no dia 2 pula as dicas restantes e recebe o agradecimento na hora.

| Configuração | Observações |
| --- | --- |
| **Goal is met when** | **Something happens** (um evento do contato) ou **The contact matches a condition** (verificada a cada alteração do contato). |
| **When a contact reaches the goal without meeting it** | **Continue anyway**, **Wait until the goal is met** (por até 365 dias; depois disso, a execução termina) ou **End the automation for them**. |

Uma execução alcança cada meta no máximo uma vez, e as metas dentro de uma ramificação de [random split](/pt/docs/automations/steps/#api-only-steps) não voltam ao split depois. Como as condições de saída, as metas continuam funcionando enquanto a automação está pausada.

Pela API, uma meta é uma etapa `goal`: `{ "event": { "event": "contact.tag_added", "tag": "paid" }, "if_not_met": "continue" }` ou `{ "condition": { ... } }`.

## Mover contatos entre automações

- **Start automation** inicia outra automação para o contato. Ative **Move the contact** para encerrar a execução atual em seguida.
- **Remove from automations** cancela as execuções do contato em outras automações que você escolher, ou em **Every other automation**.

Por exemplo, quando a sua loja adiciona a tag `customer` a quem compra pela API, uma automação “Buyers” iniciada por essa tag pode remover essas pessoas de todas as automações promocionais e movê-las para o 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" }
  ]
}
```

## Veja também

  - [Etapas](/pt/docs/automations/steps/): Wait until, Goal, Remove from automations e outras.
  - [Execuções e estatísticas](/pt/docs/automations/runs/): Veja por que uma execução foi cancelada e cancele execuções.

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