Skip to main content

Understand personalization tags

In this article, we cover how to use personalization tags in CRM email templates to dynamically insert guest, reservation, loyalty, and system data.

M
Written by Michelle Normoyle
Updated over 2 weeks ago

Personalization tags explained

Personalization tags are dynamic placeholders that you insert into email templates. When an email is sent, the system replaces each tag with actual data from the recipient's profile, reservation, or loyalty account. These tags automatically populate with real data when emails are sent, creating personalized communications for each recipient.

Outlined below is how the tags work:

  • Tags pull data based on the recipient's current record at send time.

  • If a data point is unavailable for example guest has no birthday on file, the tag renders as blank.

  • Tags work differently depending on email type. Some tags are only available in transactional emails while others work in all email types.

  • Contact fields support default values using the pipe character: {contactfield=firstname|Guest} returns guest if first name is empty.

Outlined below are some of the common uses for personalized tags:

  • Greet guests by name: Dear {contactfield=firstname}.

  • Reference upcoming reservations: Your stay at {custom_hotelname} on {resv_checkin}.

  • Show loyalty status: You have {contactfield=LoyaltyMemberAvailablePoints} points available.

  • Include booking details: Your confirmation number is {resv_confirmnum}.

Outlined below are items do do before adding personalization tags to templates:

  • Verify the email type you're creating for example marketing, transactional reservation or reward.

  • Check that required data fields are populated in guest profiles.

  • Test templates with data using a seed list before sending to live audiences.

  • Some tags only work in specific email types. There are tag limitations by email type.

    • Tag limitations by email type: Not all tags work in all email types. Here's a breakdown of what's available where:

    • Marketing emails:

      • Available: All contact fields, contact membership fields, last reservation fields, next reservation fields and general tags.

      • Not available: Current reservation fields, there is no active reservation context, reward fields there is no reward context, ReviewPro link this is only for pre or post-stay emails and hotel custom fields there is no hotel context.

    • Transactional reservation emails:

      • Available: All contact fields, contact membership fields, current reservation fields, last or next reservation fields, hotel custom fields and general tags.

      • Type-specific: ReviewPro link is only for pre-stay and post-stay emails. Reservation link is for new confirmation emails.

      • Not available: Reward fields has no reward context.

    • Reward emails:

      • Available: All contact fields, contact membership fields, reward fields, QR code and general tags.

      • Not available: Current reservation fields except confirmation number for redemption context, last or next reservation fields and hotel custom fields.

    • Tier change emails:

      • Available: All contact fields, contact membership fields, tier change fields (UpOrDownGrading, NewMemberTierName, OldMemberTierName) and general tags.

      • Not available: Reservation fields and reward fields.


General tags

General tags provide standard email functionality and work in all email types.

Tag Name

Syntax

Description

Unsubscribe Text

{unsubscribe_text}

Default unsubscribe text

Unsubscribe URL

{unsubscribe_url}

Unsubscribe link URL

View in Browser Text

{webview_text}

View in Browser text

View in Browser URL

{webview_url}

View in browser URL

Contact tags or guest information tags

Contact tags retrieve information from the guest profile and work in all email types including marketing emails.

Address

Insert mailing address components:

Tag Name

Syntax

Address Line 1

{contactfield=address1}

Address Line 2

{contactfield=address2}

City

{contactfield=city}

Country

{contactfield=country}

Region

{contactfield=Region}

Zip / Postal Code

{contactfield=zipcode}

Communication

Insert contact methods:

Tag Name

Syntax

Email Address

{contactfield=email}

Fax

{contactfield=fax}

Mobile Phone

{contactfield=mobile}

Mobile Phone Country Code

{contactfield=mobile_countrycode}

Phone Country Code

{contactfield=phone_countrycode}

Phone Number

{contactfield=phone}

Website

{contactfield=website}

Guest details

Insert guest names and personal information:

Tag Name

Syntax

Format

Birthday

{contactfield=Birthday}

MM/DD/YYYY

Company Name

{contactfield=company}

–

First Name

{contactfield=firstname}

–

Preferred First Name

{contactfield=FirstNamePreferred}

–

Gender

{contactfield=Gender}

–

Is VIP

{contactfield=IsVip}

–

Last Name

{contactfield=lastname}

–

Preferred Last Name

{contactfield=LastNamePreferred}

–

Middle Name

{contactfield=MiddleInitial}

–

Personal Pronoun

{contactfield=Pronoun}

–

Preferred Locale

{contactfield=preferred_locale}

–

Salutation

{contactfield=Saluation}

–

Time zone

{contactfield=timezone}

–

Title

{contactfield=title}

–

UDF 1

{contactfield=Udf1}

–

UDF 2

{contactfield=Udf2}

–

UDF 3

{contactfield=Udf3}

–

UDF 4

{contactfield=Udf4}

–

UDF 5

{contactfield=Udf5}

–

UDF 6

{contactfield=Udf6}

–

UDF 7

{contactfield=Udf7}

–

UDF 8

{contactfield=Udf8}

–

UDF 9

{contactfield=Udf9}

–

UDF 10

{contactfield=Udf10}

–

Social

Insert social media profile links:

Tag Name

Syntax

Facebook

{contactfield=facebook}

Twitter

{contactfield=twitter}

Instagram

{contactfield=instagram}

LinkedIn

{contactfield=linkedin}

Skype

{contactfield=skype}

Google Plus

{contactfield=googleplus}

Foursquare

{contactfield=foursquare}

Birthday – Alternate date formats

Birthday tags support multiple date formats:

Format

Syntax

Example Output

DD MMM YYYY

{contactfield=BirthdayShortDate2}

15 Jan 1985

DD MONTH

{contactfield=BirthdayShortDate6}

15 January

DD, MONTH YYYY

{contactfield=BirthdayLongDate}

15, January 1985

DD/MM/YYYY

{contactfield=BirthdayShortDate}

15/01/1985

MM/DD

{contactfield=BirthdayShortDate5}

01/15

MMM DD YYYY

{contactfield=BirthdayShortDate3}

Jan 15 1985

MONTH DD, YYYY

{contactfield=BirthdayLongDate2}

January 15, 1985

MONTH, DD

{contactfield=BirthdayShortDate4}

January, 15

YYYY/MM/DD

{contactfield=BirthdayShortDate7}

1985-01-15

Contact membership tags or guest membership tags

Contact membership tags reference loyalty membership details from the contact profile and work in all email types where the contact has loyalty membership.

Membership information

Tag Name

Syntax

Guest Portal URL

{LoginUrl}

Guest Password Reset URL

{ResetUrl}

Guest Portal Password

{PassWord}

Loyalty Member ID

{contactfield=LoyaltyMemberID}

Loyalty Tier

{contactfield=LoyaltyMemberTier}

Loyalty Next Tier

{contactfield=LoyaltyMemberNextLevelTierName}

Loyalty Points Available

{contactfield=LoyaltyMemberAvailablePoints}

Loyalty Stay Count

{contactfield=LoyaltyMemberStayCount}

Loyalty Night Count

{contactfield=LoyaltyMemberNightCount}

Stays to Next Tier

{contactfield=MarginStays}

Nights to Next Tier

{contactfield=MarginNights}

Loyalty Signup Verification

{signupVerificationLink}

Loyalty join date: Alternate date formats

Loyalty join date or sign up time, supports multiple formats:

Format

Syntax

Example Output

MM/DD/YYYY

{contactfield=SignUpTime}

03/20/2023

DD/MM/YYYY

{contactfield=SignUpTimeShortDate}

20/03/2023

DD MMM YYYY

{contactfield=SignUpTimeShortDate2}

20 Mar 2023

MMM DD YYYY

{contactfield=SignUpTimeShortDate3}

Mar 20 2023

DD, MONTH YYYY

{contactfield=SignUpTimeLongDate}

20, March 2023

MONTH DD, YYYY

{contactfield=SignUpTimeLongDate2}

March 20, 2023

YYYY/MM/DD

{contactfield=SignUpTimeShortDate7}

2023-03-20

Integrations tags

Integration tags provide links to third-party services and are only available in specific email types.

Tag Name

Syntax

Available In

ReviewPro Link

{custom_ReviewProLink}

Pre-Stay and Post-Stay emails only

⚠️Important: {custom_ReviewProLink} only works in Pre-Stay and Post-Stay email types. It will not populate in marketing emails or other transactional emails.

Last reservation tags

Last reservation tags retrieve data from the guest's most recent past stay. These are useful for marketing emails and post-stay communications.

Stay dates

Reference dates from the most recent completed reservation:

Tag Name

Syntax

Format

Check In

{lastResv_DayInShortDate7}

YYYY/MM/DD

Check Out

{lastResv_DayOutShortDate7}

YYYY/MM/DD

Reservation details

Reference details from the most recent past stay:

Tag Name

Syntax

Hotel Name

{reservationfield=lastResv_HotelName}

CRS Reservation ID

{reservationfield=lastResv_CrsResvID}

Room Type

{reservationfield=lastResv_RoomType}

Rate Code

{reservationfield=lastResv_RateCode}

Market Code

{reservationfield=lastResv_MarketCode}

Channel Code

{reservationfield=lastResv_ChannelCode}

Length of Stay

{reservationfield=lastResv_LOS}

Child Count

{reservationfield=lastResv_Children}

Room Amount

{reservationfield=lastResv_AmountRoom}

Next reservation tags

Next reservation tags retrieve data from the guest's upcoming stay. These are useful for marketing emails and pre-stay communications.

Tag Name

Syntax

Format

Book Date

{nextResv_BookTimeShortDate7}

YYYY/MM/DD

Cancel Date

{nextResv_CancelTimeShortDate7}

YYYY/MM/DD

Check In

{nextResv_DayInShortDate7}

YYYY/MM/DD

Check Out

{nextResv_DayOutShortDate7}

YYYY/MM/DD

Loyalty reward tags or membership reward tags

Reward tags are populated when sending reward-related emails and are only available in rewards emails: reward issued, reward cancelled or credit redemption.

Tag Name

Syntax

Format

Reward Issue Date

{issueDateShortDate7}

YYYY/MM/DD

Formula Start Date

{RewardFormulaStartDateShortDate7}

YYYY/MM/DD

Formula End Date

{RewardFormulaEndDateShortDate7}

YYYY/MM/DD

Reservation tags or current reservation tags

Reservation tags pull data from the current reservation context and are only available in transactional reservation emails: New booking, modification, cancellation, pre-stay or post-stay.

Tag Name

Syntax

Format

Package Code Name

{resv_packagecodeName}

–

Package Code Description

{resv_packagecodeDescription}

–

Check In

{resv_checkinShortDate7}

YYYY/MM/DD

Check Out

{resv_dayoutShortDate7}

YYYY/MM/DD

Cancel Date

{resv_crsCancelTimeShortDate7}

YYYY/MM/DD

Admin tags

Admin tags are used for system administration and file import notifications.

Tag Name

Syntax

Format

File Import Date

{ImportDateShortDate7}

YYYY/MM/DD


Shape

Steps to add personalization tags

Follow these steps to add personalization tags to email templates in the template designer.

  1. From the left navigation menu, click Marketing.

  2. Click Email Templates.

  3. Click New to create a new template, or click an existing template name to edit.

  4. In the Template Designer, position your cursor where you want to insert a tag.

  5. Click the Personalization Tags button in the toolbar.

  6. Browse or search the tag library to find the tag you need.

  7. Click the tag name to insert it into the template.

  8. Repeat for additional tags as needed.

  9. Preview the template with sample data to verify tags render correctly.

  10. Click Save when finished.


Manage personalization tags

You can customize which personalization tags appear in your template designer tag library. This is useful for simplifying the tag list by removing options you don't need, such as date format variations your region doesn't use.

Follow these steps to manage your personalization tag library:

  1. From the left navigation menu, click Home.

  2. Click Campaign Management Tools.

  3. Click Components.

  4. Click Personalization Tags.

  5. Use the search and filter options to find tags:

    1. Search by category for example contact, reservation or loyalty reward.

    2. Search by sub category for example address, stay dates or guest details.

    3. Enter text in the search field to find tags by name or syntax.

  6. To add tags to your designer tag library:

    1. Browse or search to find the tag you want to add.

    2. Click the Add button next to the tag.

    3. The tag will now appear in your template designer tag library.

  7. To remove tags from your designer tag library:

    1. Browse or search to find the tag you want to remove.

    2. Click the Remove button next to the tag.

    3. The tag will no longer appear in your template designer tag library.

⚠️Important:

  • Adding tags only adds system-configured tags that already exist, you cannot create custom tags.

  • Removing tags only removes them from your tag library, tags can be re-added at any time.

  • Removed tags will still function if they're already used in templates.

  • Changes apply immediately to the template designer tag library.

Common use cases

  • Remove unused date formats: If your property only uses MM/DD/YYYY format, remove DD/MM/YYYY and other regional variations to simplify your tag list.

  • Remove unused UDF fields: If you only use UDF1-UDF5, remove UDF6-UDF10 from the tag library.

  • Add region-specific tags: Add only the date format tags your region requires.

  • Simplify for template builders: Remove advanced or rarely-used tags to make the tag library easier to navigate for your marketing team.


Use default values for contact fields

Contact fields support fallback values when data is unavailable. Use the pipe character (|) to specify a default.

Syntax: {contactfield=fieldname|default value}

Examples:

Template Code

Output When Data Exists

Output When Data Missing

`{contactfield=firstname

Guest}`

John

`{contactfield=city

your area}`

Seattle

`{contactfield=LoyaltyMemberTier

valued guest}`

Gold

Best practices:

  • Use defaults for important personalization where blank values would look unprofessional.

  • Keep default values generic and appropriate for any recipient.

  • Test templates with profiles that have missing data to verify default behavior.


Additional tag details

Extended reservation details

For transactional reservation emails, additional tags are available beyond those shown in the simplified list above:

Stay dates with alternate formats:

  • Check-in and check-out dates support multiple format variations (DD/MM/YYYY, MM/DD/YYYY, long date formats, day of week)

  • Refer to the Template Designer tag library for complete list of date format options.

Reservation information:

  • Confirmation numbers (CRS and PMS).

  • Guest count (adults, children).

  • Length of stay.

  • Room type, rate code, package details with codes, names and descriptions.

  • Market code, channel code and group code.

  • Guest notes, preferences and add-on lists.

Reservation amounts:

  • Room charges, service charges, taxes (room and service).

  • Total charge, currency symbol.

  • Daily rate breakdown.

Reservation policies:

  • Cancellation policy including code, name and full description.

  • Guarantee policy including code, name and full description.

  • Deposit policy including code, name and full description.

Extended reward details

For reward emails, additional tags include:

  • Reward details:

    • Reward name (external display name).

    • Formula description.

    • Reward link, redemption link, redemption instructions.

    • Reward status, usage count.

    • QR code, voucher code.

    • Segment reward link.

  • Reward dates:

    • Issue date with multiple format options.

    • Redemption date.

    • Formula start and end dates with multiple format options.

  • Tango Card rewards:

    • Card reward name, card amount.

    • Transaction ID, reference order ID.

  • Credit redemption:

    • Global currency, exchange value, exchange item.

  • Extended loyalty membership details:

    • For tier change emails specifically:

      • {UpOrDownGrading} – Shows "Upgrade" or "Downgrade

      • {NewMemberTierName} – New tier after change

      • {OldMemberTierName} – Previous tier.

    • For multi-program loyalty:

      • {loyaltyprogram.{ProgramID}.memberid} – Member ID for specific program.

      • {loyaltyprogram.{ProgramID}.tier} – Tier for specific program

  • Hotel information tags: For transactional reservation emails, hotel custom fields are available:

    • Property details:

      • Hotel name and hotel code.

      • Hotel phone, hotel email and hotel URL.

    • Property address:

      • Hotel address, hotel city, hotel region, hotel region code and hotel zip code.

    • Property information:

      • General policy info and general hotel info.

  • Action and system links: Additional system-generated links based on context:

    • Reservation management:

      • Payment link (reservation emails).

      • Upgrade link (upgrade offer emails).

      • Reservation link (new confirmation emails).

      • Admin base URL.

  • Cart abandonment: Cart abandonment recovery link or cart recovery link (cart abandonment emails only).

  • Invite and referral: Sign up URL (invite friends emails only).


Troubleshooting personalization tags

Outlined below are some troubleshooting issues.

Common issues to check:

  • Tags showing as {contactfield=firstname} instead of actual names means the tag is not recognized.

  • Blank spaces where data should appear means the field is empty in contact record.

  • Date formats not matching your region's standard means use appropriate date format tag.

  • Missing reward links in marketing emails means reward tags only work in reward emails.

Tags display as text instead of data:

  • Verify tag syntax matches exactly as they maybe case-sensitive.

  • Check that tag is supported for the email type you're using.

  • Ensure there are no extra spaces inside the curly braces.

  • Confirm you're using the correct tag syntax for example {contactfield=firstname} not {firstname}.

Tags render as blank:

  • Confirm data exists in the contact/reservation/reward record.

  • Verify the field is populated for the test contact.

  • Check if you need to add a default value for better user experience.

  • For reservation tags, ensure email is being sent in correct context for example reservation confirmation email.

Date formats show incorrectly:

  • Use the appropriate date format tag for your region.

  • Reference the date format tables in this article for all available options.

  • Test with contacts in different time zones if applicable.

Reward or reservation tags don't work in marketing email:

  • Confirm tag is available for the email type you're using.

  • Review tag limitations by email type section to verify compatibility.

  • Use last reservation or next reservation tags in marketing emails instead of current reservation tags.


Frequently asked questions

Outlined below are some frequently asked questions.

Can I use multiple personalization tags in one email?

Yes, you can use as many tags as needed within a single template. Tags are evaluated independently at send time.

What happens if a contact doesn't have data for a tag?

The tag renders as blank unless you've specified a default value. Use the pipe syntax {contactfield=fieldname|default} to provide fallback text.

Do personalization tags work in subject lines?

Yes, most contact fields and general tags work in subject lines. However, complex HTML tags should not be used in subjects.

How do I know which tags are available for my email type?

Refer to the Tag Limitations by Email Type section in this article, or consult the tag library in the Template Designer which shows available tags based on your selected email type.

Can I create custom personalization tags?

No, you cannot create custom tags. However, you can use UDF1-UDF10 (User Defined Fields) to store and reference custom data: {contactfield=Udf1} through {contactfield=Udf10}.

What's the difference between contact fields and contact membership fields?

Contact fields include basic guest information (name, address, email). Contact Membership fields specifically relate to loyalty program data (member ID, tier, points). Both categories pull from the contact profile.

Can I use Last Reservation tags if the guest has never stayed?

Last Reservation tags will be blank if the guest has no completed reservations. Consider using default values or conditional content blocks to handle these cases or ensure these are in alignment with the segment used to determine your audience list.

Do loyalty tier names automatically update if a guest is upgraded?

Yes, loyalty tags like {contactfield=LoyaltyMemberTier} always reflect the current tier at send time. If a guest is upgraded before an email sends, the tag will show the new tier.

Did this answer your question?