Progressive Web App (PWA) Usage and tracking with Web Analytics
A brief introduction to PWAs
Another key capability is the ability to provide the means to install them to Operating Systems’ home screens alongside regular apps. Installation is prompted by the browser based on provided metadata in a Manifest file. The technology is already available and usable in the world’s most popular browser, Google Chrome, and many other derivative browsers.
There are a enough articles on the web detailing how PWAs are built and how you should go on to optimise and test your web apps using Lighthouse. There’s even a PWA generator from Microsoft that helps you create your Web App Manifest file without a steep learning curve.
Tracking PWA’s with Google Analytics
PWA adoption is a thing that is less talked about. As PWAs are not distributed through a central point like Native iOS or Android apps, there are no comprehensive statistics to track the usage of your application. Thankfully since a PWA is just a web application that opens in a slightly different way, you can track it using standard Web Analytics tools like Google Analytics.
Let’s take a quick look at how you’d track a PWA to identify users and view them via the most popular Web Analytics, Google Analytics. First start off with adding any standard tracking code and event tracking as you would with any web application. Complexity here depends on if your application is a standard page-to-page application, or a rich Single Page App (SPA) built on libraries like Angular, React or Vue.js.
To make PWA users and installs distinct, you should add source and campaign parameters to your manifest.json file’s start_url value:
This will allow you to track your installs via Google Analytics, just like any other traffic sources. You can easily navigate to the GA traffic acquisition section and find users who have accessed your application with this URL - in this case essentially those users who have clicked the installed PWA icon from their home screen.
Another simple to do tracking method is to add a campaign variable with an install timestamp with a campaign variable. Ideally you will dynamically generate your manifest file so that the date is always current. Adding the following snippet to your app url will allow you to identify users of your PWA based on the original installation date:
Progressive Web App usage in May 2017
I’ve been using these methods since late May 2017 and so far it looks life PWA adoption is limited. I have a web application that has between 15 000 - 16 000 users daily, out of which some 9 000 - 10 000 are mobile users. Out of these under 10 individuals use the PWA daily:
On the other hand it seems like the users of the PWAs are very loyal. With a over 90% of users returning to the app, as opposed to some 34% for the general population:
The numbers seem very modest and thus investing in Progressive Web Apps does not sound like something that you would like to do today. It is worth noting that these numbers only include heavy users who have chosen to install your app either themselves or by the app installer prompt on Chrome.
PWAs will likely continue to rise in popularity, but will never replace native apps for some scenarios. Google already has put their weight behind PWAs, and Microsoft will also index and list PWAs in their Windows Store alongside desktop apps. So far Apple platforms have limited support for them, but this is likely simply due to they having so much to loose in the App Store generated profits.
However, the most important thing about PWAs is not usage numbers, but the fact that to make your web application make the grade to be one improves it for all users. So while the investment may not show up in particular metrics, the benefit of investing is that EVERY SINGLE USER using your web application benefits from it being faster and providing a better user experience.
And who knows, maybe that installed PWA helps your customer choose you instead of your competitor who does not have an icon on their home screen. An actual competitive advantage.
- Jani Tarvainen, 2017/06/04