I generally recommend using URL parameters with a single page app (how to implement). It helps users navigate your site and allows them to click “back” to go to the prior view instead of leaving your site. It also has the added benefit of enabling analytics tools to track usage based on the url parameter, often by default.
Most of the tools can be customized as well, if needed. But, customizations take time and often result in additional complexity down the road which isn’t optimal. I’d look at full story, lucky orange, and mixpanel at a minimum. Lots of good tools out there. Sometimes makes sense to use more than one which have complementary feature sets.