Marketo Forms Pre-Fill Update – What It Means, and What You Can Do About It

Last week, Marketo rolled out an update to the pre-fill feature for their forms. We know the response to this news can range from confusion to mild panic, so we wanted to present you with our take on the change and how it could impact your lead generation efforts.

Before we get into what’s changing and what this change means for you, we want to ease your concern and let you know that we’ve already got a solution.

Read this blog post to discover:

  1. What’s Changing

  2. What’s Not Changing

  3. “Will the form pre-fill?” Reference Sheet

  4. Our Solution

  5. Technical FAQs


1. What’s changing:

Marketo Form Pre-fills

If your prospects arrive at your landing page via a tracked link in a Marketo email, your form will still pre-fill as long as pre-fill is enabled. However, if your prospect navigates directly to the Marketo landing page/form combo without clicking through an email, the form will no longer pre-fill because the required mkt_tok will no longer be present in the HTTP request. We can help you navigate through this so your conversion rates don’t take a hit.

Why the change?

Marketo has said that the main reason for this change is to “provide a more consistent and more secure experience with Marketo’s forms.” The primary concern is that there are situations, such as people using a shared computer, when the data pre-filled into a form doesn’t correspond with the person viewing the page.

2. What’s not changing:

Marketo Form Embedded into iFrame

These forms will still pre-fill if the mkt_tok value from the original HTTP request is passed along to the iFrame URL. This will require custom JS to pass the token from the parent to the child.

Marketo Form Embedded using Embed Code

Pre-fill has never been supported for Marketo forms on non-Marketo pages, and that continues to be the case. As always, a custom solution is required to achieve pre-fill here.

Non-Marketo Forms Using Marketo APIs

No change here either. If you’re not using a Marketo form, your pre-fill functionality won’t be affected by the Marketo update.

Non-Marketo Forms

Again, if you’re not using a Marketo form, your pre-fill functionality won’t be affected. However, the functionality of the Munchkin cookies is changing in order to prevent the wrong person’s information from being displayed in cases where a computer is being shared or an email with a mkt_tok tracked link is forwarded to another person. If you’re relying on the Munchkin API, even on a Marketo form, we can help you make sure your info is getting back to Marketo.

3. “Will the form pre-fill?” Reference Sheet

Here is a quick reference sheet to help you determine how form pre-fill will work in each scenario moving forward:

Marketo Form Pre-Fill Upgrade - Scenario Table

4. Our Solution

Our team has also developed a custom code snippet that will remember data across all of your Marketo landing pages. Simply paste the following code into your Marketo landing page templates, and update the fields at the beginning of the snippet with the fields that you want to have pre-fill. Note that SSL is not required for this to work:

MktoForms2.whenReady(function (mktoForm) {
// fields to auto-fill
let mktoFields = {
“Company” : null,
“Email” : null,
“FirstName” : null,
“LastName” : null,
};
mktoForm.onSuccess(function() {
for (let field in mktoFields) {
mktoFields[field] = this[field].value;
}
localStorage.setItem(“mktoFields”, JSON.stringify(mktoFields));
});
if (localStorage.hasOwnProperty(“mktoFields”)) {
mktoFields = JSON.parse(localStorage.getItem(“mktoFields”));
mktoForm.setValues(mktoFields);
}
});

As with most Marketo fixes, our solution comes with some pros and cons.

Pros: 

  • Simple to implement, understand, and customize
  • No externally hosted pages or scripts
  • No extra Marketo forms or pages
  • No domain or SSL complications
  • Can be used on external pages too *with some limitations

Limitations:

  • Does not pre-fill from the Marketo Lead Database, but relies on locally stored data from an existing form submission

This snippet can be easily and fully customized to add more advanced functionality, so reach out if you have any questions about how you can leverage this solution within your Marketo instance.

5. Technical FAQs

If they change the data in the form will it overwrite the locally stored values?

Yes, every time the form is submitted the locally stored values are updated.

Are we able to include fields that may not be included on the form?

Currently, the list of fields at the top is intended to be updated for each form so that you can specify which fields to auto-fill.

Since no data is coming from the Marketo DB is it safe to assume that when this is implemented, it will be empty for everyone until they fill in a form?

Yes and No, as “if your prospects arrive at your landing page via a tracked link in a Marketo email, your form will still prefill as long as pre-fill is enabled.”

The limitations on external pages, are they only the ones referenced above?

The other noteworthy limitation is that the locally stored data is associated to the domain of the page, so if a client is using a combination of Marketo landing pages and embedded forms on their website, the data isn’t shared between them, so if a user fills out a Marketo landing page then goes to the website, the data isn’t available there.

If someone had this script on 2 different domains would it populate the data for both? Or would they see a blank form the first time they visited each?

See above, but keep in mind “if your prospects arrive at your landing page via a tracked link in a Marketo email, your form will still prefill as long as pre-fill is enabled.”

Is a user able to clear this similar to clearing cookies?

Yes, users always have control of their local data, cookies, cache, history, etc.

Does the user need to be told that this data is being stored?

Yes and No. If you’re thinking about GDPR and the EU Cookie Law, you will have to inform users about storing data, but if you’re using Marketo, hopefully, you’re already doing that!

Are there any page load or speed implications to be aware of?

No.

Are there any security issues to be concerned about? ie cross-site scripting attacks

No, the data is stored locally and associated with the domain where the form data originated.

Once again, this solution can be customized based on your organization’s needs. The solution presented above is intended to quickly fix the most common use cases without developer involvement. If you have any further questions, please reach out to your Revenue Pulse consultant or contact us directly. We’ll be glad to make sure you’re still getting the info you need from your forms.