Google Play Offers
Setting up your offers in Google Play Console
This guide assumes you already have your products set up in the Google Play Console.
Subscription offers
Google allows adding multiple offers to each base plan. Each offer can have up to two discounted pricing phases.
To create an offer, navigate to the subscription product in Google Play, click "Add offer", and then select the base plan that the offer should apply for.
On the following page, you can set up a unique offer ID, eligibility criteria, tags, and pricing phases. Tags can be used to identify offers in the RevenueCat SDK.
Eligibility criteria
Google Play has three eligibility criteria:
New customer acquisition: For offers with this eligibility criterion, Google Play will determine whether or not a customer is eligible to receive the offer. You can choose whether this should check for customers who have never had this particular subscription to your app or customers who have never had any subscription to your app. If Google Play determines that a customer is not eligible for the offer, it will not show up in the subscriptionOptions
of the StoreProduct
in the SDK at all.
Upgrade: This eligibility criterion is the inverse of the previous one. Customers are only eligible if they currently have another subscription of your product, and you can configure in detail what products this offer applies to. Again, in the case that Google Play determines that a customer is not eligible for the offer, it will not show up in the subscriptionOptions
of the StoreProduct
in the SDK at all.
Developer determined: Offers with this eligibility criterion will always show up in the subscriptionOptions
of the StoreProduct
in the SDK and you are responsible for determining whether or not to apply the offer to a customer or not. If you are relying on the RevenueCat SDK automatically applying free trials and introductory periods and you do not want a developer determined offer to be automatically selected, apply the tag rc-ignore-offer
to the offer.
Pricing phases
Each offer can have up to two pricing phases, and each pricing phase can be a free trial period, a discount on the recurring payment, or a single fixed payment providing access for a specified period of time.
For more details, see Google's documentation.
Promo codes
Google Promotions or Promo Codes to give app developers the ability to create codes that are redeemable for one-time products or trials to subscriptions.
Types of Promo Codes
One-time codes are unique and auto-generated by the Google Play console. They are limited to a single-use.
Custom codes are codes created by the developer. They are redeemable as many times as the developer allows.
Offer Type | Converts to subscriptions | In-App Products | Redemption Location | Applies To |
---|---|---|---|---|
Custom Codes | ✅ | ❌ | In-app | New subscribers |
One-time Codes | ✅ | ✅ | In-app or Google Play Store | New Users, Existing Users, Lapsed Users |
Limitations of Promo Codes with Subscriptions
Promo codes are limited to offering a free trial of a subscription.
Using a promo code in addition to an already free trial of a subscription will result in the promo code over-riding the length of the free trial regardless of whichever is greater.Ex. If a subscription has been configured to start with a 3-day free trial and a user applies a promo code that gives a 10-day free trial, the promo code trial length will override the 3-day free trial.
Promo Codes only applicable to backwards compatible base plans
Promo codes only allow subscribing to a backwards compatible base plan. If you want customers to get free access to non backwards compatible base plans, you should implement custom logic with developer determined subscription offers instead.
Creating Promo Codes
Navigate to Promo Codes Tab
To create promo codes for your app, go to Google Play’s Console ‘All applications' page and select your app from the list.
In the sidebar select Promo Codes.
Creating a Promotion
After selecting Create promo code, you will provide several pieces of metadata to provide to create your promotion:
Configuration Key ( See figure below) | Metadata | Description |
---|---|---|
1 | Promotion Name | A name to identify the promotion. This is not shown to the users. |
2 | Start date/time | When the promotion begins. This date must be in the future. This can not be updated once live. |
3 | End date/time | When codes can no longer be redeemed. |
4 | Promotion type | Select from Paid app, In-app product or Subscription. Both In-app product and Subscription require selecting from a drop-down menu to link an existing product. This can not be updated once saved. |
5 | Code type | Select One-time or Custom code. Custom codes are not available if selecting a Paid or an In-app product. |
6 | Number of Codes | The number of codes available on the promotion. This can not be updated once saved. |
After selecting Save your promotion will be created! 🎉
Accessing One-time Codes
Google automatically generates one-time codes. A link titled, "Download codes" provides access to the automatically generated codes.
Live Promotions
Promo codes become active once the status reads Live.
Promo Code Limits and Availability
Promo codes are limited by Google, on a per quarter basis. The amount of promo codes that Google limits varies by promo code type (one-time versus custom promo codes). Any unused codes will expire at the end of the quarter. Any codes that have been redeemed in the Google Play Store, but not redeemed in the app will stay active until the promotion ends.
For additional learning, review the promo code limits and availabilitydocumentation in Google's Play Console Help.
Redeeming Promo Codes
Promo code redemption can occur in-app or in the Google play store. All code redemptions are handled by Google and don’t require additional UI to be built.
In-App Redemption
In-app redemption applies to One-time and Custom codes.
To redeem a code, a user initiates the purchase at the paywall. At the Google Play purchase screen, a selectable down arrow next to the form of payment allows the user to select Redeem code. After selecting Redeem code and entering the code into the prompted field, then selecting the Redeem button applies the entered code.
Google Play Store Redemption
Google play redemption applies only to One-time codes.
To redeem a code in the Google Play Store, the user can manually enter the code in the Google Play Store by clicking the Play Store left navigation menu and selecting Redeem Code.
The code will then be applied when the user selects the subscription or In-App product they want to purchase.
For additional learning, review User redemption flow documentation located in Google's developer documentation.
Pro Tip ☝️
If you want to save your users the hassle of manually entering their one-time code in the Google Play Store, you can send them a deep link with the promo code already attached:
https://play.google.com/redeem?code=promo_code
Considerations
- In the RevenueCat dashboard, when a promo code is used for a subscription, it will show up as the user is starting on a trial for the length your promotion has specified.
- For In-app purchases, you will see your user has made a purchase, however, the reflected price will be $0.
- The purchase will come back from Google with the "purchaseType": 1, which, according to the API docs means that it was completed with a promo code.
- As of now, purchases with a promo code that come directly from Google don’t carry an orderId.
- In general there is likely to be some info missing if the code is redeemed directly in the play store as a limitation from the information that we gather from Google.
Next Steps
With Promo Codes created make sure you're setup for making purchases
Updated 7 days ago