When user journeys are complex, its easy to lose sight of what we, as a system, know about the user at a particular touch point through the journey. The best way I’ve found to handle this, is to draw up a map. This mapping doesn’t have to be a fancy graph, all we need is a clear user journey, with all touchpoints. Now add pathway options, and a list of what we know about the user.
In the initial stages of building a system, this might be hard, as there would be many unknowns. In that case, you can draw a ‘What we’d like to know’ map, with your wishlist against each touch point.
I’ve found this to be immensely helpful in understanding a system from an interaction point of view, and for designing messaging that works for users in their particular context.