How should I name my events and properties?

Events as actions

The best way to structure your Mixpanel project is to build events around meaningful actions your customers take in your product. Think about the major milestone actions in the life of a customer of your product, and then treat those as your initial events. These might include "Signup", "Share", "Purchase" or any other action that's relevant to the success of your business.

Specificity in properties

When you create those events, you want to keep the names general and store all details in the properties. These details can be either related to the user, or related to the specific event. For example, if a user shares something from your product on Twitter, you'd want the event to be "Share" and then store a property called "Platform" with a value set to "Twitter".

Why?

1. Flexible segmentation

Mixpanel allows you to richly segment by properties across all our reporting interfaces. Whenever you need to ask a more specific question, it's easier to segment if something is stored as a property.

2. Aggregate event totals

Events are the largest unit of measure in Mixpanel, and you can't add them together. If you create a unique event name for each kind of "Share" ("Twitter Share", "Facebook Share", etc.), you won't be able to see total "Shares" across all platforms. With a more general "Share" event and a "Platform" property, you can ask the most general and the most specific questions of your data.

3. Reducing Clutter

If you create a ton of events with unique names, you end up with Mixpanel reporting that's harder to navigate.

4. Scalability

If you trap details in events, you need to create a new event for any new functionality. For instance, if Facebook releases "Facebook Max", you'd need a whole new event, instead of a new value for the existing property "Platform".