Event Schema Planning
A written event dictionary for one app: names, properties, identity rules, and an engineering handoff that iOS, Android, and web can share.
How this engagement runsKuala Lumpur · event dictionaries
We sit with product, analytics, and one engineer per client, then write the event names, properties, and identity rules before anyone adds another tracker call. The document is the work.
button_click
checkout_started
signup_success on three platforms
account_created, one name
raw search string on every tap
leave search out of the payload
The work
We do not sell software. We write the dictionary that iOS, Android, and web are supposed to share, then check the build against that dictionary when you ask.
A written event dictionary for one app: names, properties, identity rules, and an engineering handoff that iOS, Android, and web can share.
How this engagement runsA review of the events you already fire: duplicates, silent properties, and names that no longer match the screens they claim to describe.
How this engagement runsA pass through the live app to check that events fire on the trigger named in the plan, with the properties the dictionary allows.
How this engagement runsA half-day working session that leaves the product squad with a naming convention and a first list of events they will actually keep.
How this engagement runsHow a plan is written
Most messy event lists begin as last-minute tickets. Someone needs a chart, an engineer adds a string, and the next squad copies the pattern. Schema Pulse Point reverses that order.
We list the actions a person can actually take in the current app and the next named release. We throw out clicks that only describe a control. We write properties that a QA session can still read. Then we hand engineers a sheet with the trigger for each client.
From a grocery app in Petaling Jaya
Payments, fulfilment, and growth each had a different word for placing an order. After the dictionary, finance stopped asking which export was the real one.
Journal
If the name describes the control, not the action, the funnel dies the moment the designer moves the control.
Read the noteSearch strings, full SKUs, and concatenated timestamps look harmless in a test payload. In production they make every report a unique snowflake.
Read the note