Smart Content

Personalize your HubSpot content

Last updated: February 4, 2019

Applies to:

Marketing Hub  Starter, Professional, Enterprise
Legacy Marketing Hub Basic
HubSpot CMS

Personalizing content for your contacts can increase engagement with your website and email campaigns. You can personalize your emails, website pages, and landing pages with any contact property or custom property. In order for personalization tokens to show a value for a contact, the contact must have a contact record in your HubSpot account and have a known value for the property used as the token.

Add personalization to your content

  • In the editor, click the rich text module to insert a personalization token in.
  • Place your cursor at the location to insert a personalization token, then click Insert > Personalization Token in the rich text toolbar. 


  • Click the Type dropdown menu, and select a personalization token type:
    • Contacts: these tokens use the values for any contact properties associated with your contacts in your HubSpot database. This includes tokens for contact owner, first name, last name, and email.
    • Company: these tokens use the values for the company properties associated with your contacts in your HubSpot database. This includes tokens for company owner, total revenue, industry, and name. 
    • Office Location: these tokens are from the email footer information in your settings. This includes tokens for city, state, and zip code. 
    • Subscription type: this token uses the name of the email's subscription type.

Please note: Deal, Tickets, and Quotes personalization token types are only available in a marketing email after it has been saved for automation. These tokens will only be valid when the automated email is used in the corresponding type of workflow (e.g., Deal personalization tokens in an automated email used in a deal-based workflow).

  • Click the Property dropdown menu and select a property to use as your token. If you select Contact owner or Company owner, use the User property dropdown menu to select a property from the owner’s user profile that you’d like to use as your token. 
  • Set a default value for the token. The default value will be used when the contact does not have a value for that specific property. You can also set global default values for the tokens. If you don't set a default value, CONTACT.PROPERTYNAME will be displayed in the test email or page preview, and no value will be displayed in the live content.
  • Click InsertYou'll see the token highlighted in the rich text module with the name of the selected property. local-versus-global
    • To preview your token, click the preview icon  view . Use the Preview as a specific contact dropdown menu to search for and select a contact. In the preview window, you'll see the tokens populate with the values pulled from the contact's record in your account.preivew-personalization

      Please note: if you're using personalization tokens on a thank you page, the values for these tokens will only populate for tracked contacts with existing values for those properties. 

    • If you're previewing an email, you can click Send a test email in the left side of the editor, then use the Receive email email as a specific contact dropdown menu to preview how the personalization will render in the contact's inbox.receive-email-as-a-specific-contact
    • After you preview your personalization tokens, make additional changes to your content as needed, then click Update or Publish. If you are editing an email, click Save, Send, or Schedule.

Add personalization to a coded template 

For designers building a coded template, personalization token can be added to the template manually. Keep in mind that the token needs to contain the supported variable along with the contact property name you wish to use for personalization. 

For example, if you want to use the First Name contact property, you'll include the name of the property with its appropriate variable. The token will look like this within your coded template:

 >Hi, {{contact.firstname}}!</

You can manage the default values for any personalization tokens being used in your settings.