We're embedding our forms so the auto-fill won't work for us.
When using Progressive Profiling, we'd like to use 3 madatory questions + 2 different every time.
Is there a way to present the 3 mandatory questions ONLY at the first time?
It's pretty annoying to the user to fill it up every time?
MKTO needs to know who the lead is and will use the Lead's Email Address for this, so it needs to be populated. However, you could use form pre-population so its less annoying for the Lead and it avoids having to populate the field again.
Thanks Macarena! however we can't use the Marketo pre-population as we're embedding our forms (I understood it won't work with embed).
It's very weird that Marketo can't rely on cookie to solve this one...
The second time a form is filled out, the Email Address is not necessary to have on the form (nor even the first time, depending on how the lead got there).
Like Yifat mentions, PreFill is not applicable for embedded forms.
The answer here is to check whether the lead is known using Known Lead HTML in a hidden form, then use that outcome to determine whether the always-on fields may be hidden, showing only ProgPro fields.
Waw, thanks Sanford!
Is there any written documentation I can follow? I couldn't find anything related for embeded forms.
Realized there's a more basic way that avoids the extra form load or call to an undocumented endpoint.
Add a Rich Text right above above your ProgPro block. The RT only has a single <hr> in it (could actually be any element, we just need something to look for with a known class). It will not display in the rendered form.
Then you need a little bit of JS (see demo) in which you supply the name of the last field shown in your first set of Progressive Profiling fields.
That is, if you have 6 ProgPro fields total and are set to show 3 at a time, supply the name of the 3rd field; if you have 4 ProgPro fields and show 2 at a time, the name of the 2nd field. In the form above, there are 3 ProgPro fields and the form shows 2 at a time, hence the last field in the first set is LastName.
MktoForms2 :: Hide Always-Ons on 2nd ProgPro
The logic is that if the form does not contain the last field in the first ProgPro set, then by extension it must be on one of the later ProgPro sets (could be the 2nd, 3rd, 4th set, doesn't matter). Ergo, the lead must have completed the first ProgPro set already, so you can safely hide the always-on fields* (FirstName and Email here).
Note if you're using additional custom JS to, for example, switch the placement of ProgPro fields, you'll need to adapt to that.
*Be aware of an edge case where you already have values for the first ProgPro set in on the lead record before they give you their always-on fields. It could happen.
Actually I need to refactor this a bit for another case. Wait for another update on Wed.
Ok, will do. Thank you so much Sanford for taking the time to write this - I really appreciate it!
Was there ever any update on this as I'm currently trying to embed forms and want only for the main fields to show initially and then the progressive fields (3) the next time and then if we have a complete profile already, it's a simple "Not you" type checkbox to where if clicked then the entire form expands showing the necessary data. Will prevent prefill info from being shown which won't violate PII or is it better to have all of the fields shown pre-filled? Thanks!
I'll write back on this on Thursday, JJ.