A longer account: the festival pack that would not restore
A Klang Valley game studio came in after a mid-autumn sale. The gem pack sold. Restore failed for anyone who had also bought the battle pass. Their engineer blamed Apple; Apple’s report blamed a missing product ID that had been rotated during the sale and never added back to the restore list.
We did not write code. We put the old product ID, the new product ID, and the restore list on one page and walked the session until someone in the room said the quiet part: the sale SKU had been treated as temporary, so nobody owned it after the banner came down.
They left with an order: restore the old ID for ninety days, stop rotating sale SKUs, and put a named person on the festival catalogue. The audit fee did not include watching them do it. A month later they wrote to say the restore tickets had dropped. That is as much sequel as this desk collects.
Another: the trial that trained a wait
A language app with a strong Malaysian school-holiday spike asked for a renewal briefing. Trials converted. The first paid month did not. The paywall after lapse offered the same seven-day trial again.
The briefing was uncomfortable because the growth lead liked that trial. We did not forbid it. We showed that the people who lapsed in month one were the same cohort who had already used the trial twice in six months. They changed the lapse screen to a monthly price with no extra week, and kept the trial only for first-time buyers. We were not in the room when they argued with marketing. We were told it took two meetings.