Case sensitivity and your data

When you send data to Customer.io, you should format it consistently so it's easier to reference in liquid to personalize messages and send data to other platforms.

When is data case sensitive?

  1. Attribute names are always case sensitive.
    • You can save both first_name and First_Name to a profile; those fields will not merge together.
    • This is also the case for reserved attributes like timezone and unsubscribed. You must lowercase these attributes to use time zone match or our global subscription functionality.
  2. Attribute values are case sensitive in liquid logic. For instance, if a profile has a favorite attribute with the value Sports, the else statment below would render because of the different casing:
    {% if customer.favorite == "sports" %}
        Come to the game!
    {% else %}
        Try swing dancing!
    {% endif %}
  3. Identifier values (id and object_id) are case sensitive. For example, 0xCEf9061D and 0xcef9061d are treated as two separate profiles. Make sure your integrations send identifiers in a consistent format.
  4. Liquid logic - this is true for strings and booleans:
    {% if customer.favorite == "sports" %}
        This renders for profiles with a value of `sports`.
    {% else %}
        This would render for profiles with any other value, including a different casing of sports.
    {% endif %}
    {% if customer.unsubscribed == true %}
        This renders for profiles with a value of `true`.
    {% else %}
        This would render for profiles with any other value, including a different casing of true.
    {% endif %}
  5. In-app message page rules

When is data NOT case sensitive?

  1. Attribute values are case insensitive in UI filters, segment conditions, and workflow logic conditions. For example, profiles with a language attribute value of Fr or fr will both receive the email variant for fr.

  2. Event names - in most cases, an event course_signup sent to your workspace is the same as Course_signup. When you’re sending data out of Customer.io, make sure you’re sending the format your destinations would expect.

    Conversion criteria are the exception to this rule. Event names used in conversion criteria are case sensitive, so course_signup and Course_signup would be treated as distinct events in this case.

  3. Trigger names for transactional messages

Updated August 20, 2026