> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurar opt-in confirmado para email

> Aprenda como implementar um processo de opt-in duplo (opt-in confirmado) no OneSignal usando Tags, Segmentos e Jornadas para melhorar engajamento, conformidade e qualidade da lista.

## Visão geral

Um **opt-in confirmado** (também chamado de **opt-in duplo**) exige que novos assinantes de email verifiquem seu endereço de email clicando em um link de confirmação em um email de acompanhamento. Esta etapa extra garante que seus assinantes de email realmente querem ouvir de você.

<Info>
  Este guia orienta você sobre como configurar um fluxo de trabalho de opt-in confirmado usando no mínimo 1 Tag, Segmento e Jornada. Veja nossa [página de Preços](https://onesignal.com/pricing) para detalhes sobre limites de plano.

  Se você quiser configurar um fluxo de opt-in confirmado via API diretamente, veja [Exemplo de magic link de verificação OTP](./example-verification-magic-link-otp).
</Info>

### Opt-in simples vs duplo

* **Opt-in simples**: Um usuário insere seu email (por exemplo, formulário de cadastro) e é imediatamente adicionado à sua lista de emails.
* **Opt-in duplo (opt-in confirmado)**: Após inserir seu email, o usuário deve clicar em um link de confirmação em um email de verificação antes de ser adicionado.

#### Benefícios do opt-in duplo

* Melhora engajamento e qualidade da lista
* Verifica conformidade com **GDPR**, **CAN-SPAM** e outras regulamentações
* Filtra endereços falsos, spam-trap ou digitados incorretamente
* Reduz taxas de rejeição e reclamação
* Protege contra abuso e bombardeio de listas

<Note>
  A maioria dos remetentes profissionais usa opt-in duplo para proteger sua reputação de domínio e maximizar [entregabilidade](./email-deliverability).
</Note>

***

## Como criar uma jornada de opt-in confirmado

Esta configuração usará uma tag chamada `confirmed_opt_in` com valor de `true` ou `false` para identificar assinantes confirmados. Se você já tem uma lista de assinantes de email que são confirmados, pode usar o [Importador CSV](./import) para adicionar a tag a esses usuários.

**Pré-requisitos:**

Antes de começar, defina seus endereços de email como Assinaturas de teste no OneSignal. Veja [Assinaturas de Teste](./test-users) para mais detalhes.

### 1. Criar um segmento de usuários que não confirmaram opt-in

Dentro do dashboard OneSignal, vá para **Audience > Segments** e clique em **New Segment**.

Construa um segmento chamado **Did not confirm email opt-in** que usa os seguintes filtros com lógica **AND**:

* **User Tag** com `confirmed_opt_in` **"is not"** `true`
* **Device Type** is **Email**
* **Test Users** is true (removerá antes de colocar ao vivo em Produção)

Este segmento conterá todos os usuários de teste com uma Assinatura de email e tag `confirmed_opt_in` definida como `false` ou não definida.

<Frame caption="Segmento Did not confirm email opt-in">
  <img src="https://mintcdn.com/onesignal/P-72FyFfB9AgPzK3/images/tutorials/did-not-confirm-email-opt-in-segment.png?fit=max&auto=format&n=P-72FyFfB9AgPzK3&q=85&s=8192490399d038544ae86863fce50a8c" alt="Did not confirm email opt-in segment" width="1246" height="866" data-path="images/tutorials/did-not-confirm-email-opt-in-segment.png" />
</Frame>

### 2. Criar um template de email de opt-in confirmado

Navegue até **Messages > Templates > New Email Template** e selecione **HTML Editor** ou **Drag & Drop Editor**.

Projete um email de confirmação simples:

* Linha de assunto clara (por exemplo, "Confirme sua assinatura")
* Um único CTA de confirmação proeminente ("Confirmar Assinatura")
* Não inclua outros links como botões de redes sociais ou outros CTAs que possam distrair o usuário do processo de confirmação.

Aqui está um template inicial que você pode copiar e colar no editor HTML:

```html HTML theme={null}
<!DOCTYPE html>
<html>
  <body style="font-family: Arial, sans-serif; background-color: #f7f7f7; padding: 20px;">
    <table role="presentation" width="100%" cellspacing="0" cellpadding="0" style="max-width: 600px; margin: auto; background: #ffffff; border-radius: 8px; overflow: hidden;">
      <tr>
        <td style="padding: 30px; text-align: center;">
          <h2 style="color: #333;">Por favor confirme sua assinatura</h2>
          <p style="color: #555;">Precisamos apenas verificar seu endereço de email antes de adicioná-lo à nossa lista.</p>
          <a href="https://media4.giphy.com/media/v1.Y2lkPTc5MGI3NjExOHgxZjNrcTRvM2FoZTNzNDVhN2c1ZmN3ajdwYjFlcjR6ZmU0MDVuNCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/fxI1G5PNC5esyNlIUs/giphy.gif"
             style="display: inline-block; padding: 12px 20px; margin-top: 20px; background-color: #007bff; color: #ffffff; text-decoration: none; border-radius: 4px; font-weight: bold;">
             Confirmar Assinatura
          </a>
          <p style="font-size: 12px; color: #999; margin-top: 30px;">
            Se você não solicitou isso, pode ignorar este email com segurança.
          </p>
        </td>
      </tr>
    </table>
  </body>
</html>
```

<Frame caption="Template de Email de Opt-in">
  <img src="https://mintcdn.com/onesignal/P-72FyFfB9AgPzK3/images/tutorials/html-opt-in-template.png?fit=max&auto=format&n=P-72FyFfB9AgPzK3&q=85&s=f466d82e6e3a9ab0d644bb5f84d82bdb" alt="Opt-in Template" width="2312" height="1496" data-path="images/tutorials/html-opt-in-template.png" />
</Frame>

<Warning>
  Observe que o botão "Confirmar Assinatura" linka para uma página `https://media4.giphy.com/media/v1.Y2lkPTc5MGI3NjExOHgxZjNrcTRvM2FoZTNzNDVhN2c1ZmN3ajdwYjFlcjR6ZmU0MDVuNCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/fxI1G5PNC5esyNlIUs/giphy.gif`

  É recomendado mudar isto para a página do seu site que agradece o usuário por confirmar sua assinatura.
</Warning>

### 3. Construir uma Jornada de opt-in confirmado

Navegue até **Journeys > New Journey** e selecione **Start from scratch**.

#### Configurações da Jornada

1. Nomeie a Jornada: `Confirm Email Opt-in` ou qualquer coisa que você goste para reconhecer o que esta Jornada faz.
2. Regras de Entrada: Incluir Segmento **Did not confirm email opt-in**.
3. Regras de Saída: Marque **They moved through the entire Journey**.
4. Regras de Re-entrada: Selecione **No, they can receive this only once**.
5. Cronograma: Selecione **Start immediately** ou agende para um horário posterior e **Never stops**.

Clique em **Save**.

#### Etapa de mensagem de email

Adicione uma etapa de mensagem **Email** e selecione o template **Confirm Email Opt-in**.

Sua Jornada deve parecer assim até agora:

<Frame caption="Etapa de mensagem de email e Configurações da Jornada">
  <img src="https://mintcdn.com/onesignal/P-72FyFfB9AgPzK3/images/tutorials/confirm-email-opt-in-message-step-and-journey-settings.png?fit=max&auto=format&n=P-72FyFfB9AgPzK3&q=85&s=15d881b358d978ce55bfe2c162248744" alt="Email message step" width="1506" height="1728" data-path="images/tutorials/confirm-email-opt-in-message-step-and-journey-settings.png" />
</Frame>

#### Etapa Wait until

Adicione uma etapa **Wait Until** e defina a condição do Branch A para:

* **Previous Message**
* Nome do template **Confirm email subscription**
* **Clicked**

Marque a opção **Expiration Branch** e defina para "Wait a maximum of `1 Day` e **Continue Journey**".

<Frame caption="Etapa Wait until">
  <img src="https://mintcdn.com/onesignal/P-72FyFfB9AgPzK3/images/tutorials/confirm-email-opt-in-wait-until-step.png?fit=max&auto=format&n=P-72FyFfB9AgPzK3&q=85&s=18cd9325a298fca5dc1a3d417469d02b" alt="Wait until step" width="754" height="746" data-path="images/tutorials/confirm-email-opt-in-wait-until-step.png" />
</Frame>

#### Marcar usuários que confirmam

Sob o branch **A (Message Clicked)** adicione uma ação **Tag User** e defina a tag para `confirmed_opt_in` e o valor para `true`.

<Frame caption="Ação Tag User">
  <img src="https://mintcdn.com/onesignal/P-72FyFfB9AgPzK3/images/tutorials/confirm-email-opt-in-tag-user-action.png?fit=max&auto=format&n=P-72FyFfB9AgPzK3&q=85&s=001a1d48f7bba349de2b21c297b509e9" alt="Tag User action" width="900" height="472" data-path="images/tutorials/confirm-email-opt-in-tag-user-action.png" />
</Frame>

À medida que os usuários clicam no botão para confirmar sua assinatura, sua tag `confirmed_opt_in` mudará de `false` para `true`. Isso permitirá que você rastreie quais usuários confirmaram sua assinatura de email.

#### Acompanhar não confirmadores

Após 1 dia, se o usuário não clicou no botão para confirmar sua assinatura, eles irão pelo branch **Expire (1 Day)**. Neste ponto você pode criar um novo template de email e repetir o processo (Confirm email subscription 2 > Wait until clicked > Tag if clicked). É recomendado repetir o processo pelo menos mais uma vez para garantir a melhor taxa de opt-in.

<Frame caption="Exemplo Completo de Jornada de Confirm Email Opt-in">
  <img src="https://mintcdn.com/onesignal/P-72FyFfB9AgPzK3/images/tutorials/confirm-email-opt-in-journey-example.png?fit=max&auto=format&n=P-72FyFfB9AgPzK3&q=85&s=4b3e76960f548462d2213c1ea388ceb0" alt="Full Confirm Email Opt-in Journey Example" width="862" height="1636" data-path="images/tutorials/confirm-email-opt-in-journey-example.png" />
</Frame>

### 4. Testar

Neste ponto a Jornada deve estar pronta para testar. Se você seguiu este tutorial, lembre-se que usamos o filtro "Test Users" no Segmento, então isso só enviará para emails que você marcou como "testers" e que se encaixam nos critérios de tag. Se você precisa adicionar mais emails de teste, pode fazê-lo manualmente dentro do dashboard OneSignal seguindo estas instruções:

* [Importar emails](./import)
* Definir [Assinaturas de Teste](./test-users)

Quando estiver pronto para testar:

1. Clique em **Set Live** na Jornada.
2. Aguarde alguns minutos e você deve receber o primeiro template de email.
3. Clique no botão no email. Aguarde mais alguns minutos.
4. Seu usuário deve sair da Jornada e ter a tag atualizada `confirmed_opt_in=true`.

#### Solução de problemas

Uma vez que você definiu a Jornada como live, se você não recebeu o email de confirmação após alguns minutos:

1. Navegue de volta para a Jornada ativa
2. Clique na primeira Etapa de Email
3. Selecione **Audience Activity** no canto superior esquerdo. Veja [Análises de Jornada](./journeys-analytics) para mais detalhes sobre Audience Activity.
4. Você deve ver seu email na coluna "Delivered". Se não estiver lá, verifique se seu endereço de email está Inscrito e se encaixa nos critérios do Segmento.

Se você recebeu o email e clicou no botão, mas não teve a tag atualizada após alguns minutos:

1. Navegue para **Audience > Users**
2. Procure por seu endereço de email
3. Verifique a coluna "Tags". Você deve ver `confirmed_opt_in=true` se a Jornada funcionou corretamente.

<Info>
  Ainda precisa de ajuda?

  Envie-nos um email para `support@onesignal.com` com as seguintes informações:

  * O endereço de email que você está testando.
  * Um link para a Jornada. Você pode copiar e colar a URL da barra de endereços do navegador.
  * Qualquer informação adicional que você acha que pode ser útil.

  Teremos prazer em ajudar!
</Info>

### 5. Colocar ao vivo em produção

Quando estiver pronto para enviar isso para usuários reais, você precisará fazer o seguinte:

1. Navegue até a Jornada e clique em **More Options > Stop + Archive**.
2. Navegue até o Segmento e clique em **Options > Pause**, depois **Options > Duplicate**.
3. Atualize o Segmento para remover o filtro "Test Users".
4. Navegue de volta para a página de Jornadas e clique em **Options > Duplicate**.
5. Atualize a Jornada para usar o Segmento sem o filtro "Test Users" e **Save**.
6. Clique em **Set Live** quando estiver pronto para ir ao vivo para todos os usuários.

<Check>
  Assinantes que confirmam agora carregam a tag `confirmed_opt_in=true`, que você pode usar para segmentação e para garantir que você só envie mensagens para usuários verificados.
</Check>

***

## Considerações Importantes e Armadilhas

<AccordionGroup>
  <Accordion title="Conformidade Regulatória">
    * **GDPR** requer consentimento explícito, que o opt-in duplo fornece.
    * **CAN-SPAM** não requer opt-in duplo, mas reduz reclamações.
    * Sempre armazene prova de consentimento (timestamp + fonte).
  </Accordion>

  <Accordion title="Melhores Práticas de Entregabilidade">
    * Emails de confirmação devem ser **simples e curtos** — evite imagens pesadas.
    * Não adicione conteúdo de marketing ao seu email de confirmação.
    * Configure [autenticação de email](./email-setup) adequada (SPF, DKIM, DMARC) para evitar pastas de spam.
  </Accordion>

  <Accordion title="Dicas de UX e Conversão">
    * Mostre uma **página de agradecimento** após o cadastro que explica a etapa de confirmação.
    * Use uma linha de assunto clara (por exemplo, "Um último passo: Confirme sua assinatura").
    * Envie lembretes com moderação — máximo de 2–3 tentativas.
  </Accordion>

  <Accordion title="Problemas Comuns">
    * **Links não rastreando**: Certifique-se de que seu botão usa um link rastreado do editor de template do OneSignal.
    * **Usuários nunca confirmam**: Alguns emails podem cair no spam. Incentive os usuários a verificar pastas de spam ou promoções.
    * **Opt-ins duplicados**: Permita apenas usuários com `confirmed_opt_in = true` em seus segmentos de envio primários.
  </Accordion>
</AccordionGroup>

***

## Próximos Passos

* Use a tag `confirmed_opt_in` para construir **segmentos de email de alta qualidade**.
* Revise [Configuração e Conformidade de Email](./email-setup) para proteger sua reputação de domínio.
* Explore [Ações e branches de Jornadas](./journeys-actions) para estratégias avançadas de reenvio.
