I've read just about every article about this, and it seems so easy in the Marketo docs, but I just can't get it to work. I'm trying to pass a value into a hidden field on a form via a cookie. I'm quite technical, but I must be overlooking something and I'm getting bizarre results. Here's my issue(s):
I set a cookie for anyone landing on the website with a specific parameter. I've verified the cookie is getting set and is present throughout testing.
Here is my test:
I've created two hidden fields, one that pulls from the URL Parameter, the other pulls from the Cookie Value.
My results:
So, the parameter is getting passed by the URL Parameter, when none is present - (maybe somehow it's pulling from the cookie?), and is not when both the URL parameter and cookie is present.
Any ideas?
Solved! Go to Solution.
Your current approved LP only has the single cookie mapping (cookie gclid → field GCLID__c). I assume you didn't reapprove the LP, if you've made that change in Form Editor.
With that considered, the form is behaving as expected. Once the cookie exists (after the first load) then the hidden field is Auto-Filled.
Also, you generally want to turn off Pre-Fill (not Auto-Fill) for these attribution tracking fields, because otherwise you can get very confused while debugging (leaving a field empty if it's not supplied by the session context is more clear, and that empty field will be ignored by the db when posted, so you don't have to worry about clearing fields accidentally).
P.S. You really should do some refactoring in the other form code on the page -- while it's not related to the behavior you're reporting, it's hard to read through in order to rule it out.
For one example:
if (isUnSubscribed!=undefined && isUnSubscribed!='' && isUnSubscribed!=null && isUnSubscribed=='false') {
} else if (isUnSubscribed!=undefined && isUnSubscribed!='' && isUnSubscribed!=null && isUnSubscribed=='true') {
This code path can never be different from:
if (isUnSubscribed=='false') {
} else if (isUnSubscribed=='true') {
Also: any element selector should be scoped to the Marketo <form> element, not to the document. Remember that you can have multiple forms and you don't want to change values across forms. And value changes should be done with the forms API setValues() whenever possible, not DOM updates, or else you can break visibility and validation rules.