Enrique J. Ros

Pasar datos entre formularios con Gravity Forms mediante GET

Siguiendo con lo que ya se está convirtiendo en una serie de entradas sobre Gravity Forms, hoy vengo con otra técnica para este genial plugin de formularios avanzados.

Y precisamente es algo que nos va a ayudar a mejorar mucho la conversión en formularios largos (y, por supuesto, te explico cómo): vamos a ver cómo podemos pasar datos de un formulario a otro con Gravity Forms, método que también puedes utilizar para enviar datos a un formulario a través de un enlace mediante GET.

Recuerda que puedes descargar gratuitamente Gravity Forms, periódicamente actualizado, desde el área de suscriptores de la web si estás suscrito a los plugins (+info)

Mejorar las conversiones conectando formularios

Vamos a empezar hablando un poco sobre marketing online. Imagina que tienes un formulario bastante largo, como de 15 ó 20 (o más) campos: un auténtico ahuyentador de usuarios. Todos huimos de los formularios largos, nadie quiere pasarse 10 ó 15 minutos rellenando un formulario, cuando podría estar haciendo otra cosa más útil, como por ejemplo stalkear en el Facebook de otro o juntar frutas de tres en tres en algún juego social.

Por supuesto una muy buena solución en estos casos es dividir el formulario en varias páginas, eso sí, incluyendo siempre una barra de progreso que informe al usuario de los pasos que quedan (a no ser que quieras que abandone el 90% en la segunda pantalla). Si no sabes cómo hacerlo, te lo explico aquí:

Pero eso es útil cuando el usuario ya sabe que tiene que rellenar un formulario largo, y se ha hecho a la idea. Digamos que eso te ayuda a aumentar la conversión en el segundo paso del embudo, de usuarios con intención de rellenar el formulario a usuarios que lo han rellenado.

Pero no es útil en la primera captación, cuando tienes que convencer al usuario de que necesita rellenar ese formulario. Si ve que consta de 30 campos, o que son tres páginas, no hará ningún esfuerzo por comenzar. Ni se lo planteará.

Pero ¿y sí son sólo tres campos, los tres más básicos y fundamentales, que además no comprometan a nada, con un botón que, en lugar de Enviar, diga Comenzar? Aquí un ejemplo práctico:

Mucho mejor, ¿verdad? Incluso es difícil resistirse. Sin embargo ahora tenemos otra dificultad (que resolveremos enseguida): ese formulario debe llevar al formulario completo con esos campos ya rellenos.

Si nos llevamos al usuario al formulario largo, y además tiene que volver a rellenar los datos que ya le hemos pedido, estaremos peor que al principio, ya que de lo que se trata es de vencer su resistencia a empezar: así, cuando se vea ante el formulario completo, ya lo habrá empezado y parte de los datos estarán ya rellenos.

Pasar datos de un formulario a otro

Pues bien, vamos a pasar estos datos al formulario definitivo por el método GET, una forma de pasar datos de una página a otra a través de la URL. ¿Parece complicado? Pues ya verás que no lo es en absoluto.

Para ello basta configurar el formulario básico, el corto, para que redirija a la dirección del largo, pasando los datos que el usuario ha rellenado a través de la URL, y después configurar el formulario largo para que reciba esos datos y los coloque en sus campos correspondientes.

Vamos a ver cómo.

Enviando los datos vía query string

Primero vamos a modificar ligeramente el comportamiento de este primer formulario. Para empezar, yo en estos casos suelo desactivar las notificaciones de Gravity Forms en estos casos: el administrador de la web no necesita saber que se ha rellenado el formulario, ya que aún no hay datos útiles ni definitivos, y puede llegar a ser una molestia.

Pero eso queda al gusto de cada uno, lo verdaderamente importante está en el apartado de confirmación (Ajustes > Confirmaciones), que es donde se configura la confirmación de que el formulario se ha rellenado correctamente.

Lo que haremos será establecer la confirmación como tipo Página, para que al pulsar el botón Comenzar el usuario sea llevado a esa página. Y ¿a qué página hemos de llevarle? Pues, evidentemente, a la página que contiene el formulario largo.

Pero eso no basta, además de al usuario hay que llevarse también los datos que ha rellenado, y para eso vamos a hacer uso de la opción Pasar datos de los campos via Query String, marcándola. La forma de rellenar el campo correspondiente es bastante sencillo, además de que tienes un ejemplo bajo él. Sería algo así:

dato1={Campo correspondiente}&dato2={Campo correspondiente}&...

Siguiendo el ejemplo del formulario que he puesto más arriba, sería provincia={Provincia:1}&edad={Edad:2}. Fácil, ¿verdad? Un par de aclaraciones:

De esta forma, cuando el usuario haga click en el botón de envío (Comenzar), Gravity Forms redirigirá a una URL de la forma:

http://www.tuservidor.com/url-formulario-completo/?provincia=ProvinciaUsuario&edad=EdadUsuario

Recibiendo los datos

Perfecto, ya tenemos los datos enviados por el primer formulario a través de la URL hacia la dirección del segundo formulario: ahora sólo nos falta recibirlos allí y colocarlos cada uno en su campo específico.

Para ello, por supuesto, el formulario que recibe los datos tendrá que tener también esos campos, que han de ser del mismo tipo que los del campo que envía, para evitar problemas: no podemos poner la edad en el primer formulario como un campo de texto y recibir el dato en un campo numérico, ya que nos exponemos a un error en caso de que el usuario haya rellenado mal el campo en el primer formulario.

Pues bien, sólo tenemos que decir a Gravity Forms a qué campo pertenece cada uno de los valores que se van a recibir a través de la URL. Para ello hemos de ir al campo correspondiente (el que vaya a almacenar el valor) y, en la pestaña Avanzado seleccionar la casilla Permitir al campo rellenarse dinámicamente.

Al hacerlo, aparecerá la nueva opción Nombre parámetro, donde le indicarás con qué nombre llegará el dato que quieres que almacene este campo. En nuestro ejemplo, provincia:

Y a continuación… ¡nada más! ¿Esperabas más? Pues no, ya está. Basta hacer eso con cada uno de los campos que recibirán datos (la provincia y la edad en nuestro ejemplo). De esta forma el usuario se verá ante el formulario definitivo pero con los primeros datos ya rellenos, y la resistencia a comenzar ya estará vencida.

Vídeo: enviar datos a un formulario Gravity Forms por el método GET

Soy consciente de que hay quien prefiere leer paso a paso y quien prefiere ver un vídeo. Así que, contradiciendo a quienes dicen que no se puede contentar a todos, aquí tienes también un vídeo con el proceso completo:

Y, como siempre, recordarte que si tienes cualquier duda o consulta puedes hacer uso del formulario de contacto.

Salir de la versión móvil