Tags and attributes
Tags and attributes are what you know about each contact. A tag is a label that puts someone in a group, such as vip. An attribute is a value that belongs to one person, such as their city or first name.
You filter with both. You also personalise messages with attributes, so a broadcast can greet every customer by name.
| Tags | Attributes | |
|---|---|---|
| Holds | A label: in the group or not | A value: Pune, Priya, ₹2,499 |
| A contact can have | Many tags | One value per attribute |
| Use it to | Group people and filter by group | Filter by value and fill in message variables |
| Example | diwali_2026_signup, vip, dnd | $FirstName, $city, $OrderAmount |
Tags
Create a tag
- Go to Manage → Tags.
- Click +Create.
- Enter the tag name and click Submit.
Tags are case-sensitive. VIP and vip are two different tags, and a CSV that says Vip does not match either. Pick one style, lowercase with underscores, and use it everywhere.
Add tags to contacts
There are three ways, depending on how many contacts you are tagging.
- On the Contacts page, filter for the contacts you want, and select them.
- Click Actions, then Manage Tags.
- Choose Add Tag or Remove.
- Pick the tag from the list. If it does not exist yet, use Create & Add Tag.
- Confirm.
Screenshot: Actions menu open with Manage Tags (TAG-02)
Screenshot: Manage Tags with the tag list and Create & Add Tag (TAG-03)
This is the fastest way to tag a group you can already filter for, such as everyone who replied to last week's broadcast.
Add a Tags column to your CSV and map it to Tags during import. The tag must already exist, spelled exactly the same, or it is not added.
- Open the customer's chat in Live Chat and open their profile.
- In the Tags section, click Select and add a tag.
- Pick a tag, or create a new one.
To remove a tag, click the x next to it.
Screenshot: Chat profile with the Tags section open (TAG-04)
Use this while talking to a customer: tag them wants_restock_alert when they ask about a sold-out size, and you can message everyone with that tag when it comes back.
Tag changes show up everywhere at once: on the Contacts page, in filters, and in the customer's chat profile.
Tags worth having
Where they came from. diwali_2026_signup, instagram_giveaway_mar. Add one to every import. It is the only way to reach that group again, and to see which sources end up blocking you.
What they told you. wants_restock_alert, asked_about_bulk. Tag customers during chats. These make the best broadcast audiences, because the customer asked for exactly what you will send.
Who not to message. A dnd tag for anyone who asked you to stop by other means, such as a phone call. Contacts cannot be deleted, so this tag, filtered out with Tags not has dnd, is how you keep them out. See Remove and block contacts.
Avoid tags that describe something that changes, such as active_customer. Nobody updates them, and six months later they are wrong. Status, Last Active and Created At track change for you.
Attributes
An attribute is a named value on a contact. In messages and filters it is written with a $ in front, such as $FirstName.
Attributes every contact has
| Attribute | Holds | For "Priya Sharma" |
|---|---|---|
$Name | The full name | Priya Sharma |
$FirstName | The first name | Priya |
$LastName | The last name | Sharma |
$MobileNumber | The phone number | 919876543210 |
Your own attributes
Create an attribute for anything else you want to store, such as city, email or preferred size.
- Go to User Attributes.
- Create the attribute.
Then fill it in by importing a CSV with a column of the same name, by editing a contact, or by letting a chatbot flow ask the customer and save the answer. See Add and import contacts.
To change one contact's attributes by hand, open their profile, click the edit button on the attributes section, and change the value.
Shopify attributes
There is also a set of Shopify attributes. You use them in Ecomm+ messages, such as putting the order number and tracking link into a shipping update.
All Shopify attributes
| Attribute | Holds |
|---|---|
$OrderId | The unique ID of the order |
$OrderName | The order name, such as #11000675 |
$OrderNumber | The order number |
$OrderAmount | The amount paid for the order |
$OrderCreatedOn | When the order was placed |
$LineItems | The products in the order, separated by commas |
$Currency | The customer's currency, such as INR |
$PaymentGateway | How they paid, such as COD or prepaid |
$ShippingAddress | The shipping address |
$ZipCode | The PIN or ZIP code |
$TrackingNumber | The courier's tracking (AWB) number |
$FullTrackingUrl | The complete tracking link |
$PartialTrackingUrl | The end part of the tracking link, to add after your store's domain |
$PartialOrderStatusUrl | The end part of the order status link |
$InvoiceUrl | The invoice link |
$PartialInvoiceUrl | The end part of the invoice link |
$CheckoutId | The checkout ID that abandoned cart messages are based on |
$FullAbandonedCheckoutUrl | The complete link back to an abandoned checkout |
$PartialAbandonedCheckoutUrl | The end part of the abandoned checkout link |
$PartialPrefilledCartUrl | The end part of a link to a cart already filled in |
Full or partial links. A full URL is the whole link. A partial URL is only the part after your domain, such as checkouts/abc123. Partial ones fit dynamic URL buttons, where your domain is already in the template and only the ending changes per customer. See Template fields.
Using attributes in messages
When you send a template, each variable such as {{1}} needs a value. Pick an attribute and every customer gets their own: {{1}} set to $FirstName greets Priya as Priya and Rahul as Rahul.
Always set a fallback. If a contact has no value for the attribute, the message to them fails. A fallback is the value used instead. For $FirstName, there works: "Hi there". See Broadcast settings.
Only personalise with attributes you trust. A first name imported from a messy form gives you "Hi PRIYA123" in front of a customer. If you are not sure the data is clean, use a greeting without a name.
Updated about 1 month ago