Journal · 4 October 2025
Property hygiene: empty columns and quiet PII
An event with twelve properties looks thorough until you measure fill rates. In catalogues we mark, it is common to find plan_name blank on two-fifths of checkout_started, campaign blank on almost all organic traffic, and a notes field that occasionally contains an email address a support agent typed into a debug build. App Analytics is a privacy surface. Empty columns are a product decision. Quiet PII is a legal one.
Empty is allowed; unexplained is not
Optional properties exist because some actions happen before a plan is chosen, or before a user is known. That is fine. What is not fine is a readout that segments on plan_name without stating the empty rate. The segment then becomes “people whose client happened to send the field,” which is a different population from “people on the premium plan.”
We ask teams to put a fill-rate column in the catalogue sheet and to review it when they review the product. A property under 15% fill for ninety days is a candidate for burial, unless it is structurally rare (a chargeback, a restored purchase). Rarity should be written down. Otherwise someone will “fix” it by sending a default that poisons the column.
Enums beat folklore
Free text is where naming folklore hides: Premium, premium, PREMIUM_PLAN, pro-annual. The warehouse then grows a mapping table that only one analyst understands. If the world is finite, send an enum. If the world is not finite — a search query, a user-generated title — ask whether you need the raw string at all. Often you need a boolean (had_query) or a bucketed length. The raw string belongs in a product database with access control, not in a tracker that six tools ingest.
Quiet PII
UK GDPR does not care that you named the field debug_label. If it can identify a person, it is in scope. Email-shaped values, phone-shaped values, and device identifiers retained after consent is withdrawn are defects. Hashing is not a personality; it is a technique that still needs a purpose and a retention period. The privacy record for this site is a different artefact, but the habit is the same: collect less, name the purpose, delete on a date.
Property hygiene is taught inside the Event Taxonomy Studio and written up on the governance page. It is unfashionable work. It is also how you keep a catalogue small enough that a new engineer can implement it without a folklore briefing.