# Campos Calculados Explicados

**Limitado**: Campos personalizados calculados estão disponíveis apenas para certas edições do produto. [Contate o suporte](https://app.impact.com/support/portal.ihtml?createTicket=true&) para atualizar seu programa de defensores e obter acesso.

Através de [campos personalizados](https://help.impact.com/brand/pt-br/advocate-program/manage-advocate-participants/custom-and-calculated-fields/custom-fields-for-advocate-explained), você pode enviar à impact.com uma ampla gama de informações adicionais sobre seus participantes do Advocate além do básico necessário para executar seu programa de indicações.

Campos calculados recebem dados de usuário e eventos, e os valores são calculados, armazenados e ficam visíveis no perfil do participante. Uma vez configurado o campo calculado, seu valor será atualizado dinamicamente conforme você enviar os eventos do programa Advocate que atendam aos seus critérios.

{% hint style="info" %}
**Exemplo:** Um campo calculado pode ser configurado para contar quantas vezes um participante faz uma compra de pelo menos $100 em uma janela de um mês. Então, você pode configurar seu programa para emitir recompensas especiais a participantes que realizem pelo menos 3 dessas compras de $100 em um mês.
{% endhint %}

#### Campos calculados padrão

Por padrão, você recebe quatro campos calculados. Você pode referenciá-los assim que começar a configurar as regras do seu programa.

<details>

<summary>Campos calculados padrão</summary>

| Campo calculado    | Descrição                                                                             |
| ------------------ | ------------------------------------------------------------------------------------- |
| lastSeenDate       | Rastreia a última vez que o usuário foi upsertado no Advocate.                        |
| firstPurchaseDate  | Rastreia a primeira data em que recebemos um evento de compra para este participante. |
| lastPurchaseDate   | Rastreia a data do evento de compra mais recente do participante.                     |
| totalPurchaseCount | Rastreia o número total de eventos de compra para este participante.                  |

</details>

#### Campos calculados criados pelo cliente

Você pode criar seus próprios campos calculados que vão além dos padrões fornecidos. Ao configurar um campo calculado, você pode:

* Adicionar uma data de início e término se quiser que o cálculo seja executado por um período limitado (por exemplo, 1º de janeiro a 17 de fevereiro). Esse intervalo de tempo definido é chamado de período ativo.
* Especificar uma [janela de rastreamento](https://help.impact.com/brand/pt-br/advocate-program/manage-advocate-participants/custom-and-calculated-fields/tracking-windows-for-calculated-fields-explained) recorrente para seus cálculos de soma e contagem. As janelas de rastreamento podem ser janelas fixas (por exemplo, um único mês ou ano do calendário) ou janelas deslizantes (por exemplo, últimos 90 dias).
* Definir restrições adicionais para quando o cálculo é executado adicionando um filtro ou escrevendo uma expressão JSONata. Essas opções são discutidas com mais detalhes em nosso artigo [Configurando um Campo Calculado](https://help.impact.com/brand/pt-br/advocate-program/manage-advocate-participants/custom-and-calculated-fields/set-up-a-calculated-field).

{% hint style="info" %}
**Observação:** Se seu campo calculado tiver um período ativo ou janela de rastreamento, então os valores não serão atualizados após o término do período de cálculo. Se seu campo calculado tiver um período ativo (ou uma janela de rastreamento, apenas para cálculos de soma/contagem), os valores não serão mais atualizados após o término do período de cálculo. No entanto, os valores permanecerão visíveis no perfil de cada participante.
{% endhint %}

<details>

<summary>Campos calculados criados pelo cliente</summary>

Existem vários tipos de cálculos que você pode usar ao criar um campo calculado.

| Cálculo                      | Descrição                                                                          | Exemplo                                                                                                                                                                         |
| ---------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Soma                         | Calcular a soma do `{fieldname}` campo de `{eventkey}` eventos                     | Some todas as compras que um amigo indicado fizer dentro dos primeiros 30 dias após o cadastro. Emita recompensas em níveis para o defensor do cliente com base no valor gasto. |
| Contagem                     | Contar o número de `{eventkey}` eventos                                            | Recompense os participantes quando eles tiverem feito mais de 10 compras.                                                                                                       |
| Primeira Visualização (Data) | Calcular o timestamp do primeiro `{eventkey}` evento                               | Recompense os participantes se eles começaram a fazer compras antes de uma determinada data.                                                                                    |
| Última Visualização (Data)   | Calcular o timestamp do último `{eventkey}` evento                                 | Recompense os participantes se a última compra deles foi dentro de 5 dias.                                                                                                      |
| Primeiro Valor               | Calcular o valor do `{fieldname}` campo a partir do primeiro evento {eventkey}     | Recompense os participantes quando fizerem uma primeira compra de alto valor.                                                                                                   |
| Último Valor                 | Calcular o valor do `{fieldname}` campo do evento mais recente `{eventkey}` evento | Recompense os participantes quando o último pagamento deles foi de pelo menos um determinado valor.                                                                             |

</details>
