Discounted or trial subscription or in-app purchase offer on the App Store.
Offer codes is a type of subscription and in-app purchase offers on the App Store. You can use them to acquire, retain, and re-acquire paying users by providing a discount or for free offer for a limited time.
Integration with the App Store Connect is
required to use this reward type.
Log in to your project in WinWinKit, click Settings
-> Integrations -> App Store Connect -> Connect and follow the instructions.
With WinWinKit you can create a peer-to-peer referral program that enables current users to share and receive an offer code as a reward for promoting your app.
To start rewarding users with Offer Codes, you must first create them in App Store Connect.
To create an Offer Code:
1. Sign in to App Store Connect.
2. Navigate to Your App -> Subscriptions.
3. Choose the subscription group containing your subscription.
4. Select the subscription from the list.
5. In the Subscription Prices section, click the add button (+).
6. From the menu, click Create Offer Codes.
7. Enter a reference name for the offer.
You’ll use this reference name to manage the offer in App Store Connect and to select it in WinWinKit when linking it to a reward.
8. Select the Customer Eligibility for your offer.
Note that WinWinKit does not store or provide any information about your user’s current or past subscriptions.
You might want to apply custom logic when displaying rewards for new, existing or expired subscribers.
9. Configure Introductory Offers compatibility.
If your subscription has an introductory offer, determine whether people redeeming your codes should be eligible to redeem both a code and the introductory offer by choosing from the following options:
10. Click Next.
11. Select the countries or regions where you want to make your offer available, then click Next.
WinWinKit does not fetch or filter availability by countries or regions. If your app is available globally, we recommend you select all. If you have custom requirements to availability you need to handle it on your side.
12. Select Type of Offer.
Pay as you go: If you select Pay as you go, customers pay a discounted price for each billing period for a selected duration.
Pay up front: If you select Pay up front, customers pay a one-time discounted price for a selected duration.
Free: If you select Free, customers access the subscription for free for a selected duration.
Learn more about offer types.
13. Choose the appropriate duration, and if applicable, the discounted price for a base country or region, then click Next.
14. Make sure the details of your offer are correct and click Confirm.
15. Congrats, your Offer Code is ready!
You can create multiple Offer Codes for the same or different subscriptions.
Once you create an Offer Code, you won’t be able to edit it. If changes are needed, create a new one.
Be careful when deactivating an Offer Code if it is used with WinWinKit. Deactivating makes it unusable and will cause disturbance for rewards.
For more information please refer to the App Store Connect documentation:
Let’s create a reward that rewards users with a free month of a subscription.
1. Type
Select type “Offer Code"".
2. Name and Description
Enter name and description.
Name and Description of the reward are shown on Code Link and Affiliate Form pages if enabled, and also shown to Affiliates in their dashboard if configured as part of the User Rewards.
3. Key
The key value is auto-filled based on the entered name and if is precise enough can be kept as is.
The key is a stable and machine-readable string value meant to be used for granting users access to their rewards. Cannot be changed once the reward is saved.
4. Offer Code
Select the Offer Code that is loaded from the App Store Connect. Once the reward is saved, its Offer Code value cannot be changed.
5. Metadata
This allows you to provide extra configuration and metadata making it flexible to meet your specific needs. Must be a valid JSON object.
Once everything is set up in App Store Connect and WinWinKit, you need to add support for Offer Codes in your app.
When a user is rewarded with an Offer Code, there is two ways they can redeem it:
WinWinKit supports both ways, so you can choose which one to use. However, we recommend you implement support for both ways.
Follow the Apple’s documentation to implement support for Offer Codes redeemed outside of your app:
Support offer codes redeemed outside of your app
If you use RevenueCat, you don’t need to implement
this, as their SDK listens for updates
on Transaction
already.
Follow the Apple’s documentation to implement support for Offer Codes redeemed in your app:
Redeem offer codes in your app
Essentially you only need to present a native sheet where user can enter the Offer Code value.
WinWinKit provides Offer Code value for active rewards for the user.
Available Offer Code reward and value can be retrived on the User
object.
Retrieving Offer Code value with Swift SDK:
let offerCodeRewards = Referrals.shared.user?.rewards.active.offerCode
let offerCodeReward = offerCodeRewards?.first
// The value that can be presented to the user, and they can redeem in the app.
let offerCodeValue = offerCodeReward?.value.value
// The redemption URL that can be used to redeem the Offer Code in the App Store.
// You can open this URL to prompt the user to redeem it.
let offerCodeRedemptionURL = offerCodeReward?.value.link
// The expiration date of the Offer Code value.
// After the expiration date, a new value will be assigned, unless the reward is expired before.
let offerCodeExpirationDate = offerCodeReward?.value.expiresAt
For new users, redeeming an Offer Code is starting a subscription in your app.
For existing users, redeeming an Offer Code is starting, adding, changing, renewing or getting temporary discount on a subscription in their account. What happens depends on the subscription type and the Offer Code they redeem.
For more information please refer to the App Store Connect documentation:
Supporting offer codes | Design Guidelines