An interesting challange from a commnity forum post.
Full disclaimer. Better solution was founded by another member however I learnt something new that day so win-win!
So below is my take on setting up a robust and custom tracking page system. You can enter and leave on any page and it will still track correctly.
However my per page tracking logic is clunky and very time consuming to set up.
the issue was I did not how to access internal storyline data which stores information like time spent and % complete. Below is my attempt.
Here you care can read more about internal Storyline variables and how they work.