A custom attribute is data you track about your customers, e.g., how many projects they’ve created in your product. It's a single value about a single piece of information.
For example, a customer’s subscription plan is something you can track using custom attributes. You can then filter and message all users on that plan.
An event is information on what your customers do, and when they do it, e.g. when was the first time they created a project, and when did they most recently create a project.
For example, when a user changes their subscription is ideal for recording as an event; it would allow you to filter all the users that have changed their plan in the last 30 days.
Custom attributes are ideal for:
- Descriptive information about users, such as extended profile data, address, subscription preferences, or device data.
- A single value that gets updated such as last active date or follower count.
- A single value that is true or false, such as completing a product tour.
Events record the count, first and last occurrence, so are ideal for:
- Activity, such as using a particular feature, or the number of times a feature has been used.
- When data changes, such as when a subscription changes or the most recent time an order was placed.
- Data that may only be needed for a period of time, such as initial use of a feature.
Using custom attributes and events together
You can filter your customers using events and custom attributes together. For example, if you wanted to know who downgraded to your Starter plan over the last 30 days, your filters would be:
- Plan = Starter plan (a custom attribute).
- Downgraded plan less than 30 days ago (an event).
Another example might be recording your customers’ purchase information. You could track the total amount a person has spent as a custom attribute, as it is a single value that gets updated over time. Whereas if you wanted to track the individual orders, you would use events, as they let you count the times a user has placed an order.
To include more detail about an event in your audience filters or message content, you could use a custom attribute to record the details of the most recent occurrence. For example, you might track an event whenever a product is purchased and you could track the name of that product as a custom attribute, “last_product_purchased”. This would allow you to send more targeted messages to customers after they people who purchase a specific product.