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.

TagsAttributes
HoldsA label: in the group or notA value: Pune, Priya, ₹2,499
A contact can haveMany tagsOne value per attribute
Use it toGroup people and filter by groupFilter by value and fill in message variables
Examplediwali_2026_signup, vip, dnd$FirstName, $city, $OrderAmount

Tags

Create a tag

  1. Go to Manage → Tags.
  2. Click +Create.
  3. Enter the tag name and click Submit.
🖼️

Screenshot: Tags page with the +Create button (TAG-01)

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.

  1. On the Contacts page, filter for the contacts you want, and select them.
  2. Click Actions, then Manage Tags.
  3. Choose Add Tag or Remove.
  4. Pick the tag from the list. If it does not exist yet, use Create & Add Tag.
  5. 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.

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

AttributeHoldsFor "Priya Sharma"
$NameThe full namePriya Sharma
$FirstNameThe first namePriya
$LastNameThe last nameSharma
$MobileNumberThe phone number919876543210

Your own attributes

Create an attribute for anything else you want to store, such as city, email or preferred size.

  1. Go to User Attributes.
  2. 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.

🖼️

Screenshot: Chat profile with the attributes section in edit mode (TAG-05)

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
AttributeHolds
$OrderIdThe unique ID of the order
$OrderNameThe order name, such as #11000675
$OrderNumberThe order number
$OrderAmountThe amount paid for the order
$OrderCreatedOnWhen the order was placed
$LineItemsThe products in the order, separated by commas
$CurrencyThe customer's currency, such as INR
$PaymentGatewayHow they paid, such as COD or prepaid
$ShippingAddressThe shipping address
$ZipCodeThe PIN or ZIP code
$TrackingNumberThe courier's tracking (AWB) number
$FullTrackingUrlThe complete tracking link
$PartialTrackingUrlThe end part of the tracking link, to add after your store's domain
$PartialOrderStatusUrlThe end part of the order status link
$InvoiceUrlThe invoice link
$PartialInvoiceUrlThe end part of the invoice link
$CheckoutIdThe checkout ID that abandoned cart messages are based on
$FullAbandonedCheckoutUrlThe complete link back to an abandoned checkout
$PartialAbandonedCheckoutUrlThe end part of the abandoned checkout link
$PartialPrefilledCartUrlThe 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.


Did this page help you?