# Cupón de cumpleaños: documentación del módulo PrestaShop

> Presentación El módulo envía automáticamente a tus clientes un código de descuento personal en tres ocasiones: su cumpleaños, el aniversario de su primer pedido válido y el aniversario de la…

- Página: <https://www.datafirefly.com/es/documentation/dfkeydates/>
- Idioma: es
- Actualizado el: 2026-09-24
- Otros idiomas: [fr](https://www.datafirefly.com/documentation/dfkeydates/index.md), [en](https://www.datafirefly.com/en/documentation/dfkeydates/index.md), [de](https://www.datafirefly.com/de/documentation/dfkeydates/index.md), [it](https://www.datafirefly.com/it/documentation/dfkeydates/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfkeydates/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfkeydates/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfkeydates/index.md)
- Índice: <https://www.datafirefly.com/es/documentation/llms.txt>

## Presentación

El módulo envía automáticamente a tus clientes un código de descuento personal en tres ocasiones: su cumpleaños, el aniversario de su primer pedido válido y el aniversario de la creación de su cuenta. Cada código es una regla de carrito nativa de PrestaShop, reservada al cliente y utilizable una sola vez. Después, el módulo mide la facturación de los pedidos realizados con estos códigos.

Compatibilidad: PrestaShop 8.0 a 9.x, multitienda, 8 idiomas (inglés, francés, español, alemán, italiano, neerlandés, polaco, portugués).

## Instalación

1. En **Módulos > Gestor de módulos**, haz clic en **Subir un módulo** y envía el archivo ZIP.
2. El módulo crea dos tablas, registra sus hooks, genera el token de la tarea programada y copia las plantillas de e-mail para cada idioma instalado.
3. Aparece una nueva pestaña **Cumpleaños y fechas especiales** en el menú **Clientes**. El botón **Configurar** del módulo también lleva a ella.

Para pasar de la 1.0.0 a la 1.1.0, basta con subir el nuevo ZIP: el script de actualización registra los nuevos hooks.

El panel muestra una lista «Primeros pasos» mientras no se hayan completado los cuatro pasos esenciales: activar una campaña, enviarte un e-mail de prueba, programar la tarea diaria y recopilar las fechas de nacimiento.

## Configurar las campañas

La pestaña **Campañas** tiene una tarjeta por ocasión. Actívala con el interruptor de arriba a la derecha: aparecen los ajustes y la vista previa del e-mail.

### La oferta

- **Tipo de descuento**: porcentaje, importe fijo (en la moneda por defecto) o envío gratuito.
- **Valor** y **Ofrecer también el envío gratuito** además de un porcentaje o un importe.
- **Pedido mínimo (IVA incl.)**: 0 para no exigir mínimo.
- **Validez después de la fecha**: días de validez del código a partir de la fecha de la ocasión.
- **Enviar con antelación**: número de días antes de la fecha. 0 envía el mismo día.
- **Aumento por año adicional** y **Valor máximo** (aniversarios de pedido y de cuenta): por ejemplo 10 % el primer año, +2 por año, con un tope del 20 %.
- **Excluir los productos ya rebajados** y **Acumulable con otros cupones**.

### Quién lo recibe

- **Número mínimo de pedidos válidos**: 0 en el cumpleaños incluye a los clientes que nunca han comprado.
- **Prefijo del código**: por ejemplo BDAY genera códigos como BDAY-7KQ2M9.
- **Grupos de clientes**: ninguno marcado significa todos los grupos.

### El e-mail

Edita el asunto, el título y el mensaje de cada idioma con las pestañas de idioma. La vista previa de la derecha se actualiza en directo con el descuento real. Etiquetas disponibles: `{firstname}`, `{lastname}`, `{discount}`, `{code}`, `{expiry_date}`, `{min_amount}`, `{years}` (excepto cumpleaños) y `{shop_name}`. Un campo vacío usa el texto por defecto del idioma.

El botón **Guardar y enviar una prueba** envía el e-mail a la dirección del empleado conectado, en su idioma.

## Programar el envío diario

En **Automatización y ajustes**, copia la URL de la tarea programada y llámala una vez al día, idealmente temprano por la mañana. Ejemplo de línea cron:

```
0 7 * * * curl -s "https://tu-tienda.com/module/dfkeydates/cron?token=TU_TOKEN" >/dev/null
```

Cada ejecución crea los códigos del día, envía los e-mails y los recordatorios, vincula los códigos usados a su pedido y elimina los códigos caducados sin usar.

- **Recuperación de días perdidos** (2 por defecto): si la tarea no se ejecutó, se procesan las fechas de los días anteriores.
- **Códigos máximos por ejecución** (200 por defecto): el resto se envía en la siguiente ejecución.
- **Ejecutar también con las visitas**: sin cron, el módulo se ejecuta con las visitas a la tienda, como máximo una vez por hora, después de enviar la página. Se detiene en cuanto se ha llamado a un cron real en las últimas 26 horas.

Los botones **Simular hoy** (lista de los códigos que saldrían, sin enviar nada), **Ejecutar ahora**, **Resincronizar los códigos usados** y **Nuevo token** están en la misma página.

Cada cliente recibe como máximo un código por ocasión y por año. Puedes lanzar la tarea varias veces sin riesgo de duplicados.

## Antiabuso y recogida de fechas de nacimiento

El **periodo de espera tras el registro o un cambio de cumpleaños** (30 días por defecto) bloquea el código de cumpleaños para una cuenta demasiado reciente o cuya fecha se acaba de introducir o cambiar en la tienda. Los cambios hechos por un empleado en el back office no activan este periodo.

Las fechas de nacimiento vienen del campo nativo de la cuenta del cliente (**Clientes > Configuración > Fecha de nacimiento**). Si ese campo está desactivado, el módulo las recoge por sí mismo:

- en la **página de confirmación del pedido**, cuando la fecha se desconoce (opción _Pedir la fecha de nacimiento en la página de confirmación del pedido si se desconoce_);
- en la página **Mis regalos y fechas especiales** de la cuenta del cliente.

El panel muestra el porcentaje de cuentas con fecha conocida.

## Recordatorio antes de la caducidad

Activa el recordatorio y elige cuántos días antes de la caducidad se envía. Solo sale si el código no se ha usado. Los textos del recordatorio y el texto del botón de todos los e-mails se ajustan por idioma. El botón **Enviar un recordatorio de prueba** guarda los ajustes y te envía un ejemplo.

## Código aplicado en un clic

El botón de cada e-mail apunta a un enlace firmado propio del código. El módulo memoriza el código y lo añade al carrito en cuanto el cliente ha iniciado sesión y tiene productos en el carrito. Si no ha iniciado sesión, se le lleva a la página de acceso. Si no se alcanza el pedido mínimo, el código espera y se aplica en cuanto se alcanza. Un código caducado, ya usado o destinado a otro cliente se rechaza con un mensaje.

## La página de cliente «Mis regalos y fechas especiales»

Accesible desde **Mi cuenta**, muestra los códigos activos con un botón para copiarlos y otro **Usarlo en mi carrito**, las próximas fechas especiales del cliente, el formulario de fecha de nacimiento, los regalos anteriores y una casilla para dejar de recibir estos e-mails. Puedes ocultar esta página en los ajustes.

## Estadísticas y seguimiento de la facturación

La pestaña **Panel** muestra, para el periodo elegido:

- la **facturación generada** sin IVA y con IVA, calculada sobre los pedidos válidos que usaron un código, convertida a la moneda por defecto;
- los **códigos enviados y usados**, la tasa de conversión y el ticket medio;
- el **descuento concedido** y el retorno (facturación dividida por el descuento);
- los **pedidos sin el código** realizados mientras un código era válido;
- un gráfico de 12 meses, el rendimiento por ocasión, los envíos de los próximos 30 días y los últimos pedidos con un código.

La facturación se atribuye al periodo de envío del código. La pestaña **Códigos enviados** lista todos los códigos con búsqueda, filtros por ocasión, estado y fecha, reenvío del e-mail de un código activo y exportación CSV. La ficha de cliente del back office también muestra los códigos enviados a ese cliente.

## Limpieza de los códigos caducados

El ajuste **Eliminar los códigos caducados no usados tras** (30 días por defecto) elimina las reglas de carrito correspondientes para mantener legible **Catálogo > Descuentos**. El historial y las estadísticas del módulo se conservan. Pon 0 para no eliminar nunca.

## RGPD

El módulo se registra en el módulo RGPD oficial de PrestaShop. La exportación de los datos de un cliente incluye sus códigos y preferencias, y la eliminación borra el historial del módulo para ese cliente. Cada cliente puede darse de baja de estos e-mails desde su cuenta.

## Multitienda

Las campañas y los ajustes son propios de cada tienda. Selecciona una tienda en el menú multitienda para modificarlos. Los códigos creados se limitan a la tienda correspondiente.

## Preguntas frecuentes y solución de problemas

### No se envía ningún código

Comprueba que al menos una campaña está activada y usa **Simular hoy**. Si la lista está vacía, ningún cliente cumple los criterios del día: fecha desconocida, periodo de espera antiabuso en curso, grupo no seleccionado, pedidos insuficientes o cliente dado de baja.

### Los e-mails no llegan

Envía un e-mail de prueba desde una campaña. Si no llega, revisa la configuración de e-mail de PrestaShop en **Parámetros avanzados > E-mail**. Un código cuyo e-mail falló aparece señalado en la lista de códigos y se puede reenviar.

### Un pedido no aparece en las estadísticas

Solo se cuentan los pedidos válidos. Si un empleado sin permiso sobre el módulo creó un pedido en el back office, haz clic en **Resincronizar los códigos usados**; la tarea diaria también lo hace automáticamente.
