Skip to content

Commit 62c3c14

Browse files
authored
Promo offers and offer codes in paywalls (#1054)
* Promo offers and offer codes in paywalls * Fix broken links, add to sidebar * Add SDK compatibility details
1 parent 04ecd71 commit 62c3c14

File tree

5 files changed

+101
-10
lines changed

5 files changed

+101
-10
lines changed

docs/tools/paywalls/creating-paywalls/customer-states.mdx

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,11 @@ To configure your paywall for dark mode:
2222
You can also click the sun/moon icon to switch between light and dark mode as you're working with each property.
2323
:::
2424

25-
## Intro offer eligibility
25+
## Offer eligibility
2626

27-
All text fields can be configured to have unique strings based on whether the customer viewing the paywall is or is not eligible for an introductory offer.
27+
All text fields can be configured to have unique strings based on whether the customer viewing the paywall is or is not eligible for an introductory offer or promotional offer (App Store only)
2828

29-
To configure a custom string for a text component based on intro offer eligibility:
30-
31-
1. Click on the text component in the Layers panel you'd like to configure
32-
2. Click the `+` icon next to `Text field for an introductory offer` to expand that property and enter a custom string
33-
34-
:::tip Play Store Offers
35-
On the Play Store, customers may be presented multiple offers to begin their subscription. If that's the case for your app, use the `Play Store only: Text field for multiple introductory offers` property to configure a custom string for those customers, and consider using the secondary offer variables to reference the correct price and duration of the second offer if needed.
36-
:::
29+
To learn more about how to configure your paywall to support offers, [click here](/tools/paywalls/creating-paywalls/supporting-offers).
3730

3831
## Selected state of packages
3932

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
---
2+
title: Supporting offers
3+
slug: supporting-offers
4+
hidden: false
5+
---
6+
7+
If you're providing offers to your customers such as introductory offers, offer codes, or promotional offers; you can configure your paywall to support them.
8+
9+
## Introductory offers
10+
11+
When a product on the App Store or Play Store has an introductory offer attached to it, it'll be automatically offered to customers who are eligible for it when they attempt a purchase. To ensure the content of your paywall also correctly reflects that offer and highlghits its benefits, all text fields can be configured to have unique strings based on their eligibility for the introductory offer on the selected package.
12+
13+
To configure a custom string for a text component based on intro offer eligibility:
14+
15+
1. Click on the text component in the Layers panel you'd like to configure
16+
2. Click the `+` icon next to `Text field for an introductory offer` to expand that property and enter a custom string
17+
18+
:::tip Play Store Offers
19+
On the Play Store, customers may be presented multiple offers to begin their subscription. If that's the case for your app, use the `Play Store only: Text field for multiple introductory offers` property to configure a custom string for those customers, and consider using the secondary offer variables to reference the correct price and duration of the second offer if needed.
20+
:::
21+
22+
## Offer codes (App Store only)
23+
24+
If you're providing offer codes to your customers, you can configure your paywall to support them by adding a button component to your paywall that is set to navigate to the offer code redemption sheet.
25+
26+
![Offer code](/docs_images/paywalls/paywalls-offer-code.png)
27+
28+
When a customer taps on an offer code redemption button, iOS's native offer code redemption sheet will be presented for them to enter and accept the offer. To learn more about how to configure offer codes, [click here](https://www.revenuecat.com/docs/subscription-guidance/subscription-offers/ios-subscription-offers#offer-codes).
29+
30+
#### Supported SDK Versions
31+
32+
Offer code redemption is supported on the following SDK versions:
33+
34+
| RevenueCat SDK | Supported version |
35+
| :----------------------- | :--------------------------------------------- |
36+
| purchases-ios | 5.34.0 and up |
37+
| react-native-purchases | 9.2.0 and up |
38+
| purchases-flutter | 9.2.0 and up |
39+
| purchases-kmp | 2.1.0+16.2.0 and up |
40+
| purchases-capacitor | 11.1.1 and up |
41+
42+
If an offer code redempetion button is served to customers on an unsupported SDK version, the button will not be displayed.
43+
44+
## Promotional offers (App Store only)
45+
46+
### Adding a promotional offer
47+
48+
If you're providing promotional offers to your customers on the App Store, you can configure your paywall to support them by adding the promotional offer identifier to each package component.
49+
50+
On each package component, there is an `App Store only: Promotional offer identifier` property that can be set to the identifier of the promotional offer you'd like to support. This maps to the **Promotional Offer Identifier** field in App Store Connect when you create a promtional offer.
51+
52+
![Promotional offer](/docs_images/paywalls/paywalls-promotional-offer.png)
53+
54+
To learn more about how to create promotional offers, [click here](https://www.revenuecat.com/docs/subscription-guidance/subscription-offers/ios-subscription-offers#promotional-offers).
55+
56+
:::warning Play Store offers
57+
Play Store offers are not yet supported on Paywalls, but are on our roadmap for future support.
58+
:::
59+
60+
#### Supported SDK Versions
61+
62+
Promotional offers are supported on the following SDK versions:
63+
64+
| RevenueCat SDK | Supported version |
65+
| :----------------------- | :--------------------------------------------- |
66+
| purchases-ios | 5.34.0 and up |
67+
| react-native-purchases | 9.2.0 and up |
68+
| purchases-flutter | 9.2.0 and up |
69+
| purchases-kmp | 2.1.0+16.2.0 and up |
70+
| purchases-capacitor | 11.1.1 and up |
71+
72+
If a promotional offer is added to a paywall that's served to customers on an unsupported SDK version, the product will be presented without the promotional offer applied.
73+
74+
### How eligibility is determined
75+
76+
Any customer you display a paywall with a promotional offer to will be eligible for that offer if they've made a prior purchase before. This eligibility is determined by Apple's promotional offer system.
77+
78+
:::tip Use Targeting to customize paywall delivery
79+
To control which customers see that offer, then, consider using Targeting; where you can modify which paywall is shown to different customer audiences by Custom Attributes, different paywall Placements, and more. [Learn more](/tools/targeting).
80+
:::
81+
82+
### Customizing content based on promotional offer eligibility
83+
84+
When the promotional offer identifier is set on a package, we'll check if the customer seeing that paywall is eligible for the promotional offer. If they are, we'll show the promotional offer text fields for each text component where they're configured, so that you can use a unique string to describe the price & offer.
85+
86+
:::tip Offer variables
87+
When a customer is eligible for a promotional offer, the variables prefixed with `offer_` will represent the details of that offer, and should be used in the promotional offer text fields to describe the offer. Those same variables should be used in the introductory offer text field as well.
88+
89+
If the customer is eligible for a promotional offer, that offer will take precedence over the introductory offer.
90+
:::
91+
92+
93+
94+
95+
96+
97+

sidebars.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ const paywallsCategory = Category({
147147
Page({ slug: "web-purchase-button" }),
148148
Page({ slug: "variables" }),
149149
Page({ slug: "localization" }),
150+
Page({ slug: "supporting-offers" }),
150151
Page({ slug: "customer-states" }),
151152
Page({ slug: "app-review" }),
152153
],
58 KB
Loading
34.3 KB
Loading

0 commit comments

Comments
 (0)