Configuring a Free Month reward
Creating the right incentive for users is an essential step in creating successful affiliate and referral campaigns.
This guide outlines different methods to implement one of the most popular rewards - a free month.
In case you are not familiar with the rewards concept, you can learn more about it here.
1. App Store Offer Codes
What are Offer Codes?
Offer codes are a type of subscription and in-app purchase offer on the App Store.
You can use them to acquire, retain, and re-acquire paying users by providing a discount or free offer for a limited time.
Prerequisites
- Integration with App Store Connect is required and can be enabled by providing the Auth keys in the WinWinKit dashboard.
- You must have an Offer Code configured in App Store Connect. Learn more about configuring Offer Codes.
Creating and configuring the reward
- In the WinWinKit dashboard, navigate to Rewards -> New Reward -> Offer Code and select the loaded Offer Code from App Store Connect that you want to attach to the reward.

- When creating any campaign (e.g., an affiliate campaign as illustrated in the screenshot below), select the created reward.
Optionally, configure the Deactivation for the reward if you want to limit the availability of the offer code.
For example, set Deactivation to 7 days to make the reward available for a week.
Note: a free month starts when the user redeems the Offer Code, which essentially starts a subscription with a configured trial period.

How it works under the hood
When a user claims a code and should be rewarded with an Offer Code, WinWinKit pulls Offer Codes from App Store Connect and assigns a unique, one-time use Offer Code value to the user.
Later, WinWinKit can reassign the Offer Code value if the previous one has not been used and has expired.
Implementation details
When a user has an active Offer Code reward, use its value to redeem the Offer Code via Apple UX. Read more about supporting Offer Codes in the app.
Key Takeaways
Offer Codes provide a native, flexible way to configure offers for users.
Pros
- User starts a subscription with a free trial;
- Can be configured for existing subscriptions;
- Support rich configuration for various types of offers - free trials, discounted periods, etc.
Cons
- An Offer Code can be redeemed only via Apple UX, which is an extra step for users, making obtaining a free month trial a two-step process.
Learn more about Offer Codes reward in our documentation.
Similar to App Store Offer Codes for iOS/macOS, Google Play Promo Codes allow for configuring a free month trial for Android users.
Except for the integration part, support and behavior of Google Play Promo Codes in WinWinKit is similar to App Store Offer Codes.
2. RevenueCat Entitlement
What is RevenueCat?
RevenueCat is a subscription management platform that simplifies the process of managing subscriptions and in-app purchases in mobile apps. It provides a unified API for handling subscriptions across multiple platforms, including iOS, Android, and web.
What is RevenueCat Entitlement?
RevenueCat Entitlement represents a level of access, features, or content that a user is “entitled” to, and is typically unlocked after a user purchases a product.
Prerequisites
- Integration with RevenueCat is required and can be enabled by providing the API keys in the WinWinKit dashboard.
- You must have an entitlement configured in RevenueCat.
Creating and configuring the reward
- In the WinWinKit dashboard, navigate to Rewards -> New Reward -> Entitlement and select the loaded entitlement from RevenueCat that you want to attach to the reward.
Note: the key field is less significant than in other reward types, as in most cases it won’t be used.

- When creating any campaign (e.g., an affiliate campaign as illustrated in the screenshot below), select the created reward
and ensure the Claim option is selected for the Activation field, meaning the user will be rewarded with the entitlement once they claim the code,
and select Interval of 1 month for the Deactivation field, meaning the entitlement will be revoked after 1 month.

How it works under the hood
When a user claims a code and should be rewarded with access to the entitlement for a month, WinWinKit grants an entitlement to that user in RevenueCat by calling their APIs and setting the expiration date to the current date plus one month.
Note: the entitlement is revoked on the RevenueCat side after the expiration date, unless the user has purchased the product or the entitlement has been extended for any other reason.
Implementation details
After a user claims a code via WinWinKit, a force-reload of customer info via RevenueCat’s SDK is needed to ensure the entitlement is updated.
Key Takeaways
If you already use RevenueCat, setting up a free month via their entitlement is the easiest way to achieve it.
Pros
- Easiest to configure and integrate.
Cons
- User is not starting a subscription with a free trial but is directly granted temporary access.
Learn more about RevenueCat Entitlement reward in our documentation.
3. RevenueCat Offering
What is RevenueCat Offering?
RevenueCat Offering is the selection of products that are “offered” to a user on your paywall.
Prerequisites
- Integration with RevenueCat is required and can be enabled by providing the API keys in the WinWinKit dashboard.
- You must have an offering with a month-long trial subscription configured in RevenueCat.
Creating and configuring the reward
- In the WinWinKit dashboard, navigate to Rewards -> New Reward -> Offering and select the loaded offering from RevenueCat that you want to attach to the reward.

- When creating any campaign (e.g., an affiliate campaign as illustrated in the screenshot below), select the created reward.
Optionally, configure the Deactivation for the reward if you want to limit the availability of the offering.
For example, set Deactivation to 7 days to make the reward available for a week.
Note: a free month starts when the user starts a subscription with a trial.

How it works under the hood
When a user claims a code and should be rewarded with access to the offering for a month, WinWinKit sets an offering override for that user in RevenueCat by calling their APIs. After one month, WinWinKit resets the offering override to the default offering.
Implementation details
After a user claims a code via WinWinKit, a force-reload of customer info via RevenueCat’s SDK is needed to ensure the offering is updated.
Alternatively, you can check for the presence of an active RevenueCat offering reward in the WinWinKit SDK, and instead of using the user’s current offering to display in the paywall, query an offering by the available key.
Key Takeaways
If you already use RevenueCat, setting up a free month via their offering empowers you with extra flexibility and allows you to configure exclusive paywalls for your marketing campaigns.
Pros
- User starts a subscription with a free trial;
- Can be combined with an alternative/exclusive RevenueCat paywall.
Cons
- An alternative subscription with a month-long trial is required.
Learn more about RevenueCat Offering reward in our documentation.
4. Basic Reward
Creating and configuring the reward
- In the WinWinKit dashboard, navigate to Rewards -> New Reward -> Basic and create a new reward with the name and key
by which you will be checking for the reward status.
Note: the key is very important here. It might be better to give the key a more generic name,
such as premium_access
, and reuse it across campaigns beyond the free month reward.
Learn more about creating a Basic reward in our documentation.

- When creating any campaign, select the created reward
and ensure the Claim option is selected for the Activation field, meaning the user will be rewarded once they claim the code,
and select Interval of 1 month for the Deactivation field, meaning the reward will be revoked after 1 month.

How it works under the hood
When a user claims a code and should be rewarded with access for a month, WinWinKit activates the Basic reward and it becomes available under the user’s object provided via our SDKs. After one month, WinWinKit resets the access to the reward.
Implementation details
You must check for active basic rewards and grant user access to the features in the code.
Key Takeaways
Pros
- No external dependency is required;
- Flexible and configurable reward that can fit different use cases.
Cons
- Requires slightly more integration effort due to the need to check for active rewards and grant access to features;
- User is not starting a subscription with a free trial but is directly granted temporary access.
Learn more about Basic reward in our documentation.
5. Credit Reward
An alternative to the above methods is the Credit reward, which can also be set up for a free month. It offers higher flexibility but also higher complexity.
How it works under the hood
When a user claims a code and should be rewarded with access for a month, WinWinKit grants the set amount of credits attached to the reward, and it becomes available under the user’s object provided via our SDKs. Credits can be withdrawn as they are used or can be set to expire after a certain period of time.
Implementation details
You must check for active credit rewards and grant user access to the features in the code.
You must also withdraw credits from the user’s account when they are used.
Key Takeaways
Pros
- No external dependency is required;
- Fits dynamic use cases, such as trial uses, instead of a fixed period;
- Supports stacking/accumulating credits;
- Flexible and configurable reward that can fit different use cases.
Cons
- Requires significantly higher integration effort due to the need to check for active rewards and withdraw credits;
- User is not starting a subscription with a free trial but is directly granted temporary access.
Learn more about Credit reward in our documentation.
Conclusion
WinWinKit offers a variety of reward types to fit different use cases. Each reward type has its own advantages and disadvantages, and it’s important to choose the right one for your specific needs. By understanding the pros and cons of each reward type, you can make an informed decision and implement the best solution for your business.
If you have any questions or need further assistance, please reach out to us.