We keep a private list of event names that have made us close the laptop for a moment. btn_click_continue is on it. so_are_we_cta. GetStartedTap. They all came from the same habit: an engineer implemented the tracking next to the button widget, and named the event after the widget.
Six months later the button said 'See plans' and the event was still GetStartedTap. The product lead had stopped trusting the chart because she could not remember whether the name matched the new screen. She was right not to trust it.
A naming test we use in sessions
If you cover the button with your hand, can you still name the event from what the person has accomplished? checkout_started survives. yellow_button_3 does not. plan_selected survives if a plan was selected. modal_open is a maybe: opening a modal is sometimes the action, and sometimes only the scenery.
Parameters are where the scenery belongs. screen_name, plan_id, variant, entry_point. The event name should still make sense if the colour, the label, and the layout all change in the next version.
Malay labels, English names
Several Penang and KL teams we sit with discuss the product in Malay and keep event names in English because the SDK examples and the contractors are in English. That can work. What does not work is mixing bahasa button copy into the event name for one screen and English action names for the rest. Pick a convention in the measurement plan and hold it.
During a taxonomy rewrite we map old names to action names in a table, then let engineering retire the widget names over a few versions. We do not pretend historical charts will follow. We write the break in the notes so nobody spends a Monday 'reconciling' two names that were never the same thing.