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

# Interpretación de Resultados

> Una breve guía sobre como interpretar correctamente los resultados de las campañas en Altur.

Después de ejecutar una campaña, Altur permite descargar múltiples archivos `.csv`. En esta guía se detalla el contenido de cada uno de ellos y cómo interpretar correctamente los resultados.

### Exportación de Contactos

Este archivo CSV contiene **todos los contactos** agregados a la campaña junto con su estado actual y métricas asociadas.

#### Columnas del Archivo

**Columnas Básicas:**

* `campaign_name`: Nombre de la campaña.
* `campaign_date`: Fecha de creación de la campaña (formato: YYYY-MM-DD).
* `id`: Identificador único del contacto en el archivo de importación (si se proporcionó).
* `contact`: Número de teléfono en formato E.164.
* `name`: Nombre del contacto.
* `context`: Contexto o información adicional del contacto.
* `status`: Estado actual del contacto en la campaña (ver sección de estados).
* `retries`: Número de reintentos realizados.
* `calls`: Número total de llamadas realizadas al contacto (solo campañas de llamadas).
* `billed_duration`: Duración facturable total en formato legible (solo campañas de llamadas).
* `last_update`: Fecha y hora de la última actualización del estado.
* `follow_up`: Indica si el contacto tiene un seguimiento programado (`True`/`False`).

**Columnas Dinámicas:**

* **Tags**: Una columna por cada etiqueta configurada en el agente. El valor será `True` si el contacto tiene esa etiqueta, `False` en caso contrario.
* **Campos Extraíbles**: Una columna por cada campo de datos configurado para extracción en el agente (ej: "email", "interés", "calificación").

#### Estados de Contacto en Campaña

Los contactos pueden tener diferentes estados según el canal de la campaña.

##### Estados Comunes (Ambos Canales)

| Estado | Descripción |
| - | - |
| `queue` | En cola, esperando ser procesado |
| `sending` | Enviando mensaje o iniciando llamada |
| `failed` | Fallo general en el envío/llamada |
| `retrying` | En reintento después de estado fallido o no respuesta |
| `converted` | Contacto marcado como convertido por el sistema |

##### Estados Específicos de Llamadas

| Estado | Descripción |
| - | - |
| `voicemail` | Llamada contestada por buzón de voz |
| `answered` | Llamada contestada |

##### Estados Específicos de WhatsApp

| Estado | Descripción |
| - | - |
| `sent` | Mensaje enviado |
| `delivered` | Mensaje entregado |
| `read` | Mensaje leído |
| `accepted` | Contacto aceptó la conversación |
| `rejected` | Contacto rechazó la conversación |

<Warning>
  **Estados Obsoletos (Solo Datos Heredados):** Los siguientes estados ya no se asignan a nuevos registros, pero pueden aparecer al consultar datos heredados creados antes de enero de 2026:

  * `no-answer` → Ahora se mapea a `failed`
  * `busy` → Ahora se mapea a `failed`
  * `unreachable` → Ahora se mapea a `failed`
</Warning>

<Info>
  **Condicional:** Estos estados pueden cambiar a `queue` o `retrying` si el
  sistema determina que hay reintentos disponibles según la configuración de la
  campaña.
</Info>

#### Interpretación de Reintentos

* `retries`: Contador de reintentos específico para llamadas que caen en buzón de voz. El límite se configura en la campaña.
* `failed_retries` (no visible en CSV): Sistema interno que reintenta contactos con estado `failed`. Límite definido en configuración del sistema (normalmente 1).

**Lógica de Reintentos:**

1. Si un contacto cae en `voicemail` y `retries < limite_campaña`, el estado cambiará a `retrying` y se volverá a intentar el contacto.
2. Si un contacto tiene `failed`, y no ha excedido el límite de reintentos del sistema, volverá a `queue` .
3. Cuando se exceden los límites, el estado se mantiene como final.

### Exportación de Llamadas

Este archivo CSV contiene **cada llamada individual** realizada durante la campaña, permitiendo análisis detallado de cada interacción.

#### Columnas del Archivo

**Columnas Básicas:**

* `campaign_name`: Nombre de la campaña.
* `campaign_date`: Fecha de creación de la campaña.
* `id`: ID único de la llamada.
* `number_to`: Número de teléfono destino (E.164).
* `contact_name`: Nombre del contacto.
* `type`: Tipo de llamada (`inbound` / `outbound`).
* `status`: Estado final de la llamada (ver sección de estados).
* `answered_by`: Quién contestó la llamada (ver siguiente sección).
* `created_at`: Fecha y hora de creación de la llamada.
* `started_at`: Fecha y hora de inicio de la llamada (cuando fue contestada).
* `ended_at`: Fecha y hora de finalización de la llamada.
* `ended_by`: Quién finalizó la llamada (`agent`, `user` o `system`). Vacío si la llamada nunca conectó.
* `ended_reason`: Motivo breve por el que finalizó la llamada. Vacío si no está disponible.
* `duration`: Duración total en formato legible (MM:SS).
* `billed_duration`: Duración facturable en formato legible (MM:SS).
* `recording_url`: URL para descargar la grabación de la llamada.

**Columnas Dinámicas:**

* **Tags**: Una columna por cada etiqueta configurada en el agente.
* **Campos Extraíbles**: Datos extraídos durante la conversación.

#### Estados de Llamada

Las llamadas individuales pueden tener los siguientes estados (`status`):

| Estado | Descripción |
| - | - |
| `created` | Llamada creada en el sistema |
| `queued` | Llamada en cola para ser marcada |
| `ringing` | Teléfono sonando |
| `in-progress` | Llamada en curso |
| `forwarding` | Llamada siendo transferida |
| `ended` | Llamada terminada exitosamente |
| `busy` | Línea ocupada |
| `no-answer` | No hubo respuesta |
| `failed` | Error en la llamada |

#### Tipos de Respuesta (answered\_by)

Este campo es crítico para entender quién contestó la llamada:

| Valor | Descripción | Impacto en Facturación |
| - | - | - |
| `human` | Contestó un humano | Tarifa completa |
| `machine` | Contestó contestadora automática | Tarifa limitada a 5 segundos |
| `unknown` | No se pudo determinar | Según configuración |

**Nota importante sobre facturación:**

* Las llamadas contestadas por contestadoras (`machine`) tienen una tarifa reducida.
* La duración facturable (`billed_duration`) aplica el limite a llamadas en buzón automáticamente.
* Solo las llamadas con `answered_by: human` se incluyen en la exportación de grabaciones.

#### Diferencia entre Duration y Billed Duration

* `duration`: Tiempo total desde que la llamada fue contestada hasta que finalizó.
* `billed_duration`: Tiempo que se facutra como consumo:
  * Para `human`: igual a `duration` .
  * Para `machine`: `duration` limitado a 5 segundos.

### Exportación de Resultados

Este archivo CSV es una **versión filtrada** de la exportación de contactos que incluye **únicamente los contactos que tienen datos extraídos**.

#### Diferencias con Exportación de Contactos

* **Incluye**: Solo contactos con datos extraídos.
* **Propósito**: Análisis de conversiones y resultados positivos de la campaña.
* **Columnas**: Idénticas a la exportación de contactos.

#### Casos de Uso

Este export es útil para:

* Analizar leads calificados que completaron el flujo de conversación.
* Obtener información estructurada recopilada durante las conversaciones (emails, fechas, preferencias, etc.).
* Calcular tasas de conversión efectivas.
* Integrar con CRMs u otros sistemas downstream.

***

#### Estados de Campaña

| Estado | Descripción |
| - | - |
| `Pendiente (pending)` | Campaña creada, esperando contactos |
| `Lista (ready)` | Contactos cargados, lista para activar |
| `Activa (active)` | Campaña en ejecución |
| `Inactiva (inactive)` | Campaña pausada manualmente |
| `En Cooldown (cooldown)` | Entre ciclos, esperando para reanudar |
| `Finalizada (finished)` | Todos los ciclos completados |

#### Interpretación de Ciclos en Resultados

Cuando una campaña tiene ciclos habilitados:

* Los contactos que no alcancen un estado "final exitoso" serán reintentados.
* El campo `retries` se reinicia en cada ciclo.
* Los estados dentro del filtro de para los ciclos no volverán a cola en el siguiente ciclo

***

### Mejores Prácticas para Análisis

1. **Para medir alcance**: Usar exportación de **Contactos** y contar estados:
   * **Para Llamadas:**
     * `answered`
     * `converted`
   * **Para WhatsApp:**
     * `delivered`
     * `accepted`
     * `read`
     * `converted`
2. **Para medir conversión**: Usar exportación de \*\*Contactos \*\*y filtrar/contar contactos en estado `converted` o **Resultados** y analizar campos extraídos.
3. **Para auditoría de costos**: Usar exportación de **Llamadas** y sumar `billed_duration` por `answered_by` .

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.