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 |
{contactfield=facebook} | |
{contactfield=twitter} | |
{contactfield=instagram} | |
{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 |
Steps to add personalization tags
Follow these steps to add personalization tags to email templates in the template designer.
From the left navigation menu, click Marketing.
Click Email Templates.
Click New to create a new template, or click an existing template name to edit.
In the Template Designer, position your cursor where you want to insert a tag.
Click the Personalization Tags button in the toolbar.
Browse or search the tag library to find the tag you need.
Click the tag name to insert it into the template.
Repeat for additional tags as needed.
Preview the template with sample data to verify tags render correctly.
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:
From the left navigation menu, click Home.
Click Campaign Management Tools.
Click Components.
Click Personalization Tags.
Use the search and filter options to find tags:
Search by category for example contact, reservation or loyalty reward.
Search by sub category for example address, stay dates or guest details.
Enter text in the search field to find tags by name or syntax.
To add tags to your designer tag library:
Browse or search to find the tag you want to add.
Click the Add button next to the tag.
The tag will now appear in your template designer tag library.
To remove tags from your designer tag library:
Browse or search to find the tag you want to remove.
Click the Remove button next to the tag.
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.
