Is there a way to put form questions on different pages, so that the forms don't look so long? | Community
Skip to main content
Gabby_Owens3
Level 2
November 20, 2018
Question

Is there a way to put form questions on different pages, so that the forms don't look so long?

  • November 20, 2018
  • 3 replies
  • 6947 views

MY QUESTION: Is there a way to put form questions on different pages, so that the forms don't look so long?

MY HOPE: I'm hoping there is a way to do this without having to create a form for each question, and a corresponding landing page for each also.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

3 replies

Level 7
November 20, 2018

Hi @Gabby Owens​,

When you say "form questions", are you referring to form fields? And just to clarify, do you want 1 form with several form fields, but place the same form on different pages in a way that each page shows only the desired field/question? Would be really helpful if you could elaborate more on the requirement.

Best Always,

Karan Hari

Gabby_Owens3
Level 2
November 20, 2018

Hi, @Karan Hari​:

Yes, form questions = form fields.

Also yes- want 1 form with several form fields, but place the same form on different pages in a way that each page shows only the desired field/question.

SanfordWhiteman
Level 10
November 20, 2018

You have just described the Progressive Profiling feature to a T! Read more about it in the docs and try it out.

Level 1
November 21, 2018

We had the same challenge and tried to configure it with the progressive profiling but it didn't work since we needed to show/hide complete sections every time without refreshing the page, instead of specific fields.

Eventually we worked with the team at overstack.io to develop a custom javascript code that deals with that.

They also helped us implementing a custom tracking functionality which records any form engagement in Google Analytics.

Good luck!

SanfordWhiteman
Level 10
November 21, 2018

But it wasn't "the same challenge" in that case, then. Let's stay on topic and not add more FUD about Progressive Profiling not working — people see posts like this and run with the idea and the next thing you know, I'm hearing "From what I've read, Progressive Profiling doesn't work" and then I have to go back to the beginning and explain what it is, what it's expected to do, and that it does work reliably, even with the embed on non-Marketo sites (another vastly common misunderstanding).

Kai_Crow2
Level 2
November 23, 2018

Hi Gabby, hopefully I can be helpful here. We had what I think was a similar use case at a previous company where we wanted to reduce the number of fields showing on the screen at a time to make the form seem less daunting and to give it some more structure - the impact of changing from a single long form to having the user complete it in 3 smaller parts, in our case was a considerable increase in conversion rate (~30%).

Hopefully I'm understanding correctly that this is essentially what you're trying to achieve. I've recreated quickly what we had since I no longer have access to the original page (that means there is probably a much tidier execution of this that can be done, but hopefully this gives you the basic idea).

This is what I mocked up: get.asknicely.com/TEST---multi-part-form-2.html
- there's just two parts to this form, but could easily be extended to more.
- there's no validation, so you can click forward to the second "page" without entering anything

1: Created a marketo form with all the fields I need on it (see screen shot attached)

     - note, I've added one additional field here, which in my case is called "z_formula_test" which was just a handy spare field to use, but you'd probably want to use something more logical like "form step" and I've set this to have a default value of 1 to set us at the first step when we first load the form.

     - then I've added visibility rules to each field on the form (see second and third screen shot) - for the personal details (email, first, last, job title) which I want to display first, they display when my field "z_formula_test" is 1, for the company details (company, address, website), they will display when the value is 2

     - the last step in the form setup is to add a bit of custom CSS to hide the submit button until we're ready and to hide the "z_formula_test" field - this looks like:

.mktoButtonRow{display: none;}#z_formula_test__c{display: none;}
(note that I just made the label of the "z_formula_test" field empty so only needed to hide the field - again, probably neater ways of doing this, but in the interest of time...)

2: Then I created a landing page with the form on. For this, at minimum I needed the ability to place a form and section of custom HTML, in order to insert some Javascript.

- once the form was added, I inserted the custom html and javascript below:

<div><button class="an-button" id="button1" style="display: none;"><sub></sub> Company details &gt;</button></div>

<script>// <![CDATA[

MktoForms2.whenReady(function (form) {

   form.vals({ "z_formula_test__c":"1"});

   var btn = document.getElementById("button1");

   $( "#button1" ).css( "display", "inline-block" );

   btn.onclick = function() {

          form.vals({ "z_formula_test__c":"2"});

          $( ".mktoButtonRow" ).css( "display", "block" );

          $( "#button1" ).css( "display", "none" );

    };

});

// ]]></script>

What this does:

1) adds the first button to advance to the next stage of the form (which is hidden until the form is loaded)

2) adds a click action on that button which:

     - updates the z_formula_test field to "2"

     - shows the submit button

     - hides the first button (itself)

And that's pretty much it. Splits the form in two but just gives you one form to manage in Marketo, and one page to manage.

You can add/remove fields or change them between steps just from the form editor and still supports all the other marketo form functions.

* Like I said, this is a quick re-hash of something I did previously, there's a few things missing:

- you'd probably want to add some validation to the onclick function on the first button so that users didn't get right through to the end and find info was missing (alternative might be to add a 3rd state for the z_formula_test field that would show everything - then if there was any sort of validation error at the end, you could set that so it would show all fields, although that's probably not the most favorable option)
- you'd also definitely want to add a similar button to 'get back to' the first stage, so doing the reverse of the first button (or rather than hiding the first button, you could change it's functionality and label once it's been clicked).- I'd also say a drawback of this method is it's not technically separate pages, so could cause some issues with users using the back button - I think you can work around that by setting a browser state - you'd have to look into that though.
Also, one other note: I did use some Jquery in there to ease the pain of selecting objects - make sure you've got that running or adjust accordingly.

Again, I stress, this is a basic implementation to explain how we made this work (hopefully similar to what you're trying to do) - not a perfect solution, so take this as a guide and extend it.

Hope that helps!
{checks furiously before submitting to ensure no surplus tagging}

SanfordWhiteman
Level 10
November 23, 2018

Nice... but yet again there's no indication that the OP is speaking of anything other than the built-in Progressive Profiling behavior.

Don't get why this thread has attracted so many custom suggestions given the pretty clearly stated need?

Kai_Crow2
Level 2
November 23, 2018

Maybe just lots of people wanting to be helpful. Not sure I see the problem ¯\_(ツ)_/¯