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

# Criando estratégias

> Crie, configure e gerencie Strategies pelo painel do Aftersell — sem necessidade de código.

<div id="overview">
  ## Visão geral
</div>

O painel do Aftersell oferece uma interface visual para criar e gerenciar Strategies. Você pode criar estratégias, definir regras de segmentação com gatilhos, atribuir produtos a recomendar e configurar o comportamento do catch all - tudo sem escrever nenhum código.

Este guia percorre o processo completo de criação de uma Strategy na interface.

***

<div id="navigating-to-strategies">
  ## Navegando até Strategies
</div>

1. Faça login no Aftersell.
2. Clique em **Strategies** na navegação da barra lateral esquerda.
3. Você verá uma lista das suas Strategies existentes, ou um estado vazio convidando você a criar a primeira.

***

<div id="creating-a-new-strategy">
  ## Criando uma nova Strategy
</div>

1. Clique em **Add Strategy**.
2. Você será levado ao editor de Strategy, onde pode adicionar regras.

<Tip>
  Clique no **ícone de lápis** no canto superior esquerdo do editor de Strategy para dar à sua Strategy um nome descritivo. Um nome claro facilita identificar estratégias no painel depois.
</Tip>

***

<div id="adding-rules">
  ## Adicionando regras
</div>

Cada Strategy contém uma ou mais **regras**. Uma regra consiste em:

* **Triggers** - o "quando" - critérios que devem ser atendidos para a regra corresponder.
* **Actions** - o "então" - a experiência retornada quando a regra corresponde.

<div id="defining-triggers">
  ### Definindo gatilhos
</div>

Os gatilhos determinam quando uma regra dispara. Você pode combinar até cinco gatilhos em uma única regra. Um único seletor **AND** / **OR** se aplica a todo o conjunto de condições: com **AND**, todos os gatilhos devem corresponder; com **OR**, basta que um gatilho corresponda. Os tipos de gatilho disponíveis incluem:

<div id="product-triggers">
  #### Gatilhos de produto
</div>

Segmente com base nos produtos do contexto (o carrinho do comprador, o pedido recém-concluído ou o produto sendo visualizado):

* **Specific product(s)** - corresponde a produtos Shopify específicos por ID
* **Collection** - corresponde a produtos pertencentes a coleções específicas
* **Tag(s)** - corresponde a produtos com tags específicas (por exemplo, "sale", "summer")
* **Title** - corresponde ao título do produto
* **Vendor** - corresponde ao nome do fornecedor/marca
* **Type** - corresponde ao campo de tipo do produto (por exemplo, "Apparel", "Electronics")
* **Handle** - corresponde ao slug da URL do produto
* **Metafield** - corresponde a pares de namespace/chave/valor de metafields personalizados
* **Selling plan** - corresponde a produtos de "assinatura" ou "compra única". Só é avaliado quando o contexto da requisição fornece um selling plan para o produto - as superfícies de upsell de checkout e pós-compra do Aftersell não enviam isso, então o gatilho não corresponderá nesses casos a menos que uma integração personalizada o forneça explicitamente

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

Segmente com base em quem é o comprador:

* **Customer tag** - por exemplo, "VIP", "loyalty-gold"
* **Country code** - país de cobrança
* **Province code** - província/estado de cobrança
* **Locale** - localidade do cliente (por exemplo, "en-US")
* **Accepts marketing** - status de opt-in de marketing
* **Order count** - número de pedidos anteriores
* **Total spent** - gasto total acumulado

<div id="cart-triggers">
  #### Gatilhos de carrinho
</div>

Segmente com base no estado geral do carrinho:

* **Cart subtotal** - por exemplo, subtotal maior que \$50
* **Item count** - quantidade total de itens no carrinho
* **Line count** - número de itens de linha distintos
* **Cart attribute** - atributos de carrinho personalizados definidos pela API de carrinho da Shopify
* **Cart note** - o campo de observação do carrinho

<div id="location-triggers">
  #### Gatilhos de localização
</div>

Segmente com base no destino de envio do comprador e na moeda da loja:

* **Shipping country** - país de destino do envio
* **Shipping province** - província/estado de destino do envio
* **Shipping method** - método de envio selecionado
* **Store currency** - o código da moeda ativa da loja

<div id="marketing-triggers">
  #### Gatilhos de marketing
</div>

Segmente com base na URL da página pela qual o comprador chegou:

* **URL** - corresponde a uma substring da URL de destino, para que você possa segmentar uma campanha ou canal específico correspondendo a um parâmetro incorporado na URL (por exemplo, `utm_source=newsletter`)

<div id="time-triggers">
  #### Gatilhos de tempo
</div>

Segmente com base em quando a requisição é avaliada, no horário da loja:

* **Day of week** - o dia atual
* **Hour of day** - a hora atual

<div id="dynamic-triggers">
  #### Gatilhos dinâmicos
</div>

* **Always match** - um gatilho sem condição que sempre dispara. Use-o para fazer uma regra ser executada em todas as requisições (isso é diferente do [Catch all](#configuring-a-catch-all) no nível da estratégia, que só dispara quando nenhuma outra regra corresponde).

<Note>
  Nem todos os gatilhos são preenchidos em todas as superfícies. O checkout, por exemplo, só envia contexto de produto e carrinho - gatilhos de cliente, localização e marketing não corresponderão ali. Veja os guias de [Implementando Strategies](/pt/aftersell/implementing_strategies_post_purchase_upsells) para saber o que cada superfície envia.
</Note>

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

Cada gatilho usa um **operador** para definir como o valor é correspondido. Os operadores disponíveis dependem do tipo de gatilho.

| Operador                     | Descrição                                                                                                                                                   |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Equals**                   | Corresponde quando o campo é exatamente o valor especificado - por exemplo, vendor igual a "Nike".                                                          |
| **Does not equal**           | Corresponde quando o campo é qualquer coisa diferente do valor especificado - útil para excluir um tipo de produto ou fornecedor específico.                |
| **Contains any**             | Corresponde quando um campo de vários valores inclui pelo menos um valor da sua lista - por exemplo, um produto pertence a qualquer uma de várias coleções. |
| **Does not contain any**     | Corresponde quando um campo de vários valores não inclui nenhum dos valores da sua lista - por exemplo, excluir produtos com a tag "final-sale".            |
| **Contains all**             | Corresponde quando um campo de vários valores inclui todos os valores da sua lista - por exemplo, um produto precisa ter as tags "sale" e "summer".         |
| **Does not contain all**     | Corresponde quando um campo de vários valores não tem pelo menos um dos valores da sua lista.                                                               |
| **Contains**                 | Corresponde quando um campo de texto inclui seu valor como substring - por exemplo, título contém "Gift".                                                   |
| **Does not contain**         | Corresponde quando um campo de texto não inclui seu valor.                                                                                                  |
| **Greater than**             | Corresponde quando um campo numérico excede seu valor - por exemplo, subtotal do carrinho maior que \$75.                                                   |
| **Less than**                | Corresponde quando um campo numérico está abaixo do seu valor - por exemplo, contagem de pedidos menor que 2 (compradores de primeira viagem).              |
| **Greater than or equal to** | Corresponde quando um campo numérico atinge ou excede seu valor - por exemplo, gasto total de pelo menos \$500.                                             |
| **Less than or equal to**    | Corresponde quando um campo numérico está no seu valor ou abaixo dele - por exemplo, contagem de itens do carrinho de no máximo 3.                          |

Nem todos os operadores estão disponíveis para todos os gatilhos:

* **Operadores de lista** (**Contains any / all** e suas negações) se aplicam a campos de vários valores, como tags, coleções, tags de cliente e produtos específicos.
* **Operadores de texto** (**Equals**, **Contains** e suas negações) se aplicam a campos de texto de valor único, como título, fornecedor, handle, localidade, país e URL.
* **Operadores numéricos** se aplicam a campos como subtotal do carrinho, contagem de itens, contagem de linhas, contagem de pedidos, gasto total e hora do dia. Operadores numéricos não têm variantes "does not".
* Alguns campos suportam apenas **Equals** e **Does not equal** - selling plan, dia da semana e accepts marketing.

<div id="defining-actions">
  ### Definindo ações
</div>

As ações criam a experiência que você quer entregar ao cliente. É aqui que você decide quais produtos exibir, como exibi-los e quaisquer dados adicionais a enviar junto. Uma regra pode ter várias ações configuradas em conjunto para construir a experiência completa.

Por regra, todas as ações configuradas contribuem para um único pool combinado. Por exemplo, uma regra com uma ação de produto específico, uma ação de coleção e uma ação baseada em tag retornará produtos das três fontes juntas. Se um produto corresponder a várias fontes, ele é deduplicado.

<div id="product-actions">
  #### Ações de produto
</div>

Os mesmos atributos de produto disponíveis no lado dos gatilhos também estão disponíveis ao definir ações. Você pode retornar produtos com base em:

* **Specific products** - selecione manualmente produtos individuais do seu catálogo Shopify.
* **Collection** - retorne todos os produtos pertencentes a uma coleção específica.
* **Product attributes** - retorne produtos que correspondam a critérios como tags, fornecedor, tipo de produto ou metafields - os mesmos tipos de atributo usados nos gatilhos.

<div id="dynamic-actions">
  #### Ações dinâmicas
</div>

As ações dinâmicas mudam o que é retornado com base em sinais em tempo real, e não em uma lista fixa de produtos. Os tipos de ação dinâmica disponíveis incluem:

* **Most popular** - os produtos de melhor desempenho da sua loja por volume de vendas, em toda a loja ou limitado a uma coleção.
* **Recently purchased** - produtos comprados recentemente em toda a loja.
* **Inherit from when** - reutilize os próprios gatilhos da regra (o "quando") como seletor de produtos, para que os produtos retornados correspondam aos mesmos critérios que fizeram a regra disparar.
* **AI Recommendations** - sugestões personalizadas geradas pelo modelo de recomendação do Aftersell.

<div id="filtering-actions">
  #### Ações de filtragem
</div>

Depois que o pool de produtos é montado, você pode configurar quantos produtos são retornados e em que ordem:

* **Sort** - controle quais produtos são selecionados:
  * **Random** - uma seleção aleatória.
  * **Price: high → low** - os produtos mais caros são retornados primeiro.
  * **Price: low → high** - os produtos mais baratos são retornados primeiro.
* **Amount/Limit** - defina o número máximo de produtos a retornar.

<Info>
  A ordenação é aplicada primeiro, depois o Amount/Limit. Por exemplo, se a ordenação estiver definida como **Random**, todo o pool de produtos é embaralhado antes de o limite ser aplicado - então você sempre obtém uma fatia aleatória, e não os mesmos produtos em ordem aleatória.
</Info>

<div id="key-value-actions">
  #### Ações de chave-valor
</div>

Opcionalmente, anexe pares chave-valor a uma regra. Quando a regra corresponde, eles são retornados em `meta.data` na resposta da API junto com os resultados de produtos. Usos comuns incluem:

* Texto de banner promocional
* Rótulos de campanha para análises

<Note>
  Se várias regras corresponderem e emitirem a mesma chave, o valor da primeira regra correspondente vence - regras posteriores não podem sobrescrevê-lo.
</Note>

***

<div id="rule-priority-and-evaluation-order">
  ## Prioridade de regras e ordem de avaliação
</div>

As regras dentro de uma Strategy são avaliadas em etapas hierárquicas e sequenciais. O Step 1 é avaliado primeiro, e assim por diante. Você pode reordenar regras arrastando e soltando-as no editor de Strategy. O mecanismo de avaliação:

1. Avalia os gatilhos de cada regra em relação ao contexto fornecido.
2. Coleta produtos de todas as regras correspondentes.
3. Deduplica e limita o resultado ao máximo configurado (padrão: 20 produtos).

***

<div id="configuring-a-catch-all">
  ## Configurando um Catch all
</div>

Catch all é uma regra especial que atua como etapa final em toda avaliação de Strategy. Ela não tem gatilho e dispara automaticamente se nenhuma outra regra da Strategy corresponder à requisição atual.

Quando ativado, o Catch all garante que seu espaço de recomendação nunca fique vazio. Sua ação pode ser configurada usando qualquer um dos mesmos tipos de ação disponíveis para regras comuns - produtos específicos, coleções, ações dinâmicas etc.

* **Ativar/desativar** - ligue ou desligue a regra Catch all para a Strategy. Quando desativada, requisições que não correspondem a nenhuma regra retornarão vazias.
* **Configurar ações** - defina o que retornar usando qualquer combinação dos tipos de ação disponíveis, como em qualquer outra regra.

Quando o Catch all dispara, a resposta da API indicará `resolution.fallbackUsed: true`.

***

<div id="global-filters">
  ## Filtros globais
</div>

Os filtros globais removem produtos da elegibilidade de seleção em todas as regras de uma Strategy. Você pode acessá-los pelo **ícone de filtro** ao lado do nome da estratégia, no canto superior esquerdo do editor de Strategy.

Filtros globais disponíveis:

* **Exclude out of stock** - exclui automaticamente qualquer produto que esteja indisponível para compra no momento.
* **Exclude input products** - exclui o(s) produto(s) que acionaram a regra (por exemplo, o produto que um comprador está visualizando em uma PDP), para você nunca recomendar o mesmo produto que o comprador já está vendo.
* **Exclude by product tag** - exclui produtos com tags específicas.
* **Exclude by metafield** - exclui produtos que correspondam a um namespace/chave/valor de metafield específico.
* **Exclude by product ID** - exclui produtos específicos por ID.
* **Require stock at location** - mantém apenas produtos com estoque disponível em um local escolhido (requer permissões de leitura de estoque e locais).

***

<div id="validation-and-error-states">
  ## Validação e estados de erro
</div>

Uma Strategy não pode ser salva se alguma regra estiver incompleta. Cada regra precisa de pelo menos uma condição (ou do gatilho **Always match**) e de pelo menos uma ação; se qualquer uma delas estiver faltando, erros aparecerão diretamente na regra em questão destacando o que precisa ser resolvido.

Para limpar o erro e salvar a Strategy, você pode:

* **Completar a regra** - adicione o gatilho e/ou a ação que faltam.
* **Excluir a regra** - remova-a por completo se não for mais necessária.

O editor de Strategy não permitirá salvar até que todas as regras estejam válidas.
