Hey Paul,
From my personal experience, implementing Adobe Analytics via DTM on a single page app is always little TRICKY. This implementation would require a lot of quick and dirty fixes, especially when you have a complex implementation with a lot of customization.
Before I suggest the possible fix to your problem, disclaimer, I am NOT a JS expert so my solution would be more focused on Analytics Implementation workarounds than the Single Page App frameworks like Backbone.js etc 
Below code might be a good example in Angular JS to capture the Page Views (not the literal page view but view changes):
$rootScope.$on('$locationChangeSuccess', function(event, url, oldUrl, state, oldState){
var currentURL =url.toLowerCase().toString();
var dataLayer={};
if(currentURL.includes('ABC')){
dataLayer= {
'pagename': 'ABC View'
}
_satellite.pageBottom();
}
else if(currentURL.includes('XYZ')){
dataLayer = {
'pagename': 'XYZ View'
}
_satellite.pageBottom();
}
Hope this helps and Don't forget to like this comment
Thanks,
Harsh Kabra | Adobe Certified Expert: Analytics Architect ®
