We have a form that's embedded on a landing page. When someone fills out the form it redirects to a thank you page that says: "thank you for registering. we sent a pass to your email {{lead. email address}}". However, lately we encountered a problem where a lead fills out the form but the email add on the thank you page is different from the one that was used in form. For example, i filled out the form and i used abc@xyz.com on the form's email field. After submitting the form I get redirected to the thank you page but the email token shows a different email "thank you for registering. we sent a pass to your email "def@xyz.com". I've already disabled munchkin tracking codes but the problem still persists. Has anyone encountered the same problem? Thanks!
Solved! Go to Solution.
This is completely normal behavior. Lots of people don’t understand the nature of a Marketo form post and how it relates to session association.
A Munchkin session is not guaranteed to be associated with the person who submitted the form by the very next pageview. Association happens in the background. It may happen a few seconds later — or, under very high load, a minute or two later — but it must never be expected to be complete by the time the Thank You page is shown.
So if you want to show the latest data from the form on the Thank You page, the best way is to add the form fields to the Thank You URL and read them on the destination page.
I've already disabled munchkin tracking codes
You certainly don’t want to do this. It’s just causing confusion because disabling Munchkin doesn’t delete the existing cookie (nor would it help if you deleted the cookie).
Hi Sanford, the appended URL shows up now after form submission. However, the {{lead. email address}} token on the TY page's content did not update. Should I replace this token as well?
You won't be able to reference the value as a lead token (the token rules above always apply).
You reference the value as a query parameter.
Include this in your <head>:
<script>
{
let currentQuery = new URLSearchParams(document.location.search);
class QueryParamOutput extends HTMLElement {
constructor() { super(); }
connectedCallback() { this.textContent = currentQuery.get(this.getAttribute("name")); }
}
customElements.define("output-query-param", QueryParamOutput);
}
</script>
Then you can reference URL query params throughout the body using the custom element:
Your name is <output-query-param name="FirstName"></output-query-param>.
Could you please add the link to your landing page that has the form on it so we can see this happening?
This is completely normal behavior. Lots of people don’t understand the nature of a Marketo form post and how it relates to session association.
A Munchkin session is not guaranteed to be associated with the person who submitted the form by the very next pageview. Association happens in the background. It may happen a few seconds later — or, under very high load, a minute or two later — but it must never be expected to be complete by the time the Thank You page is shown.
So if you want to show the latest data from the form on the Thank You page, the best way is to add the form fields to the Thank You URL and read them on the destination page.
I've already disabled munchkin tracking codes
You certainly don’t want to do this. It’s just causing confusion because disabling Munchkin doesn’t delete the existing cookie (nor would it help if you deleted the cookie).
Thank you Sanford!
Sorry noob here. Should I paste your codes on the TY landing page or should I create a token for the TY URL. for example asd.com/{{codes}}.html
Just curious, why is deleting cookies not helpful?
Sorry noob here. Should I paste your codes on the TY landing page or should I create a token for the TY URL. for example asd.com/{{codes}}.html
The JS goes on the Landing Page, not the TY (has to, that’s where the data is sourced).
On the TY you can read the values from the query string and output them into the page.
Also note that if you don’t have a separate TY page but merely replace the form with a Thank You message on the same page, this is much easier.
Just curious, why is deleting cookies not helpful?
Because you want to associate sessions with known people!
Hi Sanford, the appended URL shows up now after form submission. However, the {{lead. email address}} token on the TY page's content did not update. Should I replace this token as well?
Hi Sanford, the appended URL shows up now after form submission. However, the {{lead. email address}} token on the TY page's content did not update. Should I replace this token as well?
You won't be able to reference the value as a lead token (the token rules above always apply).
You reference the value as a query parameter.
Include this in your <head>:
<script>
{
let currentQuery = new URLSearchParams(document.location.search);
class QueryParamOutput extends HTMLElement {
constructor() { super(); }
connectedCallback() { this.textContent = currentQuery.get(this.getAttribute("name")); }
}
customElements.define("output-query-param", QueryParamOutput);
}
</script>
Then you can reference URL query params throughout the body using the custom element:
Your name is <output-query-param name="FirstName"></output-query-param>.