@cpeppas in thinking through this, your idea on the custom property that adds each time they cancel seems like the best solution.
I don’t see lifecycle stage working, as it’s a linear path and going back isn’t part of its functionality. While contacts can go back and forth, no automation or reporting happens in that back and forth.
You could also look at number of form submissions on your free trial form, and if it’s more than three for example, you know they’ve signed up and canceled more than once or twice.
That’s my two cents. ![]()