Guía WordPress / Tutorial con ejemplos / Octubre 2026

Cómo crear un formulario con Contact Form 7 en WordPress.

Aprende a instalar y configurar Contact Form 7 gratis, añadir campos, recibir correos correctamente e integrarlo en Elementor. Incluye 3 plantillas para copiar, SMTP, antispam, RGPD y soluciones a los errores más comunes.

Roger Llorens · WordPress y marketing digitalActualizado: 17.10.2026Guía práctica + código
Respuesta directa / En menos de un minuto

¿Cómo se crea un formulario con Contact Form 7?

Para crear un formulario de contacto gratuito en WordPress, instala Contact Form 7, modifica sus etiquetas de campos, configura a quién se envía el correo y pega su bloque o shortcode en una página. Pero hay un detalle decisivo: hacer que se vea no significa que el email se entregue.

Respuesta rápida en 6 pasos

1. Plugins → Añadir plugin → busca «Contact Form 7» → Instalar y activar. 2. Contacto → Añadir nuevo. 3. Crea los campos en «Formulario». 4. Configura «Correo» con un remitente de tu dominio y Reply-To: [your-email]. 5. Inserta el bloque Contact Form 7 o el shortcode. 6. Envía una prueba y comprueba que llegue.

Precio del pluginGratisEl núcleo de Contact Form 7 puede utilizarse sin comprar una licencia.
Editor de camposEtiquetasCombina HTML con etiquetas como [email* your-email].
Insertarlo en webBloque / ShortcodeCompatible con el editor de bloques y con Elementor.
Entrega de mensajesCorreoSMTP y autenticación son claves para mejorar la fiabilidad.

¿Es Contact Form 7 totalmente gratis? Sí, puedes instalarlo desde el directorio de WordPress y crear los formularios descritos aquí sin pagar por el plugin. Es posible que otros servicios —hosting, proveedor SMTP, integraciones o complementos— tengan tarifas propias. La documentación oficial confirma que Contact Form 7 es gratuito.

Antes de instalar: a fecha de esta revisión, Contact Form 7 6.2 (publicado el 6 de octubre de 2026) requiere WordPress 7.1+ y PHP 8.3+. Revisa la ficha del plugin y haz copia de seguridad antes de actualizar una web antigua. Nota oficial de versión ↗.

01 / Tutorial paso a paso

Instalar y crear tu primer formulario en WordPress.

El proceso utiliza el panel de administración estándar y no requiere comprar Elementor Pro ni editar PHP. Los nombres del menú pueden variar ligeramente según el idioma de tu instalación.

Instala Contact Form 7.

Accede a WordPress como administrador. Abre Plugins → Añadir plugin, busca «Contact Form 7», verifica que sea el plugin oficial de Takayuki Miyoshi y pulsa Instalar y después Activar.

Crea un nuevo formulario.

En el menú Contacto → Añadir nuevo, pon un nombre descriptivo, por ejemplo «Contacto principal». También puedes modificar el formulario de ejemplo que el plugin genera al activarse.

Edita el contenido.

Abre la pestaña Formulario. Encontrarás etiquetas como [text* your-name]. Sustituye la plantilla inicial por uno de los ejemplos de esta guía o añade campos con los generadores.

Configura el correo saliente.

En Correo, especifica destinatario, remitente de tu propio dominio, asunto y contenido. Utiliza las etiquetas de correo correspondientes a cada campo para que recibas los datos.

Inserta el formulario en tu página.

Guarda los cambios y abre la página «Contacto». En el editor de bloques utiliza el bloque Contact Form 7; en Elementor, usa el widget Shortcode con el identificador generado.

Prueba el envío completo.

Rellena todos los campos como un visitante, comprueba errores de validación, bandeja de entrada y carpeta de spam. Si el mensaje no llega, revisa primero el remitente y la conexión SMTP.

Una distinción importante: Contact Form 7 crea y procesa formularios; Elementor sirve para diseñar la página donde se insertan. No necesitas Elementor Pro para colocar un formulario creado con Contact Form 7.

¿Dónde está el shortcode de Contact Form 7?

Tras guardar, Contact Form 7 muestra una instrucción de inserción con un shortcode similar al siguiente. El identificador es propio de cada instalación, así que copia siempre el que aparezca en tu WordPress; este ejemplo es ilustrativo.

Ejemplo de shortcode · Sustituir por el de tu web

Error: Formulario de contacto no encontrado.

En versiones actuales el identificador puede presentarse como una cadena alfanumérica. No copies un ID de ejemplo sin sustituirlo.

02 / Entender las etiquetas

Campos de Contact Form 7: sintaxis y ejemplos.

El error más frecuente al empezar es confundir la etiqueta que crea el campo en el formulario con la etiqueta que inserta su respuesta en el correo. Son dos formatos diferentes.

FORM-TAG / PESTAÑA FORMULARIO

[email* your-email]

Crea un campo para introducir una dirección de email. email es el tipo, el asterisco * lo convierte en obligatorio y your-email es su identificador.

MAIL-TAG / PESTAÑA CORREO

[your-email]

Inserta el email que escribió la persona en el mensaje que recibes. No incluyas email* aquí; la etiqueta de correo contiene solo el nombre del campo.

CampoEtiqueta de formularioUsoEtiqueta de correo
Nombre[text* your-name]Texto obligatorio[your-name]
Correo[email* your-email]Email validado y obligatorio[your-email]
Teléfono[tel your-phone]Teléfono opcional[your-phone]
Mensaje[textarea* your-message]Texto largo obligatorio[your-message]
URL[url your-website]Página web opcional[your-website]
Número[number attendees min:1 max:20]Cantidad numérica[attendees]
Lista[select* your-service include_blank "SEO" "Web"]Selección obligatoria[your-service]
Casillas[checkbox your-topics use_label_element "SEO" "Ads"]Una o varias opciones[your-topics]
Archivo[file your-file filetypes:pdf limit:2mb]PDF hasta 2 MB[your-file]
Aceptar condiciones[acceptance your-consent]...[/acceptance]Confirmar una condición[your-consent]

El asterisco convierte en obligatorios los tipos que lo admiten. El campo acceptance es obligatorio por defecto, salvo que lo configures como opcional. Consulta la sintaxis oficial y la documentación de aceptación.

¿Cómo poner los campos obligatorios y los textos de ayuda?

Usa el asterisco después del tipo: [text* your-name] exige escribir un nombre; [text your-company] es opcional. Añade placeholder "Escribe aquí" para mostrar un ejemplo, pero no sustituyas la etiqueta visible del campo por un placeholder: la etiqueta ayuda a la accesibilidad, especialmente con lectores de pantalla.

Para una lista de selección obligatoria utiliza [select* your-service include_blank "SEO" "Diseño web"]. La opción include_blank impide que la primera alternativa real aparezca seleccionada de forma automática. Para casillas múltiples utiliza use_label_element, que asocia cada opción con su etiqueta.

03 / Recursos para copiar

Tres formularios listos para adaptar a tu web.

No son simulaciones de shortcode: cada plantilla está escrita con etiquetas reconocidas por Contact Form 7. Copia el código en la pestaña Formulario y después adapta la pestaña Correo con las etiquetas correspondientes.

Formulario de contacto sencillo

Nombre, email, asunto y mensaje. Ideal para una página de contacto general.

Contact Form 7
<div class="rl-contact-form">
  <div class="form-row">
    <label>Nombre y apellidos *
      [text* your-name autocomplete:name placeholder "¿Cómo te llamas?"]
    </label>
  </div>
  <div class="form-row">
    <label>Correo electrónico *
      [email* your-email autocomplete:email placeholder "tu@dominio.com"]
    </label>
  </div>
  <div class="form-row">
    <label>Asunto *
      [text* your-subject placeholder "¿En qué puedo ayudarte?"]
    </label>
  </div>
  <div class="form-row">
    <label>Mensaje *
      [textarea* your-message placeholder "Cuéntame tu consulta..."]
    </label>
  </div>
  <div class="form-row form-row--legal">
    [acceptance your-consent] He leído la información sobre privacidad y acepto las condiciones indicadas. [/acceptance]
    <small>Consulta la <a href="/politica-de-privacidad/">política de privacidad</a>.</small>
  </div>
  [submit "Enviar consulta"]
</div>

Las rutas de privacidad del ejemplo deben sustituirse por la URL real de tu aviso legal. Revisa la base jurídica aplicable antes de utilizar la casilla de aceptación.

Configurar la pestaña Correo

Si utilizas este ejemplo, puedes orientar la notificación con esta estructura. Sustituye tudominio.com y el destinatario por direcciones reales y autorizadas.

Correo · Ejemplo de campos
PARA: contacto@tudominio.com
DE: Web Tudominio <formularios@tudominio.com>
ASUNTO: Nueva consulta: [your-subject]
CABECERAS ADICIONALES:
Reply-To: [your-email]

CUERPO DEL MENSAJE:
Has recibido una consulta desde tu web.

Nombre: [your-name]
Email: [your-email]
Asunto: [your-subject]
Mensaje:
[your-message]

Página de origen: [_url]

ARCHIVOS ADJUNTOS:
(dejar vacío para el formulario básico)
¿Qué plantilla elegir? Una web corporativa suele necesitar la primera. Si la finalidad es captar solicitudes comerciales cualificadas, la segunda ofrece un selector de servicio y un presupuesto opcional. Reserva los adjuntos para procesos que realmente los necesiten y evita recoger documentos sensibles innecesarios.
04 / Notificaciones y entregabilidad

Configurar el correo de Contact Form 7 para recibir mensajes.

Los campos «Para», «De», «Asunto», «Cabeceras adicionales» y «Cuerpo» determinan qué recibes. Un formulario visualmente correcto puede fallar por un remitente incorrecto, errores del servidor o filtros antispam.

Los ajustes de Correo que recomiendo

Para: tu buzón real de recepción, por ejemplo contacto@tudominio.com. De: una dirección que pertenezca al dominio de la web, como formularios@tudominio.com. Cabeceras adicionales: Reply-To: [your-email] para que el botón Responder apunte al visitante. Cuerpo: incluye cada variable con su mail-tag, por ejemplo [your-message].

¿Por qué no poner [your-email] en «De»? Porque estarías intentando enviar correo fingiendo proceder del dominio del visitante, sin disponer de su autorización técnica. Eso genera problemas de validación y entregabilidad. La documentación del plugin recomienda remitentes del propio dominio.

Ejemplo · Correo de notificación
PARA: contacto@tudominio.com
DE: Web Tudominio <formularios@tudominio.com>
ASUNTO: Nueva consulta: [your-subject]
CABECERAS ADICIONALES:
Reply-To: [your-email]

CUERPO DEL MENSAJE:
Has recibido una consulta desde tu web.

Nombre: [your-name]
Email: [your-email]
Asunto: [your-subject]
Mensaje:
[your-message]

Página de origen: [_url]

ARCHIVOS ADJUNTOS:
(dejar vacío para el formulario básico)
CORREO (1)

Notificación al propietario

Envía la consulta a la dirección del negocio. Revisa que no quede un correo de demostración y que se hayan añadido las mail-tags de todos los campos que quieres ver.

CORREO (2)

Confirmación al visitante

Activa «Usar Correo (2)» únicamente si necesitas una respuesta automática. Se envía cuando el primer correo se ha procesado correctamente; no garantiza la recepción efectiva.

Ejemplo de respuesta automática (Mail 2)

Ejemplo · Correo (2)
ACTIVAR: Usar Correo (2)
PARA: [your-email]
DE: Equipo Tudominio <formularios@tudominio.com>
ASUNTO: Hemos recibido tu mensaje

CUERPO:
Hola [your-name]:

Gracias por escribirnos. Hemos recibido tu consulta y la revisaremos.

Este mensaje es automático. Si no has realizado la solicitud, puedes ignorarlo.

Equipo Tudominio

¿Cómo configurar SMTP en WordPress?

Contact Form 7 solicita a WordPress el envío del correo. La entrega depende de la infraestructura configurada. Un complemento SMTP compatible o un servicio de correo transaccional permite autenticar el envío. Este es el procedimiento general:

  1. Selecciona un proveedor de correo SMTP o transaccional compatible con tu dominio y volumen.
  2. Configura en WordPress un plugin de envío como WP Mail SMTP, Post SMTP u otra solución compatible, siguiendo la documentación del proveedor.
  3. Utiliza las credenciales, autorización OAuth o API que indique el servicio; evita compartirlas en el código público de la web.
  4. Configura los registros SPF, DKIM y, cuando corresponda, DMARC según las instrucciones exactas de tu proveedor de correo.
  5. Envía un correo de prueba desde el plugin SMTP y después una consulta completa desde Contact Form 7. Comprueba tanto la aceptación del servicio como la recepción del mensaje.

SMTP mejora el control y la autenticación, pero no promete entregabilidad del 100 %. Si las pruebas fallan, revisa registros del proveedor, remitente, límites, autenticación y filtros del buzón. Configuración oficial de correo ↗.

05 / WordPress, Elementor y bloques

Cómo insertar Contact Form 7 en Elementor gratis.

No hace falta convertir el shortcode en HTML ni añadir PHP. Se inserta con un widget específico o uno de shortcode; después Elementor se encarga del diseño de la página.

MÉTODO A / ELEMENTOR

Widget Shortcode

1. Copia el shortcode real desde Contacto → Formularios de contacto. 2. Abre tu página con Elementor. 3. Busca el widget «Shortcode». 4. Pega el código, actualiza y comprueba el resultado en móvil.

No pegues etiquetas [text* ...] sueltas en un widget HTML; esas etiquetas pertenecen al editor del plugin.

MÉTODO B / GUTENBERG

Bloque Contact Form 7

En una página del editor de bloques, añade el bloque «Contact Form 7», selecciona el formulario guardado y publica. Si el bloque no aparece, puedes utilizar un bloque Shortcode con el código correspondiente.

La documentación oficial describe el uso del bloque como procedimiento de inicio recomendado.

Si el shortcode aparece como texto: comprueba que Contact Form 7 esté activo, que el identificador exista y que estés usando el widget adecuado. Si el contenido muestra

Error: Formulario de contacto no encontrado.

, comprueba que el formulario no se haya eliminado o que estés copiando un ID incorrecto.

¿Cómo colocar el formulario en una ventana emergente o popup?

Inserta el shortcode dentro del contenido del popup si tu herramienta permite ejecutar shortcodes. Comprueba después que el formulario funciona con el popup abierto, especialmente la validación, el antispam y el botón de envío. Evita colocar un formulario dentro de otro elemento HTML <form>: Contact Form 7 puede mostrar el error «This contact form is placed in the wrong place» cuando detecta un formulario anidado. Fuente oficial ↗.

06 / Personalización sin constructor de pago

Dar estilo a Contact Form 7 con CSS responsive.

El plugin prioriza la flexibilidad del formulario. Para conseguir una apariencia coherente con tu identidad visual, puedes añadir una clase envolvente y CSS propio sin modificar archivos del plugin.

Las tres plantillas anteriores incluyen class="rl-contact-form". Esto permite personalizar solo esos formularios sin alterar el buscador, el checkout o el resto de inputs de WordPress. Inserta el CSS en Apariencia → Personalizar → CSS adicional, en el CSS del tema hijo o en el sistema de CSS personalizado que utilice tu instalación.

CSS · Estilo visual reutilizable
.rl-contact-form {display:grid;gap:16px;max-width:720px}
.rl-contact-form label {display:block;font-weight:650;line-height:1.5}
.rl-contact-form input:not([type="checkbox"]):not([type="submit"]),
.rl-contact-form select,
.rl-contact-form textarea {
  display:block;width:100%;margin-top:8px;padding:13px 15px;
  border:1px solid #d8d2ce;border-radius:10px;background:#fff;
  color:#242122;font:inherit;
}
.rl-contact-form textarea {min-height:145px;resize:vertical}
.rl-contact-form :is(input,select,textarea):focus-visible {
  outline:3px solid #ffa9a8;outline-offset:2px;
}
.rl-contact-form input[type="submit"] {
  background:#1d1c1d;color:#fff;border:0;border-radius:99px;
  padding:13px 24px;font-family:inherit;font-size:15px;font-weight:700;line-height:1.3;cursor:pointer;
}
.rl-contact-form .wpcf7-not-valid-tip {font-size:13px;color:#ad3845}
.rl-contact-form .wpcf7-response-output {border-radius:9px;padding:12px}
.rl-contact-form .form-row--legal small {display:block;margin-top:5px}
/* CSS en Apariencia > Personalizar > CSS adicional o CSS personalizado de Elementor. */

Recomendaciones de accesibilidad y móvil

Mantén etiquetas visibles y un texto explicativo cuando solicites datos poco habituales. Usa campos suficientemente altos para pantallas táctiles, estados de foco reconocibles, mensajes de error comprensibles y un botón de acción concreto («Pedir presupuesto» comunica mejor la siguiente acción que «Enviar»). No uses dos columnas estrechas para campos largos en móvil.

Para reducir el abandono, solicita únicamente lo que necesitas en esa fase. Un contacto inicial suele poder resolverse con nombre, correo y mensaje. Si necesitas teléfono o presupuesto, explica para qué se utilizará. Esta es una recomendación de experiencia de usuario, no una afirmación de que un número de campos asegure una tasa de conversión determinada.

07 / Protección del formulario

Evitar el spam: Turnstile, reCAPTCHA y controles.

Un formulario de contacto público puede recibir envíos automatizados. Combina protección antispam, actualizaciones y validación, sin dificultar innecesariamente el envío a personas reales.

RECOMENDACIÓN DEL PLUGIN

Cloudflare Turnstile

Contact Form 7 incluye integración propia con Turnstile. Registra un widget en Cloudflare, consigue la site key y la secret key y ve a Contacto → Integración → Turnstile. El plugin se encarga de insertar el widget. Si necesitas moverlo, admite la etiqueta [turnstile].

Tutorial oficial de Turnstile ↗

OTRAS CAPAS

Akismet y reCAPTCHA

Contact Form 7 también tiene documentación para Akismet y Google reCAPTCHA v3. Revisa condiciones, configuración y privacidad de cada servicio. Utiliza únicamente las protecciones necesarias y verifica que no estén bloqueando a usuarios legítimos.

Ver integraciones compatibles ↗

¿Es necesario instalar otro plugin antispam?

No necesariamente. La integración nativa de Turnstile suele ser un primer paso razonable. Un honeypot o un filtro adicional puede ayudar en algunos contextos, pero añade mantenimiento y riesgo de falsos positivos. Antes de sumar complementos, revisa si tu sistema actual identifica los mensajes legítimos como spam.

Una protección antispam no reemplaza medidas básicas: actualizar WordPress y sus plugins, restringir permisos administrativos, hacer copias de seguridad y mantener un servicio de correo autenticado.

08 / Diagnóstico de errores

Contact Form 7 no envía correos: causas y soluciones.

Distinguir lo que muestra el navegador de lo que ocurre en el servidor es la forma más rápida de localizar el problema. Usa este diagnóstico como orientación y después comprueba los registros reales.

Asistente de diagnóstico

¿Qué problema ves?

Herramienta local; no conecta con tu WordPress ni inspecciona tu servidor.

El sistema indica envío, pero no hay recepción

Comprueba la carpeta de spam, los datos «Para» y «De», la autenticación del remitente y los registros del proveedor de correo. Una confirmación verde no verifica la entrega final en el buzón.

Siguiente paso: prueba SMTP y revisa SPF/DKIM/DMARC según el proveedor.

ProblemaCausa que conviene comprobarQué hacer
Éxito verde pero no llegaEntrega al buzón, spam, autenticación o destinatarioRevisar SMTP, dirección «Para», registros y bandeja de spam.
Borde rojoFallo de envío desde el servidor o proveedorProbar el correo transaccional y consultar logs.
Borde naranjaEnvío clasificado como sospechoso de spamRevisar Turnstile, Akismet y falsos positivos.
Campos no válidosCampos obligatorios, email inválido, subida demasiado grandeVerificar etiquetas, datos, límites y mensajes.
404 Not FoundFormulario borrado o identificador erróneoCopiar de nuevo el shortcode desde Contacto.
Se queda cargandoProblema JS, REST API, caché o bloqueo de seguridadInspeccionar consola/red y probar temporalmente sin optimizaciones conflictivas.
Wrong placeHTML con formularios anidadosSacar Contact Form 7 fuera de cualquier etiqueta <form>.
El correo contiene [your-field]Mail-tag inexistente o mal escritaHacer coincidir los nombres del formulario y Correo.
Adjunto ausenteNo se ha configurado «Archivos adjuntos»Añadir allí la mail-tag [your-file].

Significado de los bordes rojo/naranja y diagnósticos: documentación oficial. Algunos temas modifican los estilos visuales.

¿Dónde se guardan los mensajes enviados?

Contact Form 7 no guarda los envíos en la base de datos por sí solo. El complemento gratuito Flamingo, del mismo autor, permite conservar consultas en WordPress. Configura conservación, accesos y borrado según tus obligaciones de privacidad.

Documentación de Flamingo ↗

¿Cómo adjuntar archivos sin errores?

La etiqueta [file your-file filetypes:pdf|jpg|png limit:2mb] solo crea el campo. Para recibir el archivo debes poner [your-file] en «Archivos adjuntos» de la pestaña Correo. El servidor y el proveedor pueden imponer restricciones adicionales.

Documentación de archivos ↗

09 / Protección de datos

Contact Form 7 y RGPD: qué incluir antes de publicar.

Un formulario que solicita nombre, correo o teléfono implica tratamiento de datos personales. El plugin aporta funciones técnicas, pero no redacta automáticamente una política de privacidad adecuada a tu actividad.

La información que debes mostrar

La Agencia Española de Protección de Datos recomienda informar por capas: una primera información básica en el mismo momento de recogida y acceso a una explicación ampliada. Esa primera capa debe identificar al responsable, la finalidad, la base jurídica y las previsiones de cesiones o transferencias, entre otros elementos que correspondan. La segunda incluye más detalles, derechos y otra información pertinente.

No todos los formularios requieren la misma casilla de consentimiento. La base jurídica para responder a una solicitud depende de su naturaleza; una aceptación genérica no sustituye al análisis del tratamiento. Si además quieres hacer envíos comerciales, evalúa una autorización diferenciada cuando sea necesaria. Sustituye siempre los textos de ejemplo de esta guía por los de tu negocio.

Si utilizas Flamingo, el formulario también puede almacenar mensajes en tu base de datos. Si utilizas servicios externos de antispam o SMTP, revisa los flujos de datos, proveedores, contratos y posibles transferencias. No subas archivos o datos sensibles salvo necesidad justificada.

Fuente: AEPD · Derecho de información ↗. Este apartado ofrece criterios generales, no asesoramiento jurídico individual.

Responsable y finalidad del tratamiento claramente identificados.
Base jurídica adecuada y textos adaptados al uso del formulario.
Enlace accesible a información ampliada de privacidad.
Recoger solo los campos realmente necesarios.
Política de conservación y permisos si se usa Flamingo.
Revisión de terceros: SMTP, Turnstile, analítica e integraciones.
10 / Mejora continua

Medir conversiones de Contact Form 7 con GA4.

Una web que recibe contactos necesita saber qué páginas y campañas generan solicitudes. Contact Form 7 dispone de eventos JavaScript, incluido uno específico para el procesamiento correcto del correo.

El evento wpcf7mailsent se activa cuando Contact Form 7 completa un envío que el plugin considera correcto. Puede utilizarse para registrar el evento recomendado generate_lead en Google Analytics 4. Eso no demuestra que el destinatario haya leído o recibido el correo ni autoriza a enviar datos personales a Analytics.

Si ya mides los formularios mediante Google Tag Manager, integración de terceros o un evento automático, verifica que no se dupliquen conversiones. Configura el seguimiento conforme al consentimiento analítico aplicable.

JavaScript opcional · GA4 · Revisar consentimiento
document.addEventListener('wpcf7mailsent', function (event) {
  // Ejecutar solo cuando el consentimiento de analítica lo permita.
  if (typeof window.gtag !== 'function') return;
  window.gtag('event', 'generate_lead', {
    form_id: String(event.detail.contactFormId)
  });
});
// Evita incluir nombre, email, teléfono o texto enviado en el evento.
// Si GA4 ya recoge este envío, NO dupliques el evento.

Qué métricas conviene analizar

Observa envíos válidos, leads útiles, tasa de conversión por página, origen de las visitas y tiempo de respuesta comercial. Más envíos no equivalen siempre a mejores contactos. Ajusta el texto introductorio, el número de campos, los mensajes de confianza y el siguiente paso después del envío. Evita realizar cambios simultáneos si quieres entender qué modificación genera una mejora.

Fuente: Contact Form 7 · Seguimiento con GA4 ↗.

11 / Preguntas frecuentes

Dudas habituales sobre Contact Form 7.

Estas respuestas completan el tutorial y ayudan a resolver consultas que suelen surgir después de crear el primer formulario.

¿Contact Form 7 es gratis para WordPress?

Sí. El plugin principal es gratuito. Algunas integraciones externas, servicios de correo o complementos adicionales pueden tener costes independientes.

¿Necesito Elementor Pro para usar Contact Form 7?

No. Contact Form 7 genera un shortcode que puedes insertar en el widget Shortcode de Elementor, sin necesidad del widget Formulario de Elementor Pro.

¿Cuál es el shortcode de Contact Form 7?

Es un código con el formato

Error: Formulario de contacto no encontrado.

. Cada formulario tiene su propio identificador: cópialo desde el panel del plugin.

¿Cómo poner un campo obligatorio?

En los tipos compatibles, añade un asterisco al tipo de etiqueta, como [text* your-name] o [email* your-email]. La casilla acceptance es obligatoria por defecto.

¿Cómo crear un desplegable?

Usa una etiqueta select como [select* your-service include_blank "SEO" "Diseño web"]. El asterisco obliga a elegir y include_blank añade una primera opción vacía.

¿Cómo puedo recibir los mensajes en Gmail?

Configura tu cuenta de Gmail como destinatario en «Para», pero mantén un remitente propio del dominio en «De». Autentica el envío con el proveedor adecuado y verifica SPF/DKIM/DMARC.

¿Por qué Contact Form 7 dice que el mensaje se envió pero no llega?

Puede ser un problema de entrega, filtrado, configuración del remitente o servidor. Comprueba el destinatario, spam, logs de SMTP y autenticación.

¿Contact Form 7 guarda los mensajes recibidos?

Por defecto no. Puedes instalar Flamingo para guardar mensajes en WordPress y gestionar su conservación conforme a la política de privacidad.

¿Cómo enviar una copia automática al usuario?

En la pestaña Correo activa «Usar Correo (2)», pon [your-email] como destinatario y utiliza un remitente verificado del dominio de la web.

¿Se pueden adjuntar PDF o imágenes?

Sí. Por ejemplo [file your-file filetypes:pdf|jpg|png limit:2mb] crea un campo con límite de 2 MB; añade [your-file] al apartado «Archivos adjuntos» de Correo.

¿Cómo añadir una casilla de privacidad?

Utiliza [acceptance your-consent] ... [/acceptance] y muestra información de privacidad correcta. La legitimación no tiene por qué ser idéntica en todos los formularios.

¿Se pueden crear formularios de varios pasos?

El núcleo está pensado para formularios de una sola página. Los flujos multipaso suelen exigir un complemento compatible o una implementación específica que debes probar y mantener.

¿Por qué aparece 404 Not Found en el formulario?

El shortcode puede apuntar a un formulario que ya no existe o tener un identificador equivocado. Revisa Contacto → Formularios de contacto y vuelve a copiar el código.

¿Qué es mejor, Contact Form 7 o WPForms?

Contact Form 7 favorece la flexibilidad mediante etiquetas y HTML. WPForms ofrece un enfoque más visual. La elección depende de tus necesidades, experiencia y costes de las funciones concretas.

¿Cómo cambiar los mensajes de éxito o error?

Abre el formulario y entra en la pestaña «Mensajes». Allí puedes editar textos de confirmación, validación y error sin modificar el código fuente.

¿Qué reCAPTCHA usar con Contact Form 7 en 2026?

Contact Form 7 mantiene documentación de reCAPTCHA v3, pero su autor recomienda Cloudflare Turnstile como opción antispam gratuita cuando no hay razones para usar reCAPTCHA.

¿Qué ocurre si un formulario queda dentro de otro formulario?

El HTML anidado es inválido y Contact Form 7 puede mostrar un aviso de ubicación incorrecta. Mueve el shortcode fuera de cualquier etiqueta form existente.

¿Se puede medir un formulario en Google Analytics 4?

Sí. Puedes escuchar el evento wpcf7mailsent y enviar un evento generate_lead sin datos personales, sujeto al consentimiento analítico y evitando duplicados.

12 / Fuentes y transparencia

Fuentes oficiales y método de revisión.

Actualizado el 17 de octubre de 2026. La redacción prioriza documentación de Contact Form 7, la AEPD y Google. Los ejemplos son originales y contienen datos de demostración que debes sustituir.

Criterio editorial de la guía

El objetivo es que un usuario pueda crear, insertar, personalizar, proteger y probar un formulario funcional sin confundir la parte visual con la entrega del correo. Las plantillas usan funciones oficiales del plugin, pero no pueden sustituir las pruebas sobre tu servidor, tema, proveedor de correo y configuración de privacidad.

Las preguntas frecuentes se incluyen por su utilidad para los lectores; no se añade marcado FAQPage para perseguir resultados enriquecidos, dado que Google retiró esa función de su Búsqueda en mayo de 2026. Para los datos estructurados de artículo y el canonical utiliza la configuración SEO central de WordPress, sin duplicarlos en un widget HTML.

WordPress / Diseño web / Conversión

Un formulario que funciona.
Una web que convierte.

Que el mensaje llegue es el mínimo. Una buena web también debe transmitir confianza, explicar bien tus servicios y facilitar el siguiente paso. Si necesitas mejorar tu web profesional, puedo ayudarte.

© Roger Llorens · Guía práctica de Contact Form 7Revisión editorial: 17 de octubre de 2026