SPA tracking without using Launch?! | Community
Skip to main content
Level 2
August 18, 2020
Solved

SPA tracking without using Launch?!

  • August 18, 2020
  • 2 replies
  • 2120 views

We use the old JS method of implementing analytics. (I know, we should be using Launch! But we're not there yet!) 🙂

We're creating a new SPA mini-function on the site, and I need to be able to track each iteration of the screens. Previously for SPAs we have imported a part of the URL into the s.pagename, but for this SPA the URL will not change between screens. 

Help!? 

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Brian_Johnson_

Hi, @clairea39507456 

I'm not quite sure what your question is here. Are you looking for alternatives to the page name because the URL doesn't change? Are you looking for more information on how to track SPA content in general, or do you have that covered based on prior experience?

If it's the former, I'm assuming each screen can be assigned a unique name or value that can be used in place of the URL when building s.pageName. This could be a custom field in your CMS, something dynamically extracted from the DOM.

If you're asking how to trigger the analytics calls, I'd suggest tapping into whatever mechanism is used to change screens. When that action/event occurs, update your analytics variables and fire the page call.

If your question is about something more specific, please provide details in a follow-up and I'll offer any advice/suggestions I can.

2 replies

Brian_Johnson_
Brian_Johnson_Accepted solution
Level 8
August 18, 2020

Hi, @clairea39507456 

I'm not quite sure what your question is here. Are you looking for alternatives to the page name because the URL doesn't change? Are you looking for more information on how to track SPA content in general, or do you have that covered based on prior experience?

If it's the former, I'm assuming each screen can be assigned a unique name or value that can be used in place of the URL when building s.pageName. This could be a custom field in your CMS, something dynamically extracted from the DOM.

If you're asking how to trigger the analytics calls, I'd suggest tapping into whatever mechanism is used to change screens. When that action/event occurs, update your analytics variables and fire the page call.

If your question is about something more specific, please provide details in a follow-up and I'll offer any advice/suggestions I can.

Brian_Johnson_
Level 8
December 11, 2020

@keetee- I think that's a great approach. I've had a few scenarios where firing custom DOM events was the preferred approach, and I've found it to be both easy to work with and great at providing the information I needed, when I needed it. It's also nice because it's not analytics-specific - any system/service can subscribe to the same events.

An alternate approach would be to implement an event-driven data layer. This is another great option, and probably more of a standard. I won't go into detail on this, but will instead point you to the article below, which I think does a great job discussing the pros/cons:

https://www.datanalyst.info/web_analytics/the-event-driven-data-layer-revolution/

Level 6
August 19, 2020

Hi @clairea39507456,

If I have understood correctly, you are looking for ways to capture the page name because the URL is not changing. So, I will suggest you to create a custom event & fire that event when the screen changes. Also, capture the variables and events and then fire s.t() or s.tl() call.

Hope this helps.

 

Regards,

Abhinav