The season of (subscriptions) gifting

How to keep your subscribers engaged using Firebase Dynamic Links, and reward them for giving.

Sam Tolomei
Dec 7, 2018 · 8 min read
  1. Creating a referral campaign, where the referrer is rewarded with a discount
  2. Building a Family Plan

1. Gifting of a subscription to a friend

Subscriptions are generally better with friends. Users want to be able to talk to friends about the latest show they binged, keep each other committed to dieting plans, or collaborate on creating playlists. Allowing users to gift their friends a subscription is a great way to leverage a user’s social graph, and is a frequently requested feature by developers, as many have seen success with this feature on the web.

  1. After purchase, Gifter Gary is given the option to buy a friend a 1-year free trial subscription to your service for 50% off the annual price (so $50).
  2. Gifter Gary buys a 50% off annual subscription via a 1-time, in-app purchase for $50.
  3. After this purchase by Gifter Gary, your app then gives Gifter Gary a uniquely generated URL (via Firebase Dynamic Links), that Gary can send to any friend. Gary chooses to email it to his pal, Receiving Rachel.
  4. Receiving Rachel gets the link via email, and is then taken into the app.
  5. In the app, Receiving Rachel is shown a subscription SKU that has a 365 free trial attached to it (note that this is a separate SKU, set up specifically to be gifted).
  6. Receiving Rachel “buys” this free subscription SKU and gets 1 year of free access, which will auto-renew into the normally priced annual subscription, paid for by Receiving Rachel.

Gifter Gary’s purchase & sharing flow

Receiving Rachel’s redemption flow

2. Creating a referral campaign

As I mentioned earlier, an app’s best evangelists are its most engaged users, and enabling these users to be rewarded for their efforts via a referral program is a great way for them to feel invested in your app’s success.

  1. After purchase, Referrer Rick sees the option to “refer a friend and get their next month of subscription free!”
  2. Referrer Rick clicks the button, and is prompted to share a unique URL with their friends.
  3. Dave get’s Referrer Rick’s shared-out email blast (or Facebook post, etc.), and is intrigued. He clicks the link and gets deep-linked into the app, and is prompted to subscribe to the service (optionally, Dave could get an introductory pricing offer SKU as well as part of this referral program.)
  4. Once Dave subscribes, Referrer Rick gets a notification that Dave used their referral URL to start a subscription and Referrer Rick is credited with a successful referral, getting their next subscription bill deferred by X days, using the Deferred Billing API. Note that Google Play will not send the referring user (e.g. Referrer Rick) any email about the deferred payment the user received, so you should ensure you alert the referring user of their referral reward via in-app message, push notification etc.
    Fraud note: to avoid potential fraud abuse by referrers, you likely do not want to offer the users receiving the referrals a free trial, but instead have them pay full price or an introductory price.

Referrer Rick

Dave (Referral Receiver)

Referrer Rick again

3. Building a Family Plan

Many users want to share your subscription with their close friends and family members, and do it in a more secure (and less chaotic way) than sharing their user login and password with other individuals. Thus, we commonly hear about developers being interested in building a family plan to allow users to share the benefits (and costs) of a subscription for a slightly higher price.

  1. After purchase, Family Fran sees the option to “Invite your family members to join your family plan (up to 6!)”
  2. Family Fran clicks the button, and then shares a unique URL with 5 of her family members.
  3. Each of the 5 family members click the URL and get deep-linked into the app, where they then accept the offer to be included in Family Fran’s Family Plan.
  4. Your server grants these family members access to the content for free, and uses Family Fran’s subscription status to derive each of the 5 family members’ subscription statuses.
    Fraud note: your server should validate the number subscriptions in the family plan, to ensure there are a maximum of 6 users on the subscription at any given time. It is also a best-practice to set an expiration on the validity of these Dynamic Links, to lower potential for fraud.

Family Fran (original family plan subscriber)

Family member being invited


As you can see from the above examples, Firebase Dynamic Links allows you to enable various intricate experiences around subscriptions that are not natively possible on Google Play (or other platforms). There are also plenty of additional experiences beyond these as well- and I’d love to hear from you about other implementations!

What do you think?

Do you have thoughts on subscription sharing? Let us know in the comments below or tweet using #AskPlayDev and we’ll reply from @GooglePlayDev, where we regularly share news and tips on how to be successful on Google Play.

Google Play Apps & Games

Tips, trends, and industry thoughts for app and game developers building businesses on Google Play.

Sam Tolomei

Written by

Google Play Apps & Games

Tips, trends, and industry thoughts for app and game developers building businesses on Google Play.