As mentioned below a Direct call rule should do the trick.
Then depending on desired action first make rule "newPageload" in this case each firing a pageview.
Then make sure your SPA for each new state change(virtual page load) fires the rule:
_satellite.track("newPageload")
as long as app fires it when desired(up to you and devs) then teh action will fire your code.
2 things to watch out for:
Make sure satellite track and all elements are page ready before page bottom.
On some SPAs the initial load may double fire so you may need to suppress it.