We keep a short permitted list in Funnel Signal Studio. Viewed, selected a package, started the store sheet, received a success callback, received a failure callback with a coarse reason, restored a purchase. That is already a lot. What does not belong: full names, emails, last-four of a card you never saw, a dump of the receipt, a screenshot of the sheet, a replay of the sheet on devices you do not fully mask.
Coarse reasons, not novels
Store failure reasons arrive as codes. Translate them into a small enum your warehouse understands: cancelled, not allowed, network, unknown. Resist the urge to paste the vendor string into a property “for later”. Later becomes a privacy review. Later becomes a join that nobody trusts because the strings drifted.
Trials are sequences
A trial start is not a conversion. It is the beginning of a clock. Pair it with an end state: converted, cancelled, expired, billing retry. If you only count starts, every campaign that pushes trials will look like a commercial festival. Retention Cartography’s November banking case — printed on the voices page — is the same mistake in a different coat: a purchased behaviour reported as love.
What review actually changed
Review did not forbid measurement. It forbade a certain kind of hunger. You can still know which package was offered, which platform, which experiment flag, and whether the store sheet completed. You cannot treat the paywall as a CRM. If your current events look like a CRM, the Event Grammar Intensive is the shorter programme; bring the dictionary and we will cross things out in gold ink, metaphorically, and in the margins, literally.
Adaptervectorbase is not your counsel on store guidelines. We teach you to leave a paper trail that a cautious lawyer can read. The limitation is the same as elsewhere in the studio: we will not debug your SDK, and we will not promise that a cleaner event will raise conversion. It will raise the quality of the argument you are having about conversion. That is the fee you are paying for.