Saltar al contenido
Claviweb
Menú

Guía

Formulario de contacto para tu página web: qué pedir, cómo frenar el spam y cómo saber si funciona

Un buen formulario de contacto pide solo lo necesario —en Panamá, la Ley 81 habla de datos «limitados al mínimo necesario»—, tiene etiquetas visibles y mensajes de error claros, frena el spam con un campo trampa o un desafío como Turnstile, manda el aviso desde tu propio dominio para no caer en spam y se mide como evento clave en Google Analytics.

5 de octubre de 2026← Todas las guías

Contesta

«cómo hacer un formulario de contacto para una página web»

El formulario de contacto es la puerta de entrada de muchos clientes, y falla en silencio: mensajes que no llegan, spam que tapa a los de verdad, campos de más que hacen que la persona se vaya. Ninguna de esas fallas avisa.

Esto no es asesoría legal. Es lo que dicen el W3C, la Ley 81 de 2019, la ANTAI, Google y Cloudflare, consultados el 1 de octubre de 2026. El W3C es el organismo que publica las pautas de accesibilidad web, las WCAG.

Qué pedir, y qué no

El W3C lo dice simple: la gente prefiere formularios cortos, y hay que pedir solo lo necesario. En Panamá la Ley 81 dice algo parecido: los datos tienen que ser «adecuados, pertinentes y limitados al mínimo necesario».

Campo ¿Hace falta?
Nombre Sí, en un solo campo: no todos los nombres caben en «nombre y apellido»
Correo o teléfono Al menos uno, y mejor dejar elegir cómo quiere que lo contacten
Mensaje Sí
Empresa, cargo, presupuesto Solo si de verdad los usas para responder
Cédula Casi nunca para un contacto. Si la pides, es un dato personal con sus reglas

Sobre la cédula, la ANTAI aclara que nadie puede ser obligado a entregar su documento para que se fotografíe o se escanee, y que para tratar sus datos hace falta una base legal, sobre todo el consentimiento.

Que se entienda sin ayuda

Lo que piden el tutorial de formularios del W3C y las WCAG 2.2:

  • Una etiqueta visible en cada campo, conectada al campo en el código. El texto de ejemplo dentro del campo —el placeholder— no reemplaza a la etiqueta.
  • Decir qué es obligatorio. El W3C lo pone en el texto de la etiqueta; otras guías marcan, al revés, solo los campos opcionales. Lo que importa es elegir una forma y usarla en todo el formulario.
  • El propósito de cada campo en el código, con el atributo autocomplete —name, email, tel—: así el navegador puede llenarlo solo, y se cumple el criterio 1.3.5 de las WCAG.
  • Errores en texto, que se entiendan y digan cómo corregir, sin borrar lo que la persona ya escribió.
  • Un mensaje de éxito que confirme que se envió, y que los lectores de pantalla puedan anunciar.
  • Botones fáciles de tocar: las WCAG 2.2 piden al menos 24 por 24 píxeles, y web.dev recomienda 48.

El spam

Hay tres formas, de la más simple a la más pesada:

  • El campo trampa. Un campo oculto para las personas que los robots llenan; si viene lleno, el servidor descarta el envío. El W3C lo recomienda como primera opción —si alcanza, se usa eso— en una nota de 2021, que sigue en borrador. Tiene que estar bien oculto, llevar una etiqueta que diga que se deje vacío y tener el autocompletado apagado.
  • Cloudflare Turnstile. Una alternativa al CAPTCHA que decide según el riesgo si mostrar una casilla: no hay imágenes ni textos que descifrar. Es gratis hasta 20 widgets, con desafíos ilimitados, y no hace falta usar otros servicios de Cloudflare. Pero el propio Cloudflare lo advierte: el widget solo no protege; el servidor tiene que validar cada respuesta, que vale 5 minutos y una sola vez.
  • reCAPTCHA. Ahora es parte de Google Cloud, con 10 000 evaluaciones gratis al mes por organización. Las claves viejas se migraron entre fines de 2025 y principios de 2026, y en esas claves, al pasar el cupo, la verificación deja pasar todo: el spam entra sin aviso.

Los CAPTCHA de imágenes o letras son difíciles para muchas personas con discapacidad, y las WCAG piden ofrecer alternativas. Por eso el W3C prefiere los métodos que no le piden nada al visitante.

Que el aviso llegue

El formulario no manda correos desde el teléfono del visitante: los manda tu servidor, y ahí es donde se pierden. Desde el 1 de febrero de 2024, Gmail exige a todo remitente SPF o DKIM, y desde noviembre de 2025 rechaza más mensajes que no cumplen. Además, pide no suplantar a otros dominios ni remitentes. En la práctica:

  • El aviso tiene que salir desde tu dominio, con SPF y DKIM configurados → qué es el DNS y correo con dominio propio.
  • No como si lo mandara el visitante, con su dirección como remitente.
  • Si usas un servicio de envío, que autentique tu dominio.

Los datos y el consentimiento

  • La política de privacidad, al lado. La Ley 81 dice que, cuando los datos se recogen por internet, se cumple presentando la política de privacidad → qué debe decir en Panamá.
  • Un consentimiento que se distinga. Si va en un texto que trata otros asuntos, la ley pide que «se distinga claramente de los demás». Una casilla propia, sin marcar, con el enlace a la política, es la forma más simple.
  • Otro uso, otro consentimiento. Si después quieres mandarle promociones a quien te escribió, la ley pide un consentimiento nuevo.

Medir si funciona

Si usas Google Analytics:

  • La medición mejorada registra form_start y form_submit sin tocar el código, si el formulario tiene una acción de envío. Pero form_submit cuenta cualquier formulario del sitio, el del boletín incluido.
  • Para medir solo el de contacto, Google enseña a crear un evento propio a partir de form_submit, con la condición del nombre del formulario, y marcarlo como evento clave. También existe el evento recomendado generate_lead. Se pueden marcar hasta 30 eventos clave, y tardan hasta 24 horas en aparecer en los informes.
  • Nunca mandes a Analytics el nombre, el correo ni el teléfono de quien escribe.

Cómo se mira después → qué es Google Analytics.

Antes de publicarlo

  1. Envíalo desde un teléfono y desde una cuenta de Gmail, y revisa que el aviso llegue a la bandeja de entrada, no a spam.
  2. Prueba los errores: deja campos vacíos y escribe mal un correo.
  3. Revisa que el mensaje de éxito se vea, y que el evento aparezca en Analytics al día siguiente.

Fuentes oficiales

Lo que también se pregunta

¿Qué campos debe tener un formulario de contacto?

Los que necesitas para responder: por lo general, el nombre, una forma de contacto y el mensaje. El W3C recomienda pedir solo lo que hace falta, y la Ley 81 de Panamá pide datos adecuados, pertinentes y limitados al mínimo necesario.

¿Cómo evito el spam en un formulario de contacto?

Con un campo trampa, oculto para las personas, que los robots llenan; o con un desafío como Cloudflare Turnstile, que es gratis, o reCAPTCHA, que ahora es parte de Google Cloud y da 10 000 evaluaciones gratis al mes por organización. Turnstile solo protege si tu servidor valida la respuesta.

¿Por qué los mensajes de mi formulario llegan a spam?

Puede ser que el aviso salga sin autenticar, o con la dirección del visitante como remitente. Desde 2024, Gmail exige SPF o DKIM a todo remitente y pide no suplantar otros dominios: el aviso tiene que salir desde tu dominio, autenticado.

¿Cómo sé cuántas personas envían mi formulario?

Con Google Analytics. Su medición mejorada registra el evento form_submit, pero cuenta cualquier formulario del sitio. Para medir solo el de contacto, se crea un evento propio, o se usa generate_lead, y se marca como evento clave.

¿Puedo pedir la cédula en un formulario?

La ANTAI no prohíbe pedir el número, pero es un dato personal: hace falta una base legal, sobre todo el consentimiento, y nadie puede ser obligado a entregar una foto o un escaneo del documento. Si no la necesitas para responder, no la pidas.

¿Hace falta una casilla para aceptar la política de privacidad?

La Ley 81 dice que, cuando los datos se recogen por internet, se cumple presentando la política de privacidad, y que si el consentimiento va en un texto con otros asuntos tiene que distinguirse claramente. Para usar los datos con otro fin, como mandar publicidad, hace falta un consentimiento nuevo.

¿Te quedó una duda que la guía no contesta?

Escríbenos y te la contestamos, aunque no termines contratando nada. Preferimos que decidas bien.

Respondemos el mismo día, de lunes a sábado. También al +507 6230-7595.

WhatsApp