Understanding Pardot HML

by | Apr 29, 2022 | Content Marketing, Email Templates, Nurture, Pardot, Reach

Date last updated:

HML is on by default for all new Pardot accounts and older accounts are encouraged to upgrade whenever it’s convenient. It seems like now’s a good time to go over what HML is and, in the instance of older accounts, what it’s replacing. If you’re not sure whether or not you’re already using HML check your dashboard. If you see a message like the one below, you’re still old school and should consider the upgrade.

HML dashboard message

Let’s start with life prior to HML

Pardot variable tags or PML

Prior to HML, Pardot was using PML—Pardot merge language—which was also called Pardot variable tags, to custom messaging to prospects. A variable tag had the following structure %%first_name%% and allowed marketers to address a prospect by their first name in email outreach. If you have Pardot and are currently using the %% syntax, then you’re still using variable tags and will want to look into upgrading to HML soon.

What is HML?

Pardot introduced HML in late 2019, for better personalization in emails, landing pages and forms. The HML in Pardot’s HML stands for handlebar merge language, and this is because the %% have changed to curly braces {{, which is what the handlebars templating language uses. According to Salesforce, HML is available for Pardot email templates, list emails, 1:1 emails, dynamic content, landing pages, forms, and user signatures. If you’re particularly enamored by HML, you might be interested in knowing that emails and email templates can have up to 200 merge fields.

Below are some merge fields for prospects.

Pardot HML

For quick reference, here are some typical Pardot merge tags and their HML equivalents


Handlebar escape values | Pardot modifiers

You may have values that contain special characters, such as an apostrophe, like in the name O’Donnell, or a special accent, such as The Colorado Bar and Café. Because it was originally created for generating HTML, handlebars may escape certain values, thus resulting in added characters in your merge fields. To avoid escaping on fields where there may be special characters, use the triple-stash for your values, such as {{{Organization.Address}}}. Pardot refers to the the triple-stash as a modified. This was taken from Salesforce’s page on HML modifiers.

“If you notice special characters being stripped from prospect data, add a third bracket to your merge field to use the raw modifier. For example, if a company name includes an ampersand and you see it replaced with “&”, make the merge field {{{Recipient.Company}}}.”

HML conditional merge fields

Once you’ve mastered HML, you can take it up a notch by moving on to creating simple conditional logic statements to render default content when a prospect record is empty. For example, let’s say you want to personalize your emails by addressing your prospect with a salutation and their first name, such as
Top of the morning, Paul!

A prospect who is missing a value for first name would receive an email that looks like this.
Top of the morning, !

To avoid the gauche spacing you could employ a conditional statement that would look like the following, which essentially says if there is a value for Recipient.FirstName, do the former. If the field is empty, do the latter.

{{#if Recipient.FirstName}}
Top of the morning, {{Recipient.FirstName}}!,


Top of the morning to you!



If you’re a Pardot client and are still using variable tags—PML—you should consider upgrading to handlebar merge language—HML. HML is now on by default on all new accounts and is a standard in templating language, making Pardot even more integrated with Salesforce. HML is available for Pardot email templates, list emails, 1:1 emails, dynamic content, landing pages, forms, and user signatures. If you encounter issues with deploying or using Pardot HML, please feel free to reach out. We can help upgrade your account to use HML and/or can go over best practices on making the most of HML for custom emails, email templates and landing pages.







In April 2022, Salesforce announced the rebrand of Pardot to Marketing Cloud Account Engagement. While the rebrand unfolds and the world adapts to the new nomenclature, we'll keep the Pardot name in our blog posts.


Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

More about the Pardot rename

Salesforce has made what I believe is a branding mistake. Today (April 13, 2022) they officially renamed Pardot to “Marketing Cloud Account Engagement”.

Not to be unavoidably confused with Marketing Cloud or Engage, which are separate products, or Engagement Program which is a feature of Pardot. And those who know Pardot well know how well Pardot engages with accounts...read-only in Pardot, and only if there's a prospect related to an account does an account even show up in Pardot.

Since most people agree that Pardot is a B2B marketing platform, Salesforce should have put B2B in the name somehow rather than Account.

Reminds me of the naming issue for Quip, formerly named Salesforce Anywhere, formerly named Quip (renamed by Salesforce when they acquired it, then renamed again by Salesforce back to the original name since everyone still referred to it as Quip, which was a better name to begin with).

Maybe if we're lucky 'Marketing Cloud Account Engagement' will follow suit and become 'Pardot, formerly named Marketing Cloud Account Engagement, formerly named Pardot'.

Good luck to us proud few formerly known as Pardot Consultants (5 syllables), now Marketing Cloud Account Engagement Consultants (12 syllables), or worse yet, we're a Marketing Cloud Account Engagement Consulting Agency. Try putting that on your business card or in your LinkedIn title. Even though I don't really know Marketing Cloud in its original sense (Marketing Cloud as the world knows it, a.k.a. ExactTarget), I'm now a Marketing Cloud Consultant.

Good luck to companies as Pardot users trying to remember the new name, and socializing it internally.

Good luck to Salesforce reps trying to sell this under the new name without it being confused with the other Marketing Cloud.

And good luck to recruiters trying to staff for Marketing Cloud Account Engagement specialists, hmmm, Pardot specialists.


Update 2022-04-27: In the real world there are many permutations of the new name going about and it's only been 2 weeks since the name change as of this writing. Already starting to see the inevitability of people calling it “Marketing Cloud Account Engagement (Pardot)”, “Marketing Cloud Account Engagement (powered by Pardot)”, "MCAE" (phonetically pronounced mckay), etc., and actually most people are resigned to still just call it Pardot. Period.

Sad. 😞

So far I haven’t heard anyone on the internet or elsewhere say it was a good move.

The remaining question is how long will it be before Salesforce realizes their branding mistake and renames Pardot once again, 3 months? 6 months? 9 months? A full year, or never? If never, is it because Salesforce at that point would still think they did the right thing with the rename, or would it be because Salesforce is too obstinate to realize and correct their mistake? (Most people think Salesforce will change the Pardot name once again within 6 months.)

Time will tell, but for a long time from now we expect we'll still be calling it Pardot.

Long live Pardot.


Related articles…