You can’t get REST API Folder IDs from the Marketo Engage UI

Don’t be tempted by ID-like stuff in the browser’s location bar. You gotta use the API to use the API.

HOWTO: Make Marketo form onValidate/onSubmit/onSuccess idempotent, like native DOM events (plus learn what “idempotent” means!)

Marketo form events don’t work like standard DOM events. (Thinking they do gets you callbacks that either never fire or wildly over-fire.) But with some tweaks, you can make MktoForms2 more familiar.

Why the back/forward cache (bfcache) loses Munchkin activities, and how to fix it

Getting web analytics 100% in sync between Munchkin and GA4/Clicky/etc. is still a pipe dream, but here’s one reason they differ.

Properly preserving Marketo {{dotted.tokens}} in URL builders

Way too many URL builders are naïve about how tokens work. (Not just Marketo tokens, but other platforms’ variables/tokens/merge fields as well.)

Streamline the Munchkin embed code, taking out outdated cruft

No pressing need to do this, but it can help you & your site feel more up-to-date.

Parse “Visit Web Page” {{trigger.tokens}} into individual query params using FlowBoost

Together, the {{trigger.Web Page}} and {{trigger.Query Parameters}} tokens can recreate a visited URL. But parsing the URL into separate fields can’t be done natively: you need FlowBoost.

Be aware of decodeURIComponent() limitations (not only with Marketo forms, but with any 1ˢᵗ or 3ʳᵈ party JS)

You’re just one unencoded (or wrongly-encoded) query param away from a broken form. Scary, right?

MktoForms2.whenReady() is always non-blocking (plus: what is and isn’t a race condition)

I might be unhealthily obsessed with form events. But not testing against worst cases is how you get “randomly” broken forms.