El asesino silencioso de leads
Gravity Forms es el plugin premium de formularios WordPress más usado (300,000+ instalaciones activas). Cuando funciona, es confiable. Cuando se rompe, a menudo lo hace silenciosamente — el formulario parece enviarse, el usuario ve un mensaje "gracias", pero la entrada nunca te llega.
El cliente piensa que ignoraste su consulta. Tú no sabes que hay un problema. Los leads mueren callados.
Este artículo es el playbook diagnóstico para cada causa de fallo silencioso de Gravity Forms que hemos documentado.
Cómo saber si tienes envíos silenciosos
Si no puedes estar seguro de que tu formulario funciona, la primera prueba es:
1. Envía un formulario de prueba en el sitio en vivo (usa datos de aspecto real)
2. Revisa Forms → Entries — ¿la entrada está ahí?
3. Revisa la cuenta de email que debería recibir notificaciones — ¿llegó?
4. Revisa Forms → Forms → Settings → Notifications → "Send to" → verifica emailSi el paso 2 falla: las entradas no están guardándose. Problema de backend. Si el paso 2 funciona pero el 3 falla: las entradas guardan pero las notificaciones fallan. Problema de email.
El arreglo depende de cuál.
Causa 1 — El formulario envía, no se guarda entrada
El formulario muestra el mensaje de éxito pero Forms → Entries no tiene nada.
Diagnóstico
Abre DevTools del navegador → Network. Envía el formulario. Busca el POST a admin-ajax.php o wp-json/gf/v2/.
- ¿200 respuesta, pero ninguna entrada? → JS submission "pretende" tener éxito sin guardar al servidor
- ¿500 respuesta? → Error backend; revisa log de error PHP
- ¿El formulario recarga en lugar de enviar? → AJAX deshabilitado o error JS
Arreglo
Si 200 sin guardado, revisa entrada de Gravity Forms en debug.log:
tail -100 /var/www/yoursite/wp-content/debug.log | grep -i gravityError común: "RGFormsModel::insert_entry failed" — indica fallo de escritura a base de datos. Revisa espacio de disco y permisos de tabla:
SHOW TABLE STATUS LIKE 'wp_gf_entry';Causa 2 — Notificaciones no enviando
Las entradas guardan, pero los emails de notificación no llegan.
Diagnóstico
wp eval 'gf_log_test_notification(123, 1);' # form_id=123, notification_id=1O, más simple — revisa log de WP Mail SMTP/FluentSMTP si tienes uno instalado.
Si no hay plugin SMTP: instala uno inmediatamente. El wp_mail() nativo usa la función mail() de PHP que la mayoría de hosts ahora bloquean por abuso de spam.
Arreglo
- Instala WP Mail SMTP (gratis)
- Configura con SendGrid, Postmark, o tu proveedor de mail
- Envía un email de prueba desde la config de WP Mail SMTP
- Re-prueba envío de formulario
Para la mayoría de sitios WordPress en 2026, el mail() nativo no funciona. Siempre usa SMTP.
Causa 3 — Filtro de spam bloquea envíos válidos
Gravity Forms tiene honeypot incorporado e integración Akismet. A veces estos marcan usuarios legítimos como spam.
Diagnóstico
Forms → Entries → filtra por estado Spam. Si ves entradas ahí, el filtro de spam las atrapó.
Arreglo
- En la configuración de cada formulario → Form Settings → Anti-spam → revisa settings
- Deshabilita integración Akismet si tienes otro anti-spam (CAPTCHA)
- Deshabilita honeypot si tienes CAPTCHA
- No dupliques — elige un método anti-spam
Mejor: usa Cloudflare Turnstile, que no tiene los problemas de falso-positivo de Akismet en páginas de formulario.
Causa 4 — AJAX deshabilitado, sin confirmación JS
El formulario tiene envío AJAX deshabilitado. La página refresca tras submit. Los usuarios ven la URL cambiar a ?gf_token=... y pueden pensar que nada pasó.
Arreglo
Habilita AJAX en el embed del formulario:
[gravityform id="1" title="false" description="false" ajax="true"]O en PHP:
gravity_form(1, false, false, false, null, true);
// ^^^^ ajax = trueEsto hace que el envío pase vía AJAX, con mensajes de confirmación suaves.
Causa 5 — Page caching sirve formulario obsoleto
Tu cache a nivel página sirve el HTML del formulario desde cache. El nonce del formulario expiró, así que los envíos son rechazados con "This form is not properly configured."
Arreglo
En tu plugin de caching (WP Rocket, W3 Total Cache, LiteSpeed):
- Excluye páginas con Gravity Forms del cache, O
- Usa el hook "AJAX nonce regeneration" de Gravity Forms que refresca el nonce a demanda
Para WP Rocket: - Settings → Advanced Rules → Never Cache (URLs) → añade /contact/, /quote/, etc.
Para LiteSpeed: - LiteSpeed Cache → Cache → Excludes → URI
Causa 6 — Lógica condicional muestra campos equivocados
Un formulario con lógica condicional (mostrar campo X si se selecciona valor Y) se comporta mal. Los usuarios ven campos que no deberían, o envían sin llenar los requeridos.
Diagnóstico
Esto usualmente está relacionado con JS. Deshabilita cualquier plugin de optimización JS temporalmente y re-prueba.
Arreglo
Si la optimización JS rompe la lógica condicional: - Excluye scripts de Gravity Forms de minificación/deferral - O deshabilita la optimización JS en páginas de formulario
Para WP Rocket, excluye *gforms* de "File Optimization > JavaScript > Files".
Causa 7 — Subidas de archivo fallan silenciosamente
Los formularios con campos de subida de archivo tienen éxito pero el archivo subido nunca aparece en entradas.
Diagnóstico
# Revisa límites de upload PHP
php -i | grep -E "upload_max_filesize|post_max_size|max_input_time"Defaults comunes son 2M (muy bajo) y 8M post.
Arreglo
En php.ini o .user.ini:
upload_max_filesize = 64M
post_max_size = 80M
max_input_time = 120
max_execution_time = 300Reinicia PHP-FPM. Re-prueba.
Causa 8 — Código custom rompe envío de formulario
Tú (o un desarrollador previo) añadió código custom a functions.php que se engancha en gform_after_submission. El código lanza un error, pero es después de que la entrada guarda, así que la entrada existe pero las acciones downstream (como sync CRM) fallan.
Diagnóstico
tail -100 /var/www/yoursite/wp-content/debug.log | grep -i "gform\|gravity"Busca errores mencionando tu hook custom.
Arreglo
Envuelve hooks Gravity Forms custom en try/catch:
add_action('gform_after_submission', function($entry, $form) {
try {
// tu lógica custom
$crm->sync($entry);
} catch (Exception $e) {
error_log('GF post-submit error: ' . $e->getMessage());
// no re-lances — deja al formulario tener éxito
}
}, 10, 2);Monitoreando fallos silenciosos
Configura alertas para patrones inusuales de entrada:
# Cron: alerta si no hay entradas en últimas 24h
0 9 * * * /var/www/yoursite/scripts/check-gf-entries.shEl script:
#!/bin/bash
cd /var/www/yoursite
COUNT=$(wp eval 'echo count(GFAPI::get_entries(0, [], null, ["page_size" => 100], null, null, true));')
if [ "$COUNT" -eq 0 ]; then
echo "No Gravity Forms entries in last 24h" | mail -s "ALERT" admin@yoursite.com
fiErrores comunes durante diagnóstico Gravity Forms
- Confiar en el mensaje "Thank you" — eso es solo JavaScript; no significa que la entrada se guardó
- No revisar carpeta spam por entradas — Akismet a menudo filtra legítimas
- Actualizar Gravity Forms sin probar — igual que cualquier plugin; staging primero
- Editar entradas manualmente en base de datos — corrompe metadata de entrada; usa GFAPI en su lugar
Cuándo llamar a un especialista
Los formularios que fallan silenciosamente cuestan leads diariamente. Hacemos una auditoría Gravity Forms de 1-2 horas que encuentra y arregla la causa raíz para problemas continuos.
Soporte arreglo formularios en horas. Para trabajo más amplio de plugins ve reparación de conflictos de plugin.

