Smart Lock, Smart Signup: Integrating Google Credentials for Android

As a mobile-first company, we’re always looking for ways to reduce sign-up friction.

Recently, while checking out our booking flow for new HotelTonight users, we saw an opportunity to do just that. Right now new users need to enter their first name, last name, and email address. This isn’t terribly cumbersome, but on mobile, every step we can eliminate counts. That’s where Smart Lock for Passwords comes in.

For Android users, Smart Lock for Passwords stores credentials from various sign-in sources and autofills their first name, last name, and email address when they sign up for HotelTonight. This little added convenience ensures that users don’t lose interest or drop off once they see they have to fill out a form to book a room.

Smart Lock for Passwords account picker

When users go to book a hotel and click “add guest info,” we added a trigger (see code here) that prompts the account picker. Users can then select one of their Google accounts to proceed, or they can manually input an account through the original flow.

Smart Lock for Passwords has two flows. The first provides a mechanism for third-party developers to save user sign-in credentials to a Google account. As Google puts it, this allows users to log in to, say, Netflix on their laptops, and then have their same credentials automatically fill in when they launch the Netflix app on their smartphones. While this is pretty useful for apps whose users move from device to device, we didn’t think we’d see the same benefit for mobile-only HotelTonight.

The other flow from Smart Lock for Passwords is what Google calls “hints.” Instead of asking new users to create separate HotelTonight account credentials in Smart Lock, the app asks for their Google account credentials. These credentials are in place on the user’s account without any input from our end. We simply ask Smart Lock to give us what it has, which brings up a chooser so the user can decide which account to use.

Implementation was pretty simple; we executed the update in two weeks. Users started using Smart Lock as their preferred sign-up option quickly, and now 65% of all account creations on Android are done through Smart Lock. Conversion rates are 23% higher when users sign up with Smart Lock, which means users who create their accounts using Smart Lock are much more likely to complete the checkout flow and book a hotel than users who sign up via email.

From integrating Smart Lock for Passwords, we had two main takeaways:

Find the sweet spot

Do some testing (or educated guessing) to figure out where the Smart Lock request fits into your user flow. In our case, we decided to push the request back until the last possible moment of the booking flow, when we absolutely need the account information to continue. We discovered that this approach reduces user interruption and brings up the picker at a time when it makes sense to the user.

Understand HintRequest vs. CredentialRequest

HintRequest returns accounts that are already stored in Smart Lock, while CredentialRequest allows us to retrieve credentials we’ve stored in Smart Lock for the user. CredentialRequest doesn’t require user interaction to retrieve the account unless there’s more than one valid account, smoothing the transition for users using multiple devices. HintRequest always displays the account picker, even when there’s only one account.

For mobile-first apps, making that first user experience as seamless as possible is everything. Given how many of our users use Gmail accounts to manage their work and personal lives, both of which often involve travel, Smart Lock made perfect sense to us.