Lead Rate Planner
Planea tarifas por lead para clientes pixel: rate por partner, evento y etapa, con cap mensual y edición vigente el primer día del mes siguiente.
Lead Rate Planner
El Lead Rate Planner es la vista mensual de planeación de tarifas por lead. Muestra una tabla por combinación de partner × evento × etapa con el rate vigente, el cap mensual, los leads del mes en curso (MTD) y lo ganado, y permite fijar la tarifa del mes siguiente con un editor en línea.
Aplica a clientes pixel/lead-gen (como Quote u Optimal), es decir, clientes con tracking = 'pixel'. Para esos clientes, la ruta /v2/c/:slug/planner renderiza el Lead Rate Planner en lugar del Monthly Planner: el planner normal lee agregados de ventas MMP que los clientes pixel no tienen, por lo que allí verían todo en ceros. Los clientes híbridos siguen usando el Monthly Planner porque operan ambos rieles.
Flujo
Navegación de mes
En el encabezado, junto al título Lead Rate Planner, hay flechas de mes anterior/siguiente y un botón Refresh. El subtítulo muestra el cliente activo y el mes seleccionado. Los datos se recargan solos al cambiar de mes.
Tabla de rates
Cada fila es una combinación partner × evento × etapa con actividad en el mes:
| Columna | Descripción |
|---|---|
| Partner | Nombre del afiliado. |
| Event | Evento trackeado (lead_submit, signup, form_submit, etc.). |
| Stage | Etapa del funnel (raw, qualified, sold...); any cuando el rate no distingue etapa. |
| Rate | Tarifa vigente: fija ($x) o porcentaje (x%) según el tipo de rate. |
| Cap / mo | Cap mensual en la moneda del rate; — significa ilimitado. |
| MTD Leads | Leads del mes a la fecha para esa combinación. |
| MTD Earned | Lo ganado en el mes a la fecha (rate × leads, respetando el cap). |
| Next month | Botón Set next month → para abrir el editor en línea. |
Si el mes no tiene actividad, la tabla se reemplaza por un estado vacío: los rates se fijan por partner desde la pestaña Partners de cada campaña.
Fijar el rate del mes siguiente
Al presionar Set next month → la fila se expande con tres campos:
- Campaña (opcional): elige Client-level default (all) para fijar el rate a nivel cliente, o una campaña concreta para crear un override que pisa el default solo en esa campaña.
- Rate: número nuevo. El placeholder indica si se espera porcentaje o monto fijo según el tipo de rate de la fila.
- Cap: cap mensual opcional. Déjalo en blanco para ilimitado.
Validaciones al guardar:
- El rate debe ser un número válido y no negativo.
- El cap debe ser numérico o estar en blanco;
0se rechaza (usa blanco para ilimitado).
Al confirmar se hace POST /api/partners/:id/lead-rates con effective_from igual al primer día del mes siguiente (si estás viendo diciembre, rueda a enero del año siguiente). No existe UPDATE: cada cambio inserta una fila nueva en partner_lead_rates, así los periodos pasados conservan sus rates históricos y la auditoría es trivial. La nota al pie de la tabla recuerda la fecha exacta de vigencia.
El pie del editor también te dice qué estás fijando: el default de cliente (aplica donde no haya rate específico de campaña) o el override de la campaña elegida.
Estados de carga y error
- Loading: spinner centrado mientras se consulta
/api/monthly-planner/lead-data; el botón Refresh también gira. - Error: banner rojo con el mensaje; usa Refresh para reintentar.
- Empty: tarjeta indicando que aún no hay actividad de leads en el mes.
¿Necesitas ayuda?
Si una fila no aparece, verifica que el partner esté vinculado al cliente (partner_clients) y que haya leads atribuidos en el mes — los leads sin partner no generan filas en el planner. Si el guardado falla con "Partner not linked to this client", primero vincula el partner al cliente. Para ver cómo llegan los leads, revisa la guía de Client leads.