Name variables let you personalize messages and templates in Intercom by pulling data from user attributes, such as first name. This guide explains how to use name variables, addresses common issues, and provides solutions to ensure smooth, personalized customer interactions.
Personalize messages and templates for each customer.
Improve customer engagement with dynamic content.
Avoid awkward greetings when name data is missing.
How to use name variables
Personalize messages in templates and macros
Use
#fnor#{{first_name|fallback:"ENTER FALLBACK HERE"}}in macros or message templates to insert the customer’s first name, with a fallback if the name is missing.In HTML emails, use
##{{ first_name | fallback:"ENTER FALLBACK HERE" }}to personalize names. Set a fallback to display when the name is unavailable.In your Intercom workspace, select variables from the text editor’s placeholder options to insert and customize name attributes.
Customize post messages
Open the Post in Edit mode.
Place your cursor where you want the name to appear.
Insert the “first name” attribute via the text menu.
Click the yellow caution icon to set a fallback value (e.g., “Hey there”).
Save changes to ensure users see their name or a fallback greeting.
Use name variables in macros
Open the action menu and create a macro.
Customize your macro text and select Insert attribute → First name.
To use the macro, press
SHIFT + #while replying and select your saved macro.
Troubleshooting and best practices
Common issues and solutions
User’s first name appears differently: This usually happens when the name is pulled from a custom attribute instead of Intercom’s default name attribute. Make sure your workflow uses the default name attribute.
Name attribute is blank: The name attribute is not required when creating or updating users. If not set, it remains empty. Always provide a name value when storing user records.
Name present in API response but not visible in Intercom: If a Ping request from your website or integration sends an empty name field, it can overwrite the user’s existing name with a blank value. Ensure Ping requests include the correct name.
iOS users show as “User” in Intercom: Intercom assigns placeholder identifiers (like “User m4m2”) when iOS users reach out without being identified by email or user ID. Identify users during login by passing their email or unique user ID.
Posts greet users with “Hi First Name” instead of their actual name: This happens when the greeting is hardcoded. Use Intercom’s dynamic "first name" attribute with a fallback option.
Best practices
Always use the default "first name" attribute unless custom configurations are essential.
Set fallback values in all communications to ensure consistency when name data is missing.
For SDKs, identify users as early as possible using a stable identifier, such as an email address.
Regularly review API configurations to avoid overwrites from empty fields.
FAQs
Why does the user’s first name appear differently in Intercom?
This usually happens when the name is pulled from a custom attribute instead of the default name attribute. Use the default "first name" attribute to ensure accuracy.
Why is the name attribute sometimes blank?
The name attribute is not mandatory. If not set, it remains empty. Always provide a name value when storing contacts in Intercom.
Why is a name present in the API response but not visible in Intercom?
A Ping request with an empty name field can overwrite the existing name. Make sure Ping requests always include the correct name.
Why do iOS users show as “User” in Intercom?
Intercom assigns placeholder identifiers when iOS users are not identified by email or user ID. Identify users during login to avoid this (e.g. via their email address).
Why did a Post greet users with “Hi First Name”?
This happens when the greeting is hardcoded. Use dynamic attributes with a fallback to display the actual name.
Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts

