Skip to content

Naming events

Good names make every chart readable a year later. A few rules cover most of it.

Name what the person did, in the past or present tense, in snake_case

Section titled “Name what the person did, in the past or present tense, in snake_case”
Do Don’t
signup_completed Signup, signupCompleted, click_button_3
paywall_view PaywallViewController_viewDidAppear
export_started export (started? finished? failed?)

Use one style everywhere. Names are case-sensitive, so Purchase and purchase are two events.

Put the variable part in a property, not the name

Section titled “Put the variable part in a property, not the name”

Track screen_view with screen: "settings", not settings_screen_view, profile_screen_view, and so on. One event with a property can be broken down, filtered and used in a funnel step. Twenty events cannot.

Millimetry.track("screen_view", ["screen": "settings"])
Millimetry.track("purchase", ["plan": "pro", "period": "yearly", "price": 39.99])

The dashboard’s screen breakdown reads the screen property, so use that exact key for screens.

A property is useful when it has a handful to a few hundred values: a plan, a screen, a theme, a step number. A value that is different every time (a timestamp, a free-text search, an order number) makes a breakdown with one row per event, and it may identify someone. Use numbers for amounts and counts. The dashboard shows sums, averages and percentiles for number properties.

No names, email addresses, phone numbers, account or customer IDs, device IDs, precise locations or free text typed by a person. Millimetry drops properties named like personal data (email, phone, user_id, name and others) and values that look like an email, a phone number or a UUID. That is a safety net. Your terms make you responsible for what you send.

Write down the funnel first, then name its steps: onboarding_started → permissions_granted → first_project_created. Funnels in Millimetry count sessions that do the steps in order within a time window, so each step should be one event.

What Limit
Event name 1–64 characters, no control characters; $… and, on websites, pageview are reserved
Properties per event 25 (extra ones are dropped)
Property key 1–64 characters
String value 256 characters (longer values are cut)
Number value any finite number
Event time up to 7 days in the past; up to 10 minutes in the future is treated as now