Single Page Applications consist of websites that don’t generate browser page refreshes upon switching from screen to screen. In other words, visitors may seemingly navigate through an entire website, browsing from screen to screen and applying changes to the page at hand but the URL may not change. Alternatively, the URL may seemingly change but behind the scenes, the browser does not refresh the HTML document, as the various elements populate and load dynamically.
Single Page Applications are often barely distinguishable from ordinary websites. However, they often have critical implications on integrating with 3rd party services, as described below.
Dynamic Yield’s Personalization and Single Page Applications
Dynamic Yield experience activations rely on browser page refreshes, as each Experience renders upon the pageload of the relevant webpage and its DY script reload. For Example, a custom, personalized experience that is configured to activate on all URLs will render upon every pageload of every page on the site. As a result, Single Page Applications that by definition don’t refresh the page and don’t generate new browser pageloads will prevent the same experience from activating and rendering on each new screen, since no page refresh was registered.
Dynamic Yield solves this issue by allowing users to explicitly inform DY of every new “pageview” or “screen” with a DY Event called “track_pageview.” This should be fired upon every new screen instance, and enabling this option for the relevant Experiences within the DY application.
It is up to the user to determine the logic behind what consists of a new “pageview” or “screen” within the Single Page Application website. However, Dynamic Yield advises that any change in page layout or new rendered content should fire the event. Examples include: switch between tabs, click on back button of browser, login, etc.