Hacking Word-of-Mouth: Making Referrals Work for Airbnb

The Airbnb Tech Blog
7 min readMar 27, 2014

By Jason Bosinoff

Referrals are a frequently used growth tool, but at Airbnb our antiquated referrals system was underutilized and underperforming. It was barely findable on the website and didn’t exist on our mobile apps! I’d like to share with you some tips we used to increase the program’s user signups and bookings by over 300% per day.

Word of mouth is a huge growth source for Airbnb, in part because Airbnb experiences are so personal. People use Airbnb to unlock incredible experiences — anything from weekend getaways with friends, cultural exchanges, and once in a lifetime events like honeymoons. The referrals program encourages inviting friends by giving both the sender and recipient $25 of travel credit at Airbnb when the invited user completes their first trip. The idea is to leverage our community’s inherent tendency to tell their friends about Airbnb and amplify the effect.


We decided to relaunch Referrals on all three of our platforms: our website, our Android app, and our iOS app. We also decided to support accepting and sending referral on all three platforms; very few apps accept referrals on mobile despite the majority of emails read on mobile.

Referrals was an exciting project to undertake because it embodies growth: it’s highly measurable, scalable, and is all about identifying a growth pattern that’s already happening but amplifying it at a key moment.

Step 1. Define the game

Before we coded anything, we defined what success would look like. We chose a few metrics to keep score. Adam Nash had spoken at the company at an Airbnb fireside chat recently and had inspired us to “keep score and win games.” We knew that in this game data would be critical, so we started with our success metrics.

For referrals we defined success according to these metrics which form a funnel:

  • Monthly Active Users sending Invites
  • Invitees per Inviter
  • Conversion Rate to New User
  • Conversion Rate to New Guest
  • Conversion Rate to New Host

For each metric, we built three different forecasts:

  • Good
  • Better
  • Best

We based our forecasts on how we think our old, neglected referrals program could perform given a rebirth. We also benchmarked ourselves against other successful referral programs such as Dropbox and Voxer.

Step 2. Keep score

Before we coded any product, we built mechanisms to track and report our progress on our success metrics.

At Airbnb we have an in-house event logging platform called air_events. With air_events we can call the same method from any of our platforms and log an event to a centralized Hive store. We built client libraries for air_events across our entire stack: Ruby (back-end web), Javascript (front-end web), Objective C (iOS), and Java (Android).


For referrals we defined a rich logging taxonomy of over 20 user events that happen during the referral invitation and sign up journey. With this tracking in place we’d be able to follow an invitation from invite page impressions to referred users’ making bookings or becoming hosts. We had iOS, Android, and the website all log according to this taxonomy. That way, we could easily graph and compare performance for a single metric across platforms.

Something that really helped us with this “Keep Score” phase is Airbnb’s engineering team structure. Every team has a data analyst embedded with the team. Our embedded analyst extraordinaire Vaughn Quoss designed the taxonomy and approach. Vaughn also built dashboards and graphs so that we could monitor performance from day one.


Step 3. Spring training

We coded the product.

At Airbnb we have a fun practice of renting out Airbnb listings near the office and working from them for a few days. To build referrals, we had two off-sites, both in the Lower Haight neighborhood of San Francisco.


We built support for web, Android, and iOS simultaneously. Two of the engineers on the team wanted to learn iOS and Android, so they did for this project. The core mobile team also helped by sending team members to pair program with us at the off-sites. At Airbnb we train engineers in-house on new technologies they’re interested in, and give them the opportunity to build with it while working with mentors. It was awesome to ramp up on new skills building something.

Along the way we thought of a few product features.

Personalized referral codes.

We thought that with personalized referral codes and URLs, users would feel more ownership of their invitation landing pages and emails.

invitation email

Opening the app after installing through an invitation link takes you to a special referrals landing page.

One of our engineers Jimmy Tang was a cofounder of Yoz.io, where he built analytics tools for mobile. He thought of a unique way to leverage Yozio’s product to make our referral experience better for mobile. Yozio built a tool to track which link a user clicked before they downloaded the app with reasonable accuracy. From this we can determine if the download came from a referral link that was shared to them and give them a different first time app open experience. When the user clicks the link, Yozio does its first fingerprint of the user. Then when the user downloads the app and opens, it will fingerprint the user again and match the user to the link click. It will then pass this information back to the app and then you can present a different view.

The result is visible today. If you go to the app store today and download the app, you see this:


However, if you click on an invitation link and then download the app, when you open the app for the first time, you’ll see this:


Step 4. Play the game

We launched!


Here’s how we did: referrals increased bookings by over 25% in some markets.

Because we had built dashboards, we could see on launch day one how users were interacting with the referrals product. It was gratifying to measure our impact from Day 1.

We can build product levers to try to boost each of our core metrics defined in Step 1. For example:

  • We can increase “# of invites per inviter” by offering imports of address books from email services or recommended contacts on the phone.
  • We can increase “share of active users sending an invite” by improving the discoverability of referrals.
  • We can increase “conversion to new guest” by allowing referrers to send reminders to invited + signed up users that they have credit available.

Step 5. Refine our moves

It’s been a few months since we first launched. This time we didn’t want to launch and forget our referrals program. Instead we doubled down coming up with new ways to optimize the program. For example, we’ve started promoting referrals at strategic moments when we think the user is most likely to refer, for example just after booking a reservation, or after leaving a positive review. We segment performance data by entry point so we know how these are all doing.

We’re also now in the process of A/B testing promotional emails. One experiment I was particularly excited about was communicating very different value propositions for the same product. In one email, we emphasized that you can earn $25 for inviting a friend (self-interested). In the other email, we emphasized that you are sharing $25 with your friend (altruistic).


Result: The altruistic email performed better globally.

We’ve also seen that reception to the program depends on culture. For example, the referrals program is astoundingly popular in South Korea. We’re also segmenting our A/B test results by culture to see what messaging performs better where.

It was fun to go through a classic Growth project end-to-end. The process serves as a template for all our Growth projects at Airbnb: set measurable goals, plan metrics and logging, build the product with instrumentation, measure impact, iterate.

Check out all of our open source projects over at airbnb.io and follow us on Twitter: @AirbnbEng + @AirbnbData

Originally published at nerds.airbnb.com on March 27, 2014.



The Airbnb Tech Blog

Creative engineers and data scientists building a world where you can belong anywhere. http://airbnb.io