Skip to main content

Gerenciamento de Conversões

Esta seção da biblioteca implementa um sistema para registrar conversões de usuários, utilizando o objeto Ledger para armazenar e gerenciar essas informações. O sistema será aplicado em diversas áreas do site onde o usuário pode realizar uma conversão, como formulários, testes de produtos e solicitações de contato. Quando o usuário preenche seu e-mail e envia a informação, a função central do gerenciamento de conversões é acionada.

O registro

Um registro de campanha contém as seguintes informações:

  • id: Identificador único da conversão.
  • email: Email usado para realizar a conversão.
  • submittedAt: Timestamp de quando a conversão foi submetida.

Registro de Conversões

A função principal, chamada register, integra as funcionalidades de registro de conversões e é responsável por:

  1. Instanciar o gerenciamento de cookies e recuperar o Ledger atual armazenado no cookie.
  2. Verificar se há um Ledger válido e se o e-mail está presente. Se não, a função é encerrada.
  3. Se ambos estiverem disponíveis, chamar a função addNewConversion para registrar a nova conversão no Ledger.
  4. Chamar a função addEmailToLedger para adicionar ou atualizar o e-mail no Ledger.
  5. Armazenar o Ledger atualizado de volta no cookie, garantindo a persistência das informações.

Dentro da função register, duas subfunções são definidas para gerenciar a adição de conversões e e-mails:

1. Adicionar Nova Conversão

A função addNewConversion é responsável por registrar uma nova conversão:

  • Verifica se já existem conversões no Ledger; se não, inicializa uma lista vazia.
  • Cria um novo registro que inclui o ID da conversão, o e-mail do usuário e a data/hora atuais (momento da conversão) e adiciona a nova conversão à lista existente.
  • Retorna o Ledger atualizado.

2. Adicionar E-mail ao Ledger

A função addEmailToLedger gerencia os e-mails associados ao Ledger:

  • Primeiro, ela verifica se já existe um e-mail principal no Ledger. Se não houver, o e-mail fornecido na conversão é adicionado como o e-mail principal.
  • Se já houver um e-mail principal, a função verifica se o e-mail fornecido é um e-mail secundário. Se não estiver presente na lista de e-mails secundários, ele é adicionado a essa lista.
  • O Ledger atualizado é então retornado.

A função register, que é retornada pela biblioteca, será implementada nos pontos de conversão no site, garantindo o registro eficiente das conversões dos usuários.