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:
- Instanciar o gerenciamento de cookies e recuperar o Ledger atual armazenado no cookie.
- Verificar se há um Ledger válido e se o e-mail está presente. Se não, a função é encerrada.
- Se ambos estiverem disponíveis, chamar a função
addNewConversionpara registrar a nova conversão no Ledger. - Chamar a função
addEmailToLedgerpara adicionar ou atualizar o e-mail no Ledger. - 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.