Messaging 6 min read

Custom Attributes for Personalization

Custom attributes let you store additional information about your contacts and use it to personalize your messages.

What are Custom Attributes?

Custom attributes are additional data fields you can add to your contacts beyond the default fields (name, phone, email). Examples include:

  • Customer ID or order ID
  • City or region
  • Product interests
  • Subscription plan
  • Last purchase date
  • Any business-specific data

💡 Why Use Custom Attributes?

  • Personalize messages with {{customer_name}} or {{order_id}}
  • Segment contacts for targeted broadcasts
  • Track customer lifecycle stages
  • Provide agents with context during conversations

Creating Custom Attributes

  1. Go to SettingsCustom Attributes
  2. Click Create Attribute
  3. Enter a name (e.g., "customer_tier")
  4. Select the data type (text, number, date, etc.)
  5. Optionally set a default value
  6. Click Save

Attribute Types

Text Free-form text (name, city, notes)
Number Numeric values (order amount, age)
Date Date values (birthday, renewal date)
List Predefined options (tier: Gold/Silver/Bronze)
Boolean Yes/No values (is_premium, has_subscribed)

Adding Attribute Values

You can add attribute values to contacts in several ways:

1. Manual Entry

Click on any contact and fill in the attribute fields in their profile.

2. CSV Import

Include attribute columns in your CSV file during import:

phone,name,city,customer_tier,last_purchase
919876543210,Rahul,Mumbai,Gold,2026-01-15

3. API Integration

Update attributes programmatically via Zaple API when events occur in your system (order placed, subscription renewed, etc.).

4. Chatbot Collection

Use chatbot flows to collect information and save it directly to contact attributes.

Using Attributes in Messages

Reference attributes in your templates using double curly braces:

Template Example:

Hi {{name}}! 👋
Your {{customer_tier}} membership renewal is on {{renewal_date}}.
Here's a special 20% discount just for you!

💡 Tip: Always have fallback values for attributes in case some contacts don't have the data filled in.

Segmenting by Attributes

Use attributes to create targeted segments for broadcasts:

  • Send renewal reminders only to contacts whose {{renewal_date}} is approaching
  • Target VIP customers with {{customer_tier}} = "Gold"
  • Re-engage contacts who haven't purchased since {{last_purchase}}

Best Practices

  • Use snake_case for attribute names (customer_id, not CustomerID)
  • Create only attributes you'll actually use
  • Use List type for limited options instead of free text
  • Keep attribute names short but descriptive
  • Regularly audit and clean unused attributes