Instrumentation notes for Thai SaaS teams

Bangkok street with overhead wires and warm evening light

Event taxonomies travel badly. A schema copied from a US self-serve playbook will misread Thai commercial weather in at least three places: identity, the calendar, and the first human conversation, which often does not happen inside the product at all.

This is not nationalism dressed up as analytics. It is a reminder that Product-Led Growth Analytics is downstream of how people actually buy and log in. Sensor Cloudhub sits in Thonburi because that is where our operators kept bringing the same broken imports.

Identity is not an email

LINE login, corporate SSO, and a personal Gmail used during a trial routinely create three persons for one human. Expansion then looks like new logos. Contraction looks like churn. Both are identity ghosts. Before you weight a single activation job, write down how you stitch. If you cannot, your warehouse has a dark corner and the Observatory method requires you to label it rather than average through it.

Merchant IDs in payments-adjacent products are another split. A group that looks like one account in CRM may be several in the product, or the reverse. Fellowship walkthroughs in Bangkok have found double-counting more often than they have found “a growth problem.”

Calendars that ignore your checklist

Songkran is not a footnote. Corporate close cycles in March and September are not a footnote. If your retention curve is built on weekly active accounts without annotating those windows, you will invent a product story to explain a holiday. The Cohort Narrative Studio spends a full unit on this because executives in this market already know the calendar; they are waiting to see whether analytics does too.

Quarterly invoices also break “time-to-value in seven days” folklore. First invoice may arrive on a procurement clock that has nothing to do with first value. Record both. Do not average them into “activated.”

Onboarding that leaves the app

A meaningful share of first conversations still happens on LINE or in a call with a human who is not in your event stream. If you instrument only in-app checklists, you will conclude that users are idle when they are merely elsewhere. We do not ask you to instrument LINE. We ask you to stop pretending the missing channel is inactivity.

Bilingual copy creates a quieter bug: the same job fired under two event names after a localisation pass. Dictionaries drift. Version them. The clerical tone of that advice is intentional. Craft is mostly clerical once the philosophy is settled.

If this sounds like your warehouse, bring a page of it to the desk. We will tell you whether you need a lab, a flagship cycle, or simply a stitching note you can write this week.

Back to the journal