# Explicación de campos calculados

**Limitado**: Los campos calculados personalizados solo están disponibles para ciertas ediciones de producto. [Contactar con soporte](https://app.impact.com/support/portal.ihtml?createTicket=true&) para actualizar su programa de defensores y obtener acceso.

A través de [campos personalizados](https://help.impact.com/brand/es/advocate-program/manage-advocate-participants/custom-and-calculated-fields/custom-fields-for-advocate-explained), puedes enviar a impact.com una amplia gama de información adicional sobre tus participantes Advocate más allá de lo básico requerido para ejecutar tu programa de referidos.

Los campos calculados reciben datos de usuario y de eventos, y los valores se calculan, almacenan y se vuelven visibles en el perfil del participante. Una vez configurado el campo calculado, su valor se actualizará dinámicamente a medida que envíes a Advocate los eventos de tu programa que cumplan tus criterios.

{% hint style="info" %}
**Ejemplo:** Se puede configurar un campo calculado para contar cuántas veces un participante realiza una compra de al menos $100 en una ventana de un mes. Luego, puedes configurar tu programa para emitir recompensas especiales a los participantes que realicen al menos 3 de estas compras de $100 en un mes.
{% endhint %}

#### Campos calculados predeterminados

Por defecto, se te proporcionan cuatro campos calculados. Puedes hacer referencia a ellos tan pronto como comiences a configurar las reglas de tu programa.

<details>

<summary>Campos calculados predeterminados</summary>

| Campo calculado    | Descripción                                                                               |
| ------------------ | ----------------------------------------------------------------------------------------- |
| lastSeenDate       | Registra la última vez que el usuario fue upsertado en Advocate.                          |
| firstPurchaseDate  | Registra la primera fecha en la que recibimos un evento de compra para este participante. |
| lastPurchaseDate   | Registra la fecha del evento de compra más reciente del participante.                     |
| totalPurchaseCount | Registra el número total de eventos de compra de este participante.                       |

</details>

#### Campos calculados creados por el cliente

Puedes crear tus propios campos calculados que vayan más allá de los predeterminados. Al configurar un campo calculado, puedes:

* Agregar una fecha de inicio y fin si deseas que el cálculo se ejecute por un tiempo limitado (por ejemplo, del 1 de enero al 17 de febrero). Este marco temporal establecido se llama período activo.
* Especificar una [ventana de seguimiento](https://help.impact.com/brand/es/advocate-program/manage-advocate-participants/custom-and-calculated-fields/tracking-windows-for-calculated-fields-explained) recurrente para tus cálculos de suma y conteo. Las ventanas de seguimiento pueden ser ventanas fijas (por ejemplo, un mes o año del calendario) o ventanas deslizantes (por ejemplo, los últimos 90 días).
* Establecer restricciones adicionales para cuándo se realiza el cálculo añadiendo un filtro o escribiendo una expresión JSONata. Estas opciones se discuten con mayor detalle en nuestro artículo [Configuración de un campo calculado](https://help.impact.com/brand/es/advocate-program/manage-advocate-participants/custom-and-calculated-fields/set-up-a-calculated-field).

{% hint style="info" %}
**Nota:** Si tu campo calculado tiene un período activo o una ventana de seguimiento, entonces los valores no se actualizarán después de que termine el período de cálculo. Si tu campo calculado tiene un período activo (o una ventana de seguimiento, solo para cálculos de suma/conteo), los valores no se actualizarán más después de que finalice el período de cálculo. Sin embargo, los valores permanecerán visibles en el perfil de cada participante.
{% endhint %}

<details>

<summary>Campos calculados creados por el cliente</summary>

Hay varios tipos de cálculos que puedes usar al crear un campo calculado.

| Cálculo                   | Descripción                                                                           | Ejemplo                                                                                                                                                                             |
| ------------------------- | ------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Suma                      | Calcular la suma del `{fieldname}` campo de `{eventkey}` eventos                      | Suma todas las compras que hace un amigo referido dentro de los primeros 30 días después del registro. Emite recompensas por niveles al cliente defensor según la cantidad gastada. |
| Conteo                    | Contar el número de `{eventkey}` eventos                                              | Recompensar a los participantes cuando hayan realizado más de 10 compras.                                                                                                           |
| Primera vez visto (Fecha) | Calcular la marca de tiempo del primer `{eventkey}` evento                            | Recompensar a los participantes si comenzaron a realizar compras antes de una fecha determinada.                                                                                    |
| Última vez visto (Fecha)  | Calcular la marca de tiempo del último `{eventkey}` evento                            | Recompensar a los participantes si su última compra fue dentro de los 5 días.                                                                                                       |
| Primer valor              | Calcular el valor del `{fieldname}` campo del primer evento {eventkey}                | Recompensar a los participantes cuando realizan una gran primera compra.                                                                                                            |
| Último valor              | Calcular el valor del `{fieldname}` campo del evento más reciente `{eventkey}` evento | Recompensar a los participantes cuando su último pago fue al menos de cierto valor.                                                                                                 |

</details>
