Viewed a Page - Page titles missing when tracking visits in Single Page Application

We are trying to apply tracking to a single page application. We referenced the documentation (our code is essentially identical to the examples on that page), and at a high-level, tracking is working well. However, all page view activities are coming as


a generic “viewed a page” event. Can anyone shed light on why we aren’t getting accurate page titles?

{\rtf1\ansi\ansicpg1252\cocoartf2758
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 Monaco;}
{\colortbl;\red255\green255\blue255;\red0\green0\blue0;\red255\green255\blue255;\red111\green216\blue200;
}
{\*\expandedcolortbl;;\cssrgb\c0\c0\c0;\csgray\c100000;\cssrgb\c49804\c87059\c82353;
}
\margl1440\margr1440\vieww11520\viewh8400\viewkind0
\deftab720
\pard\pardeftab720\partightenfactor0

\f0\fs32 \cf2 \cb3 \expnd0\expndtw0\kerning0
\outl0\strokewidth0 \strokec4 \
/*\
identifying user via email address\
*/\
var _hsq = window._hsq = window._hsq || [];\
_hsq.push(["identify",\{\
 email: user.email\
\}]);\
\
\
\
<!-- Set up the path for the initial page view -->\
<script>\
 var _hsq = window._hsq = window._hsq || [];\
 _hsq.push(['setPath', '/home']);\
</script>\
\
<!-- Load the HubSpot tracking code -->\
<!-- Start of HubSpot Embed Code -->\
 <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/XXX.js">\
</script>\
<!-- End of HubSpot Embed Code -->\
\
<!-- Tracking subsequent page views -->\
<script>\
 var _hsq = window._hsq = window._hsq || [];\
 _hsq.push(['setPath', '/about-us']);\
 _hsq.push(['trackPageView']);\
</script>\
\
// Unique Page Tracking //\
\
// Set the path to '/' and track the page\
var _hsq = window._hsq = window._hsq || [];\
_hsq.push(['setPath', '/']);\
_hsq.push(['trackPageView']);\
// This will result in a view being recorded for\
// https://X.com/\
\
// Set the path to '/about-us' and track the page\
var _hsq = window._hsq = window._hsq || [];\
_hsq.push(['setPath', '/about-us']);\
_hsq.push(['trackPageView']);\
// This will result in a view being recorded for\
// https://X.com/about-us\
\
// Set the path to '/affiliate-program' and track the page\
var _hsq = window._hsq = window._hsq || [];\
_hsq.push(['setPath', '/affiliate-program']);\
_hsq.push(['trackPageView']);\
// This will result in a view being recorded for\
// http://www.X.com/affiliate-program\
\
// Set the path to '/affiliate-program?create=true' and track the page\
var _hsq = window._hsq = window._hsq || [];\
_hsq.push(['setPath', '/affiliate-program?create=true']);\
_hsq.push(['trackPageView']);\
// This will result in a view being recorded for\
// http://www.X.com/affiliate-program?create=true\
\
// Set the path to '/contact-us' and track the page\
var _hsq = window._hsq = window._hsq || [];\
_hsq.push(['setPath', '/contact-us']);\
_hsq.push(['trackPageView']);\
// This will result in a view being recorded for\
// http://www.X.com/contact-us\
\
// Set the path to '/dashboard' and track the page\
var _hsq = window._hsq = window._hsq || [];\
_hsq.push(['setPath', '/dashboard']);\
_hsq.push(['trackPageView']);\
// This will result in a view being recorded for\
// http://www.X.com/dashboard\
\
// Set the path to '/faq' and track the page\
var _hsq = window._hsq = window._hsq || [];\
_hsq.push(['setPath', '/faq']);\
_hsq.push(['trackPageView']);\
// This will result in a view being recorded for\
// http://www.X.com/faq\
\
// Set the path to '/order-custom' and track the page\
var _hsq = window._hsq = window._hsq || [];\
_hsq.push(['setPath', '/order-custom']);\
_hsq.push(['trackPageView']);\
// This will result in a view being recorded for\
// http://www.X.com/order-custom\
\
// Set the path to '/order-skiptrace' and track the page\
var _hsq = window._hsq = window._hsq || [];\
_hsq.push(['setPath', '/order-skiptrace']);\
_hsq.push(['trackPageView']);\
// This will result in a view being recorded for\
// http://www.X.com/order-skiptrace\
\
// Set the path to '/profile' and track the page\
var _hsq = window._hsq = window._hsq || [];\
_hsq.push(['setPath', '/profile']);\
_hsq.push(['trackPageView']);\
// This will result in a view being recorded for\
// http://www.X.com/profile\
\
// Set the path to '/privacy-policy' and track the page\
var _hsq = window._hsq = window._hsq || [];\
_hsq.push(['setPath', '/privacy-policy']);\
_hsq.push(['trackPageView']);\
// This will result in a view being recorded for\
// http://www.X.com/privacy-policy\
\
// Set the path to '/terms-of-use' and track the page\
var _hsq = window._hsq = window._hsq || [];\
_hsq.push(['setPath', '/terms-of-use']);\
_hsq.push(['trackPageView']);\
// This will result in a view being recorded for\
// http://www.X.com/terms-of-use\
\
// Track a new page using setPath:\
// Update the path stored in the tracker:\
var _hsq = window._hsq = window._hsq || [];\
_hsq.push(['setPath', '/#/new-page']);\
// Track the page view for the new page\
_hsq.push(['trackPageView']);}

Hi, @SHall7 :waving_hand: Thanks for your question. I’d like to invite some of our community members to the converstaion — hey @himanshurauthan @Teun @JBeatty have you tackled anything similar in your client work?

Thank you for taking a look! — Jaycee