Donation Recovery captura automáticamente la intención del donante en sus formularios de recaudación de fondos y envía un correo electrónico de recordatorio personalizado cuando una donación se deja incompleta. Cuando un donante regresa a través del enlace de recuperación, su formulario se rellena previamente para que pueda completar su donación en segundos.
Disponible en Charitable Pro 1.8.13.5 o superior.
Características clave
- Rastrea silenciosamente la actividad del donante (correo electrónico, nombre, importe) mientras los donantes completan los formularios de donación
- Detecta automáticamente sesiones abandonadas mediante un trabajo cron en segundo plano
- Envía un correo electrónico de recuperación HTML de marca con un enlace de "Completar mi donación" de un solo clic
- Rellena previamente el formulario de donación con los detalles introducidos previamente por el donante cuando regresa
- Mecanismo de cancelación de suscripción integrado en cada correo electrónico de recuperación
- Control de alcance por campaña: elige exactamente qué campañas participan
- Pestaña de Informes dedicada con estadísticas filtradas por fecha, una tabla de sesiones y exportación CSV
- Las estadísticas de recuperación aparecen directamente en el mosaico Resumen de Informes
¿Por qué usar Donation Recovery?
Incluso los donantes motivados abandonan los formularios de donación: una distracción, una carga lenta de la página o una interrupción pueden finalizar una sesión antes de que se convierta. Donation Recovery captura esos momentos automáticamente y brinda a los donantes un camino sin fricciones para completar su donación, sin ningún seguimiento manual de su equipo.
Verlo en acción
Requisitos
- Charitable Pro 1.8.13.1 o posterior
- WordPress 6.2 o posterior
- PHP 7.2 o posterior
- WP-Cron habilitado (o un disparador cron externo)
Empezar
Activación
- En su panel de administración de WordPress, vaya a Charitable > Ajustes > General.
- Haga clic en la subpestaña Donation Recovery.
- Marque Habilitar Donation Recovery.
- En Ámbito de recuperación de campañas, seleccione las campañas que desea rastrear. No se incluyen campañas de forma predeterminada.
- Haga clic en Guardar ajustes.
La recuperación está ahora activa para las campañas seleccionadas. Las sesiones se detectarán y los correos electrónicos se programarán automáticamente.
Opciones de configuración
Todos los ajustes se encuentran en Charitable > Ajustes > General > Donation Recovery.
Ajustes principales
| Configuración | Tipo | Predeterminado | Descripción |
|---|---|---|---|
| Habilitar Donation Recovery | Casilla de verificación | Activado | Interruptor maestro de encendido/apagado para toda la función. |
| Corte de abandono | Número (minutos) | 60 | Minutos de inactividad antes de que una sesión se marque como abandonada. Mín: 15. Máx: 1440 (24 horas). |
| Retención de sesiones | Número (días) | 90 | Cuántos días se conservan los registros de sesiones antes de la limpieza automática. Mín: 30. Máx: 365. |
Ámbito de recuperación de campañas
Seleccione qué campañas participan en la recuperación. La lista muestra todas las campañas publicadas y no caducadas junto con el recuento total de sesiones de cada campaña, el recuento recuperado y la tasa de recuperación. Un cuadro de búsqueda y los botones Seleccionar todo / Deseleccionar todo ayudan a administrar listas de campañas grandes.
| Opción | Descripción |
|---|---|
| Casillas de verificación de campañas | Seleccione campañas individuales para habilitar el seguimiento de recuperación. |
| Incluir nuevas campañas automáticamente | Cuando está marcado, cualquier campaña recién publicada se agrega automáticamente al ámbito de recuperación. |
Nota: Las campañas de donante a donante de Charitable Ambassadors no son compatibles y se excluyen de esta lista.
Remitente del correo electrónico de recuperación
| Configuración | Tipo | Predeterminado | Descripción |
|---|---|---|---|
| Correo electrónico de recuperación: Nombre del remitente | Texto | El nombre de tu sitio | El nombre que se muestra en el campo "De" de los correos electrónicos de recuperación. |
| Correo electrónico de recuperación: Dirección del remitente | Correo electrónico | Correo electrónico de administrador de WordPress | La dirección de correo electrónico utilizada como remitente para los correos electrónicos de recuperación. |
Cómo funciona el seguimiento
Cuando un donante visita una página de formulario de donación para una campaña de recuperación activa, un rastreador ligero de JavaScript se carga en segundo plano. Escucha los cambios en los campos de correo electrónico, nombre, apellidos y cantidad.
Cuando el donante introduce una dirección de correo electrónico válida (al perder el foco), el rastreador envía los datos capturados a un punto final de la API REST en /charitable-recovery/v1/capture. El punto final está autenticado con nonce y limitado a 20 solicitudes por minuto por dirección IP. No se almacenan datos hasta que haya una dirección de correo electrónico válida.
El rastreador captura:
- Dirección de correo electrónico
- Nombre y apellidos (si se introducen)
- Monto de la donación
- Período de donación (única vez o recurrente, si procede)
- URL de origen (la página en la que se encontraba el donante al rellenar el formulario)
El rastreador funciona tanto en formularios de donación heredados como en formularios de Visual Form Builder (VFB).
Nota: El rastreador es un archivo JavaScript que se carga en las páginas de formularios de donación. Si otro plugin o tu tema produce un error de JavaScript en la misma página, puede impedir la inicialización del rastreador. Esto provocaría que no se capture ninguna sesión, incluso cuando los donantes rellenen el formulario. Consulta la sección Solución de problemas para ver los pasos para diagnosticar conflictos de JavaScript.
Detección de abandono
Un trabajo de WP-Cron se ejecuta cada 5 minutos (charitable_recovery_detect_abandoned). En cada ejecución, identifica las sesiones que han estado en estado "seguimiento" durante más tiempo que el período de corte de abandono configurado y las marca como abandonadas.
Las sesiones se limpian automáticamente después del período de retención de sesiones configurado.
Acerca de WP-Cron
WordPress utiliza un sistema de cron virtual llamado WP-Cron. A diferencia de un trabajo cron de servidor tradicional, WP-Cron solo se activa cuando alguien visita tu sitio; se apoya en las cargas de página normales. En condiciones de tráfico normales, esto funciona bien, pero hay situaciones en las que puede ser poco fiable:
- Sitios con poco tráfico: Si tu sitio recibe muy pocos visitantes, las tareas programadas pueden activarse significativamente más tarde de lo esperado. Un correo electrónico de recuperación programado para 1 hora después del abandono podría no enviarse hasta que el próximo visitante cargue una página.
DISABLE_WP_CRONestablecido entrue: Algunos hosts y plugins de rendimiento establecendefine( 'DISABLE_WP_CRON', true );enwp-config.phppara reducir la sobrecarga de carga de página. Si esto se establece sin un cron de servidor real para reemplazarlo, la detección de abandono y el envío de correos electrónicos se detendrán por completo.- Conflictos de plugins: Algunos plugins borran incorrectamente todos los eventos programados al activarse o desactivarse, o pueden impedir que se registren nuevos eventos. Si esto ocurre, el evento
charitable_recovery_detect_abandonedpuede desaparecer de la programación sin previo aviso. Los correos electrónicos de recuperación dejarán de enviarse hasta que el plugin se desactive y se guarde el sitio de nuevo. - Límites de recursos de alojamiento compartido: En un alojamiento compartido con mucha carga, la ejecución de PHP puede interrumpirse antes de que los trabajos cron terminen de procesar un gran lote de sesiones.
Si los correos electrónicos de recuperación se retrasan o no se envían, WP-Cron es lo primero que se debe investigar. Consulte la sección Solución de problemas a continuación para ver los pasos y las herramientas recomendadas.
Correos electrónicos de recuperación
Después de que una sesión se marca como abandonada, se programa un correo electrónico de recuperación para que se envíe aproximadamente 1 hora después a través de WP-Cron.
Contenido del correo electrónico
El correo electrónico de recuperación incluye:
- Un saludo personalizado utilizando el nombre de pila del donante (o "Hola,", si no se capturó ningún nombre)
- El nombre de la campaña a la que el donante estaba donando
- Un botón de llamada a la acción verde “Completa mi donación”
- Una URL de respaldo en texto plano
- Un enlace para darse de baja en el pie de página
Seguridad del correo electrónico
Los enlaces de recuperación utilizan tokens HMAC firmados (SHA-256) que caducan después de 7 días. Los tokens están vinculados a la clave de sesión, el ID de correo electrónico y la marca de tiempo de caducidad; no se pueden reutilizar en diferentes sesiones. Si un token ha caducado o no es válido, el donante es redirigido a la página de inicio del sitio.
Correos electrónicos omitidos
No se envía un correo electrónico si:
- La dirección de correo electrónico del donante está en la lista de exclusión
- La campaña ha finalizado antes de que se envíe el correo electrónico
- Ya se ha enviado un correo electrónico de recuperación para esta sesión
- La sesión ya se ha marcado como recuperada, no suscrita o caducada
Retorno del donante y autocompletado del formulario
Cuando un donante hace clic en el enlace de recuperación, se le redirige a la página donde inició originalmente su donación (utilizando la source_url capturada). Su formulario se autocompletará automáticamente con:
- Dirección de correo electrónico
- Nombre y apellidos
- Monto de la donación (coincidido con un botón de radio preestablecido o introducido en el campo de monto personalizado)
El autocompletado se ejecuta en DOM-ready y nuevamente después de 400 ms para admitir formularios renderizados dinámicamente. El autocompletado nunca sobrescribe un campo en el que el donante ya ha escrito.
Darse de baja
Cada correo electrónico de recuperación incluye un enlace para darse de baja. Cuando un donante hace clic en él, su dirección de correo electrónico se agrega a una lista de supresión y no se envían más correos electrónicos de recuperación a esa dirección desde su sitio.
Informes y análisis
Donation Recovery tiene una pestaña dedicada en Charitable > Informes > Donation Recovery.
Mosaicos de estadísticas
| Mosaico | Descripción |
|---|---|
| Total Seguimiento | Sesiones en las que se capturó una dirección de correo electrónico. |
| Abandonado | Sesiones que superaron el umbral de abandono. |
| Recuperado | Sesiones en las que el donante completó su donación tras recibir un correo electrónico de recuperación. |
| Tasa de Recuperación | Donaciones recuperadas como porcentaje de las sesiones abandonadas. |
| Ingresos Recuperados | Valor total de las donaciones de sesiones recuperadas. |
Todos los mosaicos responden al filtro de rango de fechas en la parte superior de la página.
Filtro de Rango de Fechas
Utilice los selectores de fecha para filtrar todas las estadísticas y la tabla de sesiones a un rango personalizado. Hay preajustes de selección rápida disponibles para los últimos 7 días, los últimos 30 días y los últimos 90 días.
Tabla de Sesiones
Muestra hasta 50 sesiones para el rango de fechas seleccionado, ordenadas por fecha de modificación más reciente. Cada fila muestra el nombre del donante, correo electrónico, campaña, importe, insignia de estado, número de correos electrónicos y marcas de tiempo.
Estados de la sesión:
– Seguimiento – sesión activa, el donante todavía está en el formulario
– Abandonado – la sesión superó el umbral sin completarse
– Recuperado – el donante completó su donación
– No suscrito – el donante hizo clic en el enlace para no suscribirse
– Expirado – la sesión fue eliminada por la política de retención
Exportación CSV
Haga clic en Descargar CSV en la tabla de Sesiones para exportar todas las sesiones (sin límite de filas) para el rango de fechas activo. El CSV incluye nombre, apellido, correo electrónico, campaña, importe, divisa, estado, correos electrónicos enviados, ID de donación, fecha de creación y fecha de modificación.
Indicación de Resumen de Recuperación
La pestaña Resumen de Informes muestra una indicación de recuperación directamente debajo del mosaico Total de Donaciones. La indicación muestra cuántas donaciones se recuperaron y los ingresos recuperados para el rango de fechas del Resumen actual. Se actualiza automáticamente cuando cambia el filtro de fecha del Resumen.
Recuperación por Campaña
Debajo de la tabla de sesiones, un desglose por campaña muestra el total de sesiones, abandonadas, recuperadas e ingresos para cada campaña dentro del rango de fechas.
Personalización de Plantillas
La plantilla de correo electrónico de recuperación HTML se puede anular en su tema:
your-theme/charitable/emails/recovery-immediate.php
Copie el original de wp-content/plugins/charitable-recovery/templates/emails/recovery-immediate.php a la carpeta de su tema y modifíquelo según sea necesario. Las siguientes variables están disponibles en la plantilla:
| Variable | Descripción |
|---|---|
$session | El objeto de sesión (email, nombre, apellido, importe, campaign_id, etc.) |
$recovery_url | La URL de recuperación firmada para el botón CTA |
$unsub_url | La URL de cancelación de suscripción con un clic |
Recursos para desarrolladores
Ganchos y filtros
charitable_recovery_detect_abandoned— Gancho de acción de WP-Cron; se activa cada 5 minutos para detectar sesiones abandonadas. Puedes engancharte a esto para ejecutar lógica adicional después de la detección de abandono.charitable_recovery_send_email— Gancho de acción de WP-Cron; se activa una vez por cada correo de recuperación programado. Recibe el$email_row_idcomo primer argumento.
Endpoint REST
El rastreador envía datos a:
POST /wp-json/charitable-recovery/v1/capture
Requiere una cabecera X-WP-Nonce válida. Limitado a 20 solicitudes por minuto por dirección IP. Acepta application/json.
API de configuración
La configuración de recuperación se almacena en la opción charitable_settings dentro del grupo general__recovery. Accede a ella a través de:
charitable_get_option( array( 'general__recovery', 'recovery_enabled' ), 1 );
charitable_get_option( array( 'general__recovery', 'abandonment_cutoff' ), 60 );
charitable_get_option( array( 'general__recovery', 'session_retention_days' ), 90 );
charitable_get_option( array( 'general__recovery', 'recovery_sender_name' ), get_bloginfo('name') );
charitable_get_option( array( 'general__recovery', 'recovery_sender_email' ), get_option('admin_email') );
charitable_get_option( array( 'general__recovery', 'recovery_campaign_ids' ), array() );
charitable_get_option( array( 'general__recovery', 'recovery_include_new_campaigns' ), 0 );
Solución de problemas
Los correos de recuperación no se envían
La causa más común es un problema con WP-Cron. Sigue estas comprobaciones en orden:
- Confirma que WP-Cron no está deshabilitado. Abre
wp-config.phpy comprueba siDISABLE_WP_CRONestá definido. Si está establecido entrue, WP-Cron no se activará en absoluto a menos que tengas un trabajo cron de servidor real configurado para activarlo manualmente. Ponte en contacto con tu proveedor de hosting si no estás seguro de cómo configurar un cron de servidor para WordPress. - Comprueba si hay un plugin en conflicto. Algunos plugins de caché, rendimiento y seguridad interactúan con WP-Cron de maneras que eliminan o bloquean eventos programados. Si activaste o desactivaste recientemente otro plugin y los correos dejaron de enviarse, ese plugin es un sospechoso probable. Intenta desactivarlo temporalmente y comprueba si los eventos de recuperación reaparecen.
- Inspecciona los eventos programados directamente. Instala un plugin gratuito como WP Crontrol (disponible en WordPress.org) para ver todos los eventos programados. Una vez instalado, ve a Herramientas > Eventos Cron y busca
charitable_recovery_detect_abandoned. Si falta, guarda la página de configuración de Recuperación de Donaciones una vez para volver a registrarlo. Si sigue desapareciendo después de volver a registrarlo, es probable que un plugin en conflicto lo esté eliminando. - Confirma el alcance de la campaña y el estado de cancelación de suscripción. Verifica que la campaña afectada esté seleccionada en el Alcance de Recuperación de Campaña y que la dirección de correo electrónico del donante no esté en la lista de supresión.
- Ponte en contacto con tu proveedor de hosting. Si WP-Cron parece estar funcionando pero los correos aún no llegan, tu proveedor de hosting puede estar bloqueando el correo saliente de la función
mail()de PHP. Pregúntales si requieren un plugin SMTP para una entrega de correo fiable.
Si has revisado todo lo anterior y los correos siguen sin enviarse, contacta con el soporte de Charitable con una descripción de lo que encontraste en WP Crontrol.
El formulario de donación no se rellena previamente al regresar
La source_url registrada cuando el donante completó originalmente el formulario se utiliza para la redirección. Si el formulario se incrustó en una página cuya URL ha cambiado desde entonces, el destino de la redirección puede que ya no coincida. Comprueba que la campaña esté utilizando el permalink correcto y que el rastreador JavaScript del plugin de recuperación se cargara en la página del formulario original.
Un donante sigue recibiendo correos electrónicos después de darse de baja
La lista de supresión se almacena en la tabla de opciones de WordPress como charitable_recovery_unsubscribed_emails. Confirma que la entrada esté presente con la capitalización correcta. La comparación no distingue entre mayúsculas y minúsculas, pero el correo electrónico debe almacenarse sin espacios al principio o al final.
No se están rastreando sesiones (la pestaña Informes muestra actividad cero)
Si la pestaña Informes no muestra sesiones rastreadas a pesar de que los donantes visitan las páginas del formulario de donación, es posible que el rastreador JavaScript no esté funcionando correctamente.
Las causas más comunes son:
- Un error de JavaScript de otro plugin o de tu tema. Si un script que se carga antes que el rastreador de Recuperación de Donaciones lanza un error no capturado, puede bloquear todo el JavaScript posterior en la página, incluido el rastreador. Abre la consola de desarrollador de tu navegador (F12 en la mayoría de los navegadores, luego haz clic en la pestaña Consola) mientras estás en una página de formulario de donación y busca cualquier mensaje de error en rojo. Si ves errores que hacen referencia a otro plugin o a tu tema, desactívalos uno por uno para identificar la fuente.
- Un plugin de minificación o concatenación de JavaScript. Algunos plugins de caché y optimización (como Autoptimize, W3 Total Cache o WP Rocket) combinan y minifican archivos JavaScript. Esto puede introducir ocasionalmente errores de sintaxis o problemas de orden de carga que rompen el rastreador. Intenta deshabilitar la optimización de JavaScript temporalmente y vuelve a probar.
- Una cabecera de Política de Seguridad de Contenido (CSP) que bloquea la llamada a la API REST. Algunos plugins de seguridad añaden cabeceras CSP estrictas que impiden que JavaScript realice llamadas
fetchoXMLHttpRequesta tu propio sitio. Comprueba la consola del navegador para ver errores relacionados con CSP.
Para aislar el problema, cambia temporalmente a un tema predeterminado de WordPress (como Twenty Twenty-Four) y desactiva todos los plugins excepto Charitable y Donation Recovery. Si empiezan a aparecer sesiones, reactiva tus otros plugins uno por uno para identificar el conflicto.
Si no puedes resolver el conflicto por tu cuenta, contacta con el soporte de Charitable indicando el nombre del plugin en conflicto y cualquier mensaje de error de la consola que hayas encontrado.
Las estadísticas muestran cero ingresos recuperados
Los ingresos recuperados se suman de la columna amount en las sesiones en las que la cantidad introducida por el donante fue capturada antes de que abandonara. Si un donante seleccionó una cantidad después de hacer clic en el enlace de recuperación (sin que la cantidad estuviera en la URL de pre-relleno), la amount en el registro de la sesión puede estar vacía o ser cero. Esto refleja la intención capturada antes del abandono, no la cantidad final de la donación.
Preguntas frecuentes
¿Esto ralentizará mis formularios de donación?
No. El script de seguimiento es ligero y se ejecuta de forma asíncrona. Nunca bloquea la representación ni el envío de formularios. Si la llamada a la API REST falla por cualquier motivo (error de red, límite de tasa), falla silenciosamente para que la experiencia del donante no se vea afectada.
¿Qué sucede si WP-Cron deja de funcionar en mi sitio?
Las nuevas sesiones seguirán siendo capturadas (esa parte no utiliza cron), pero la detección de abandonos y el envío de correos electrónicos se detendrán hasta que se restablezca cron. Las sesiones que estaban pendientes se procesarán en la próxima ejecución exitosa de cron. Instala WP Crontrol desde WordPress.org para monitorizar tus eventos programados y confirmar que cron está funcionando. Si los problemas persisten, contacta a tu proveedor de hosting; ellos pueden informarte si WP-Cron está siendo bloqueado y ayudarte a configurar un trabajo cron a nivel de servidor real como reemplazo.
¿Puede un conflicto de plugins romper la Recuperación de Donaciones?
Sí, de dos maneras. Primero, un plugin que interfiere con WP-Cron puede impedir la detección de abandonos y el envío de correos electrónicos (ver la sección de solución de problemas de WP-Cron más arriba). Segundo, un plugin o tema que produce un error de JavaScript en la página de tu formulario de donaciones puede impedir la inicialización del rastreador, lo que significa que no se capturan sesiones en absoluto. Si sospechas un conflicto, usa la consola de desarrollador de tu navegador para buscar errores de JavaScript y trata de desactivar otros plugins uno por uno para aislar la causa.
¿Funciona Recuperación de Donaciones con Embajadores Caritativos (peer-to-peer)?
Por ahora no. Las campañas peer-to-peer gestionadas a través de Embajadores Caritativos están excluidas de la lista de Ámbito de Recuperación de Campañas y no son compatibles.
¿Los donantes necesitan iniciar sesión para que funcione la recuperación?
No. La recuperación se basa completamente en el correo electrónico. Siempre que el donante introduzca una dirección de correo electrónico válida en el formulario de donación antes de abandonarlo, se captura una sesión y se puede enviar un correo electrónico de recuperación.
¿Puedo personalizar el correo electrónico de recuperación?
Sí. Copia la plantilla de wp-content/plugins/charitable-recovery/templates/emails/recovery-immediate.php a tu tema en charitable/emails/recovery-immediate.php y modifícala. Puedes cambiar el diseño, los colores, el texto y cualquier elemento del correo electrónico manteniendo intactas las variables PHP requeridas ($recovery_url, $unsub_url, $session).
¿Cuánto tiempo son válidos los enlaces de recuperación?
Los enlaces de recuperación caducan después de 7 días. Después de la caducidad, hacer clic en el enlace redirige al donante a la página de inicio de tu sitio. Los tokens caducados se registran con fines de auditoría.
Recursos adicionales
- [PLACEHOLDER: Enlace a la documentación de Informes Caritativos]
- [PLACEHOLDER: Enlace a la documentación de Ajustes de Correo Electrónico Caritativos]
- WP Crontrol – plugin gratuito de inspección de cron en WordPress.org
- [PLACEHOLDER: Enlace a la página de actualización de Charitable Pro]
- [PLACEHOLDER: Enlace a soporte Caritativo]




