Badges
Accepted Solutions
Likes Received
Posts
Discussions
Ideas
Blog Posts
It was really fun. You forget that stuff that’s like IE8 vintage has no “modern” equivalent — the people who designed the DOM APIs correctly anticipated stuff we need now.
Glad you liked it!
There’s a recurring mistake I see in Marketo Forms translation/localization logic that calls for a li’l lesson in best practices. People typically do something like this:// language can be output by CMS or Marketo tokenconst currentLanguage = "de"; (function(){ const translations = { "de" : [ ...
What’s (potentially) wrong with this picture? At a glance, it seems good and proper:the protocol (https:) is left out to allow tracking ✔︎the ampersand ( &) is HTML-encoded to & since this’ll be part of an HTML ✔︎the URL is otherwise well-formed ✔︎ Indeed, it’ll work fine if a link is created like this: But what if the destination webserver is squirrelly about the additional mkt_tok query param (it happens, even if it shouldn’t) or if the lead has asked to not be tracked? Then you’ll want this, which adds class="mktNoTrack" in HTML view: That’s bad. Because in this case, Marketo will copy the token to the Text part (provided you haven’t customized it) like so:Dear {{lead.First Name:default=Friend}},Click here <> to attend our virtual graduation.Regards,Minerva McGonagallDeputy Headmistress And in the final received email, it’ll look like this:Dear Sandy,Click here <> to attend our virtual graduation.Regards,Minerva McGonagallDeputy Headmistress That’s a broken link. There’s no longer a version query param. Instead there’s a query param named amp;version, which the webserver won’t understand. (Yes, that’s how the URL will be parsed by any browser, there’s no automatic “fixup” performed!) It’s the lack of tracking that breaks itWhen a link contains one or more tokens and has tracking enabled, Marketo is smart: it detects if any tokens were HTML-encoded and automatically removes the encoding, turning & back to &. And the tracked link itself (under your branding domain) never needs HTML-encoding since it doesn’t have any ambiguous characters. So the same link works in both parts of the email. Once tracking is disabled, Marketo can’t apply those smarts. It won’t alter the token contents in the Text part vs. the HTML part, instead saying “This URL is entirely under your control.” That’s good in many ways, but also dangerous. The solutionIf you disable link tracking (or might at any point) you’ve gotta have a different {{my.token}} for the Text part.
This post can be summed up in one screenshot: That’ll qualify people who clicked the all-too-tempting Unsubscribe button in Gmail, Yahoo, Outlook 365, etc. instead of visiting your preference center — or preference centers, if you have a multi-brand setup.The constraint Form Fields [is empty] means ...
tl;dr: Leading and trailing spaces are valid in an and the link will still work for the end user. But in a Marketo email, an accidental leading space means the link won’t be tracked. Without reading the official standards, can you describe the differences between a valid URL and a valid href? How about between the href attribute of an HTML A tag and the href IDL attribute of its Location object? My guess is there only a few people in the world who can recite these off the top — members of WHATWG or W3C. I certainly don’t know all this stuff by heart, but reading standards is fun. Anyway, all these are valid A tags that link to the same destination URL:I am valid.So am I.Me too.And so (obviously!) am I....
Me neither until last week!
Emoji support in Marketo is, admittedly, somewhat arcane. You can use emojis everywhere: email Subject lines, HTML email content, landing pages, and even Text-Only emails. But you have to know how to embed them into your content. Some parts of the email editor strip out emojis (plus other high-Unico...
But that page doesn’t use the method in this post to add the onSuccess. It tries to just use the MktoForms2 without waiting for it to be ready.//Make confirmation message appear after form submit MktoForms2.whenReady(function (form){ //Add an onSuccess handler form.onSuccess(function(values, foll...
Can you link to your page please? This way of handling the global MktoForms2 doesn’t affect how an onSuccess listener would work.