DataFirefly Fidelización y Referidos: puntos, niveles y programa de referidos para PrestaShop
Instalación, obtención de puntos, niveles, puntos extra, conversión en cupones, referidos, caducidad, back office y solución de problemas.
Instalación
Instala el módulo desde Módulos > Gestor de módulos > Subir un módulo enviando el archivo ZIP, o copia la carpeta dfloyalty en el directorio /modules/ de tu tienda y haz clic en Instalar.
Al instalarse, el módulo crea sus tablas, guarda sus ajustes por defecto, crea cuatro niveles de estatus (Bronce, Plata, Oro, Platino) y añade la pestaña Clientes > Fidelización y Referidos. El botón Configurar del gestor de módulos abre directamente la pantalla de ajustes.
Empieza eligiendo el color de acento en Ajustes > General. Colorea los botones del módulo, las barras de progreso y los e-mails. Por defecto es un verde oscuro que quizá no encaje con tu marca.
Primeros ajustes
Los ajustes están agrupados en secciones, accesibles desde el menú de la izquierda. Antes de abrir el programa a tus clientes, revisa como mínimo:
- Puntos por unidad de moneda gastada: 1 por defecto, es decir 1 punto por euro. Se admiten decimales (0,5 = 1 punto cada 2 euros).
- Estados de pedido que confirman los puntos: por defecto pago aceptado, enviado y entregado.
- Tasa de conversión: 100 puntos = 5 € por defecto. El recuadro de la izquierda calcula en directo el porcentaje devuelto a los clientes una vez convertidos los puntos.
- Recompensas de referidos: 10 € para el amigo y 500 puntos para el padrino por defecto.
Obtención de puntos
Cálculo
Los puntos se calculan sobre las líneas de producto del pedido, en la moneda del cliente y luego convertidos a la moneda por defecto. Los gastos de envío nunca generan puntos. Tres opciones ajustan la base:
- Calcular sobre precios con IVA: desactívala para calcular sobre precios sin IVA.
- Descontar cupones y descuentos: las reglas de carrito del pedido (salvo envío gratuito) se restan de la base de forma proporcional.
- Sin puntos en productos ya rebajados: se excluyen los productos vendidos con reducción.
Después se aplican el multiplicador del nivel del cliente y los puntos extra del producto. El resultado se redondea a la baja.
Ciclo de vida de los puntos
- Al validar el pedido, los puntos se registran como pendientes. El cliente los ve en su cuenta pero no puede usarlos.
- Cuando el pedido alcanza uno de los estados que confirman los puntos, pasan a disponibles.
- Cuando el pedido pasa a uno de los estados que anulan los puntos, se retiran, estén pendientes o disponibles.
- Una factura por abono parcial retira la parte de puntos correspondiente al importe de productos reembolsado.
- Si un pedido cancelado vuelve a un estado de confirmación, los puntos vuelven.
Cada movimiento queda registrado en un historial que nunca se reescribe: se añade una línea de corrección en lugar de modificar una existente.
Puntos de regalo al registrarse
El ajuste Puntos regalados al registrarse abona un número fijo de puntos en cada creación de cuenta de cliente (no en pedidos como invitado). Deja 0 para desactivarlo.
Niveles de estatus
La pestaña Niveles lista los niveles por orden de umbral. Cada nivel tiene un nombre y un texto de ventajas traducibles, un umbral en puntos de estatus, un multiplicador de puntos y un color, usado en la tarjeta de miembro del cliente.
Los puntos de estatus son los puntos ganados, menos cancelaciones y reembolsos. Convertir puntos en cupones o dejarlos caducar no reduce el estatus. El ajuste Periodo del estatus limita el cálculo a los últimos N meses; deja 0 para contar desde el registro.
El primer nivel debe tener un umbral de 0 para que todos los clientes tengan estatus desde su primer pedido. Cuando un cliente alcanza un nuevo nivel, ve un mensaje de felicitación en su siguiente visita a la página de fidelización.
El texto de ventajas es informativo. Para que una ventaja se aplique de verdad, vincula el nivel a un grupo de clientes (ver abajo).
Grupo de clientes del nivel
En la ficha de un nivel, el campo Grupo de clientes de este nivel vincula el nivel a un grupo de PrestaShop. El módulo añade a ese grupo a los clientes que alcanzan el nivel y los retira cuando lo dejan. Configura en ese grupo una reducción (Clientes > Grupos), una regla de carrito de envío gratuito reservada al grupo o precios específicos: la ventaja se aplica sin intervención.
- Crea un grupo dedicado a cada nivel. Un cliente añadido a mano a ese grupo sería retirado si no tiene el nivel.
- El grupo por defecto del cliente nunca se modifica.
- La sincronización se hace con cada movimiento de puntos, al guardar un nivel y cada día con la tarea programada.
Puntos extra en productos
La pestaña Productos con bonus permite dar más puntos en ciertos productos. Busca el producto por nombre o referencia y elige:
- Multiplicador: 2 duplica los puntos de este producto.
- Puntos fijos por artículo: un número de puntos añadido por cada unidad, además de los puntos estándar.
Las fechas de inicio y fin son opcionales. Sin fechas, el bonus es permanente. La ficha de producto muestra una etiqueta (x2, +50) y los puntos a ganar, recalculados cuando el cliente cambia la cantidad. El bonus se combina con el multiplicador del nivel.
Conversión en cupones
Desde la cuenta del cliente
En la pestaña Recompensas de su página de fidelización, el cliente elige con un control deslizante cuántos puntos convertir, en múltiplos del número de puntos de la tasa de conversión. Obtiene un cupón personal con código DFPTS-XXXXXXXX, mostrado en una ventana con botón de copia y, si la opción está activa, enviado por e-mail.
Directamente en el carrito
Si la opción Permitir a los clientes usar sus puntos directamente en el carrito está activa, el bloque de fidelización del carrito muestra un control deslizante. El cupón se crea y se aplica con un clic, sin superar el total de productos. Desde este bloque solo se puede aplicar un cupón de puntos por carrito. Los cupones ya generados y sin usar aparecen también con un botón Aplicar.
Ajustes de los cupones
- Puntos mínimos para convertir: por debajo, el cliente ve una barra de progreso hacia el primer cupón.
- Validez del cupón: en días, 365 por defecto.
- Carrito mínimo para usarlo: 0 para ningún mínimo.
- Acumulación con otras reglas de carrito: desactívala si los cupones de fidelización no deben sumarse a tus códigos promocionales.
Los cupones son reglas de carrito estándar de PrestaShop, visibles en Catálogo > Descuentos, asignadas al cliente y de un solo uso.
Referidos
El enlace del padrino
Cada cliente tiene un código y un enlace de referido (parámetro ?dfref=CODIGO en la página de inicio), visibles en la pestaña Referidos de su página de fidelización. Puede copiar el enlace, compartirlo por WhatsApp, e-mail, Facebook o X, o con el menú de compartir de su móvil, y enviar invitaciones por e-mail desde el formulario.
La llegada del amigo
El visitante que hace clic en el enlace queda memorizado durante el tiempo definido en Memoria del enlace (30 días por defecto). Un banner discreto le presenta su regalo y un mensaje le acompaña en el formulario de registro. Al crear su cuenta, también durante el proceso de compra:
- si la recompensa del amigo es un importe o un porcentaje, se crea un cupón sin código que se añade automáticamente a su carrito, con la compra mínima y la validez configuradas;
- si es un número de puntos, se abonan al validarse su primer pedido.
Código introducido al registrarse
Con la opción Añadir un campo opcional «Código de referido» al formulario de registro, un amigo que recibió el código de palabra puede escribirlo al crear su cuenta. Un código desconocido se rechaza con un mensaje de error. El campo no aparece si el visitante ya llegó por un enlace de referido.
La recompensa del padrino
El padrino recibe su recompensa cuando el primer pedido del amigo alcanza un estado que confirma los puntos y el total de productos con IVA alcanza el Primer pedido mínimo del amigo. Recibe puntos o un cupón con código DFREF-XXXXXXXX, y un e-mail de agradecimiento.
Protecciones
- Un cliente no puede recomendarse a sí mismo, ni con la misma dirección de e-mail.
- Una dirección de e-mail que ya ha comprado en la tienda no se vincula a un padrino.
- Solo cuenta el primer pedido validado del amigo. Si está por debajo del mínimo, el referido pasa a No elegible.
- Las invitaciones por e-mail tienen un límite diario por cliente y una misma dirección no puede recibir dos invitaciones en 7 días.
Estados de un referido
Invitado: e-mail enviado por el cliente. Registrado: cuenta creada con el enlace. Recompensado: primer pedido validado, recompensas concedidas. No elegible: primer pedido por debajo del mínimo.
Caducidad y tarea programada
El ajuste Caducidad tras inactividad hace caducar el saldo de un cliente cuando no ha ganado puntos durante los meses indicados. Cada pedido aplaza la fecha, y el cliente la ve en su cuenta. Deja 0 para que los puntos no caduquen nunca.
La caducidad se aplica cuando el cliente abre su página de fidelización y mediante la tarea diaria cuya URL figura en Ajustes > Mantenimiento. Prográmala una vez al día en tu gestor de cron o en un módulo de tareas de PrestaShop. También envía los recordatorios de caducidad, abona los puntos de cumpleaños y actualiza los grupos de los niveles. El botón Ejecutar ahora la tarea diaria de la pestaña Mantenimiento hace lo mismo.
El ajuste Recordatorio antes de caducar (30 días por defecto) envía al cliente un e-mail con su saldo, su valor y la fecha de caducidad. Se envía un solo recordatorio por fecha; si el cliente compra entretanto, la fecha cambia y se enviará un nuevo recordatorio llegado el momento.
Añade &resync=1 a la URL para volver a procesar también los estados de los pedidos de los últimos 7 días.
Cumpleaños, newsletter y campañas
Puntos de cumpleaños
El ajuste Puntos de cumpleaños abona puntos una vez al año en la fecha de nacimiento indicada en la cuenta del cliente, con un e-mail de felicitación. Los concede la tarea diaria, y también el inicio de sesión del cliente o la apertura de su página de fidelización. Los clientes nacidos un 29 de febrero los reciben el 28 en los años no bisiestos. Por defecto, solo los clientes con un pedido validado tienen derecho, para evitar cuentas creadas solo por el regalo.
El campo de fecha de nacimiento debe mostrarse en el formulario de cliente: Parámetros de la tienda > Configuración de clientes, opción «Solicitar fecha de nacimiento».
Puntos por suscripción a la newsletter
El ajuste Puntos por suscripción a la newsletter abona puntos una sola vez por cliente: al registrarse si marca la casilla de newsletter, al suscribirse más tarde desde la cuenta, o mediante el bloque de newsletter del pie de página para una dirección que corresponda a una cuenta de cliente. Los suscriptores anteriores a la activación de la opción no reciben puntos con carácter retroactivo.
Campañas de puntos
La sección Campaña de puntos multiplica todos los puntos ganados entre dos fechas: 2 para puntos dobles. El multiplicador se suma al del nivel y a los bonus de producto. Durante la campaña, una etiqueta aparece en las fichas de producto, en el bloque del carrito y en la página de fidelización. Cuenta la fecha del pedido: un pedido realizado durante la campaña conserva sus puntos aumentados aunque se valide después del final.
Excluir grupos de clientes
En Ajustes > General, marca los grupos de clientes excluidos del programa, por ejemplo cuentas profesionales o el personal. Un cliente de uno de esos grupos no gana puntos, no ve el bloque de la cuenta, la página de fidelización ni los bloques de producto y carrito, y su enlace de referido no genera recompensa.
Lo que ve el cliente
- Mi cuenta: un bloque con el nombre del programa y el saldo, y un enlace en el bloque Mi cuenta del pie de página.
- Página de fidelización: tarjeta de miembro con los colores del nivel, progreso, pestañas Recompensas, Referidos, Historial y Estatus.
- Ficha de producto: puntos a ganar, valor en euros, etiqueta de bonus. Opción Mostrar los puntos que se ganan en las fichas de producto.
- Carrito: puntos del pedido, saldo, uso de puntos y cupones disponibles. Opción Mostrar el bloque de puntos en el carrito. El bloque se actualiza con cada cambio del carrito.
- Confirmación de pedido: puntos ganados, pendientes o ya abonados.
Back office
Panel
Puntos en circulación y su valor (el pasivo que representan los saldos), puntos pendientes, número de miembros, puntos ganados y convertidos en 30 días con gráfico, reparto de miembros por nivel, cupones creados y usados, embudo de referidos, mejores padrinos y actividad reciente.
Miembros y ficha de miembro
La pestaña Miembros lista los clientes con puntos, ordenados por saldo. La búsqueda abarca nombre, e-mail, ID de cliente o código de referido, e incluye clientes sin puntos para poder abonárselos. La ficha de miembro muestra saldo, nivel, historial, cupones y amigos referidos, y permite un ajuste manual: introduce un número positivo o negativo y un motivo, que el cliente verá en su historial.
La ficha de cliente nativa de PrestaShop también muestra un bloque con saldo, nivel, código de referido y un enlace a la ficha de miembro.
Página de pedido y exportaciones
En la página de un pedido del back office, un bloque indica los puntos del pedido y su estado, los bonus y multiplicadores aplicados, los cupones de fidelización usados y si se trata del primer pedido de un cliente referido. La pestaña Miembros ofrece dos exportaciones CSV: la lista de miembros (saldo, nivel, puntos de estatus, código de referido) y todos los movimientos de puntos. Los archivos se abren directamente en Excel o LibreOffice.
E-mails
El módulo envía seis e-mails en el idioma del destinatario: la invitación de un amigo, el regalo de bienvenida del amigo, la recompensa del padrino, el cupón creado a partir de los puntos, la felicitación de cumpleaños y el recordatorio de caducidad. Usan una plantilla única con el color de acento y el logotipo de la tienda. Los textos proceden de las traducciones del módulo; la plantilla está en mails/.
Datos y desinstalación
Por defecto, la opción Conservar saldos y ajustes al desinstalar el módulo está activa: desinstalar y reinstalar no hace perder nada. Desactívala antes de desinstalar si quieres borrar todos los datos. Cuando se elimina un cliente en PrestaShop, sus puntos, cupones registrados y referidos se eliminan con él.
El módulo es compatible con el módulo RGPD oficial de PrestaShop: la exportación de los datos de un cliente incluye su historial de puntos y su código de referido, y la eliminación de un cliente desde ese módulo borra sus datos de fidelización.
Solución de problemas
Los puntos siguen pendientes
Comprueba que el estado actual del pedido está marcado en Estados de pedido que confirman los puntos. Si un empleado cambió el estado y su perfil no tiene el permiso Ver sobre el módulo (Parámetros avanzados > Equipo > Permisos), PrestaShop no ejecutó el módulo: usa Resincronizar los pedidos de los últimos 90 días en Ajustes > Mantenimiento. Puede ejecutarse de nuevo sin riesgo de abono doble.
El bloque de fidelización no aparece en el carrito
El bloque se muestra mediante el hook displayShoppingCart, presente en el tema Classic. Si tu tema no lo llama, añade {hook h='displayShoppingCart'} en la plantilla del carrito, o contáctanos indicando el tema.
El banner de referidos no aparece
Solo se muestra a visitantes no conectados que llegan por un enlace válido, y queda oculto 3 días después de cerrarlo. Prueba en una ventana de navegación privada.
Algunos textos siguen en inglés
El módulo se entrega en 8 idiomas. Para otro idioma, o para modificar un texto, usa Internacional > Traducciones > Traducciones de módulos instalados.
Compatibilidad
- PrestaShop 8.0 a 9.x, el mismo ZIP cubre ambas ramas.
- Multiidioma y multimoneda. En multitienda, el saldo de un cliente es común a todas las tiendas.
- Arquitectura ModuleAdminController, sin dependencias Composer.
- Módulo y e-mails traducidos a inglés, francés, español, alemán, italiano, neerlandés, polaco y portugués.