To make CrowdHandler's JS integration work more effectively with your SPA you can flag to CrowdHandler that a SPA is being used. This flag will trigger additional functionality in the CrowdHandler JS that will cause checks to be performed whenever the URL (location.href) is changed regardless of whether a DOM reload has occurred.
How can I flag that I'm using a SPA?
Amend the CrowdHandler script tag that you included on your site to include the spa=true param/value. This should be placed AFTER the id/value.
If you wish to secure your protection by placing CrowdHandler in front of your API calls, our advanced guide explains how to do this: Protecting a Single Page Application (SPA) - Advanced Integration