Understanding Pardot HML

by | Last Updated: Jan 14, 2025 | Blog, Email marketing, Pardot | MCAE | Marketing Cloud Account Engagement

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.

Fun fact: We’re pretty sure that handlebar merge language got its name due to the curly braces { that look like a handlebar mustache šŸ˜‰

 

 

 

 

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
%%first_name%%
{{Recipient.FirstName}}
%%last_name%%
{{Recipient.LastName}}
%%view_online%%
{{View_Online}}
%%unsubscribe%%
{{Unsubscribe}}
%%email_preference_center%%
{{EmailPreferenceCenter}}
%%current_year_YYYY%%
{{Current_Year}}
%%user_url%%
{{Sender.URL}}
%%user_first_name%%
{{Sender.FirstName}}
%%user_html_signature%%
{{Sender.Signature}}

 

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 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}}!,

{{else}}

Top of the morning to you!

{{/if}}

Summary

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.

References

https://help.salesforce.com/s/articleView?id=sf.pardot_handlebars_merge_fields.htm&type=5

https://help.salesforce.com/s/articleView?id=sf.pardot_hml_conditional.htm&type=5

https://handlebarsjs.com/guide/#html-escaping

https://help.salesforce.com/s/articleView?id=sf.pardot_merge_field_modifiers.htm&type=5

 

About the Pardot rename

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 typically keep the Pardot name in our blog posts.

There are several permutations of the new name being thrown about, so you may see us use any one of them as things evolve:

  • Pardot
  • Marketing Cloud Account Engagement
  • Marketing Cloud Account Engagement (Pardot)
  • MCAE
  • MC Account Engagement
  • Account Engagement by Pardot
Jennifer G bio

Author | Jennifer G

Pardot Consultant

Jennifer has been using Pardot since 2010, way before it was owned by Salesforce. As a marketing and sales professional, Jennifer realized the importance of understanding and mastering a solid MAS and CRM. She enjoys helping others with their MAS and, if she can help marketing and sales folks look like rockstars along the way, even better!

Follow/Connect with Jennifer on LinkedIn

Jeff Kemp
Author | Certified Consultant | Owner

Technology Consultant | Marketing Automation & CRM Consultant

hire Jeff Kemp | Marketing Automation & CRM Consultant

Working as an independent consultant under my company Optimal Business Consulting, I can advise on your tech stack selection and optimize your processes and platforms for improved marketing & sales effectiveness, operations, and ROI.

Brief intro about Jeff Kemp (Owner) - Watch Video:

I enjoy the intersection of working with people, processes, and technology where I can provide leadership and add value.

With over 30 years of marketing and sales experience I've been laser targeted on Marketing Automation & CRM optimization for over 10 years, eight of those as a Salesforce Certified Marketing Cloud Account Engagement (Pardot) Consultant, and also as a Certified Salesforce Administrator and HubSpot Expert. Prior to that I have over 15 years of WordPress development experience and additional high profile roles in sales and marketing management.

I've led over 50 client consulting engagements in various industries (sometimes working through other Salesforce Partners), and with each organization and project that I'm involved with I work hard to identify and solve sometimes unique and complex issues which often involve cleaning up technical debt from legacy systems, and architecting processes and solutions to help organizations set up effective lead management systems and operational efficiencies using best practices and proven methodologies.

I also love dogs :0)

Optimal Business Consulting is proud to be a Salesforce Partner since 2018 and also became a HubSpot Solution Partner in 2023. -->More about Jeff & OBC

My superpowers:

āš”Operational Efficiency āš”Knowledge āš”Experience āš”Business Acumen āš”VersatilityĀ āš” Perseverance

2 Comments

  1. Patty

    Hi Jeff & Jennifer, thank you so much for this helpful resource. Do you know how we can format a number to have two decimal places in a Pardot email using HML? Right now, we have an email going out that says, “A few weeks ago, you generously donated $52.6…” The 52.6 value is a custom field variable that we’re pulling in. As you can imagine, this reads awkwardly!

    Reply
    • Jeff Kemp

      Hi Patty. I’ve run into that issue before. I don’t think you can solve it with HML. We solved it by creating a custom formula field in Salesforce which can format the currency correctly for viewing, then mapping that field to Pardot and pulling that into your email template. You might also be able to use Data Cloud to properly format the data if that is a better option for you but I haven’t used that route personally.

      ~Jeff

      Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

Subscribe to our Blog

Follow Us

Trending Posts

Subscribe to our articles

Like this article? Comment with your feedback below, andĀ subscribeĀ for all the latest helpful information.

Related articles…