Hi - I am setting up an email which includes 4 links to specific parts of a landing page. 3 out of 4 anchor links work, but the 4th one won't work - I get a validation error when I try to approve the email. All 4 links go to the same page, just different sections with a hashtag
Solved! Go to Solution.
A-ha, URL-encode the "e" to avoid the reparsing error:
<a href="https://plaid.com/legal/#%65nd-user-privacy-policy" target="_blank" class="mktNoTrack" id="">End User Privacy Policy</a>
Some browsers will display the "%65" as "e" in the location bar, others will keep it as "%65", but the anchor link works either way.
Well, you haven't shown an actual example, so it's impossible to know for sure, but you should replace
#
in your URLs with
${esc.h}
Thanks for the help, Sanford! I tried what you suggested and got a different error now - see below
The original link I am trying to include is this: https://plaid.com/legal/#end-user-privacy-policy
That link definitely needs the escape character as indicated. #end is a reserved word and can't be used literally.
Please show the part of the HTML where you subbed in the escape character. (Show the whole <a> tag, including closing </a>.)
<a href="https://plaid.com/legal/${esc.h}end-user-privacy-policy" target="_blank" class="mktNoTrack">End Use Privacy Policy</a>
Can you create an email with only that link (with the escaped character like you have it) and test again?
Just did it and getting the same error
Correct - I tried a plain text email and one using a template
OK, let me look try to repro this.
Thank you Sanford!
Yep, definitely confusing behavior. The reserved word still gets flagged even when double-escaped.
The reason is that Marketo recursively parses content as Velocity. So "disguising" the few VTL reserved words is difficult, maybe impossible (though I'll keep testing it). Eventually, the parser sees a literal #end.
In future, though I know it can be hard to coordinate this with the web team, avoid using reserved words in your hash: there are only a few (#if #else #elseif #end #set #foreach #define #macro #include #parse #break #stop #evaluate).
Thanks for looking into this, Sanford - I will follow your guidance and have our WebDev team eventually update our website to avoid those terms.
A-ha, URL-encode the "e" to avoid the reparsing error:
<a href="https://plaid.com/legal/#%65nd-user-privacy-policy" target="_blank" class="mktNoTrack" id="">End User Privacy Policy</a>
Some browsers will display the "%65" as "e" in the location bar, others will keep it as "%65", but the anchor link works either way.
Amazing, it works! Thanks so much Sanford for all the help!
Cool, gonna add it to the blog. Can you mark my answer as Correct?
Done - thanks again
Nice post! Thanks again
To be clear, this new email has only the link (no other content)?