Notes / Properties

Property dictionaries for mobile funnels

2 February 2026

Laptop showing development work for mobile analytics

A named event without a dictionary is a headline without a style guide. Mobile funnels fail in the properties: iOS sends plan_id as a string, Android as an int, and a webview injects PlanId. The Property Dictionary Lab exists because Event Family Studio participants kept finishing week three with beautiful names and chaotic keys.

Nullability is a product decision

If coupon_code is optional, say so. Analysts filling gaps with “unknown” in SQL will invent a sixth funnel stage. The dictionary we use in class has three states only: required, optional, forbidden on that event.

Enums drift

Free-text source fields become a folksonomy: “push”, “Push ”, “notification_centre”. Lock the enum in the RFC and reject unknown values in debug builds. Production can still receive junk from old app versions; the volume pass will show you when it is safe to stop mapping aliases.

PII flags

UK teams cannot treat this as optional colouring. If a property might identify a person, it is marked, and it does not belong in a broadly shared dashboard extract. We will not design an evasion; we will leave the field out of the teaching catalogue.