Chrome Push Notification

29 Jan 2016

Notifications with no strings attached

Today’s travel industry is hugely reliant on one factor, price. People tend to change their itinerary if they save on their expense. Hence there are many, many tools to tell you where to book ticket from, what time will be economical, and most importantly when the price drops (Fare Alerts).

The Problem

We at Goibibo tried to solve the same trivial Fare Alert problem in our own innovative way.

Concept of Fare Alert : Whenever the price drops for a flight, from the amount that was there at the time of search, we alert the user.

This problem was already solved on our Mobile Apps where we push a notification if the price goes down (or up) from a given threshold.

Then Why Web?

Web maintains a No Strings Attached relationship with the customer.

You can go to goibibo.com and without signing-up or giving email id, can search for flights and even book it. Hence it’s a service with no strings attached. Plus, whenever we push notification on mobile apps, we see a peak on our app’s usage immediately, but also we see a few percentage of users uninstalling our app. That means, notifications can be annoying for users and hence could be fatal for the business (App uninstalls).

Whereas in web notifications, it’s a win-win for both business (in this case Goibibo) and the customers. Plus, organization gets hold on the customers who have strong intent in buying the air ticket.

The Implementation

Implementation was kept smooth. It’s a 2-click process. 1 click for registration of device and the other one for registration of which itinerary/route you want to keep an eye on. From there on it’s a single click magic.

image
image

Trivial way to compute, when is the price going down, is to keep polling on that route’s data for the queried itinerary. But as they say

Anything worth doing, is worth doing right.

The Secret Sauce

Being the top travel site of the nation, there is a huge traffic on the site, and hence enormous number of searches are happening every minute. Each search generates a log which saves what itinerary was searched. Algorithm crawls over these logs to match if the user’s queried itinerary is matching to any of the logs, and if yes, compute the delta of the prices. If there is a price difference, we send the user a chrome notification.

image

Now few of you might say, what if a user searches something really weird and no-one else searches the same. Well, there are cases like that (around 2%) but it’s a game of optimisation. 98% of users are being served without eating up any considerable server usage, hence we take the brighter side.

The Dark Side

As said for Web, with great power, comes limitations. In this era of progressive web apps, we tend to keep pace with upcoming technologies and keep making features for users with upgraded devices.

Chrome Notification is properly supported only above +43 chrome version. To add onto it, response format of Google Cloud Messaging changes from chrome 43 to 47, hence code needs to support all the variations. Moreover, it is exclusively for https protocol.

The Silver Lining

Overcoming all the challenges, product was shipped to production for the real test. Initial days were patchy, as user’s behaviour was unpredictable. After a week, product became stable and started yielding results.

Some delight to the ‘Data’ Fans:

As it’s a feature of next generation devices, and considering https constraints, very few users were eligible to avail this feature.

Out of the eligible users, 65% of users opted for registration [step 1]. There were more than 11 requests for fare alerts for every 10 active users (few requested for multiple dates or more than ones) [step 2]. More Than 20% of the users clicked on the sent notification.

Out of the lot that clicks on the notification, 50% drops at search results page, and 16% drops at Booking page.

Out of all the notifications sent, only 10% of them carry “Price got lower than searched” information, rest all are “Price got high” info. Chances of conversation is exponentially high for the fare alert with lower price info.

At the end, around 4% of the people are getting converted from this feature.

Where to Now

We saw a lot of users registering for fare alert for multiple dates, mostly dates being close to one another. That means user is interested in +2, -2 day’s rates too. In future, we might try pushing +plus -minus few days of pricing. Also, we might try Hotel recommendations notification on this platform.

Chrome notification requires implementation of serviceworker and manifest.json on the platform. This project laid the foundation, and now could be extended to extract nextgen capabilities like Offline web, background sync, static resource caching etc…

Team will now focus on developing other platform’s notification, like Safari and Firefox (recently launched).