Your beautiful app deserves more subscribers, do you agree? If so, there's good news. Offer Codes can help you convert more of your free users into paying. If you're interested in streamlining the money-making part of your engineering marvel, I invite you to dive into a few ways how to achieve it with me below.

In the next 15 minutes, you’ll find out how to maximize visibility of your app by…

1. Making students your best ambassadors
2. Leveling up your PR
3. Getting more attention with Giveaways
4. Rewarding loyal customers
5. Cross-promoting your apps

But first, let's quickly clarify the code diversity:

Offer vs Promo vs Introductory vs Promotional Codes

It's alright to be confused. I was too. There are 4 different App Store code types as of now, and they serve different purposes. I studied Apple's maze of docs, so you don't have to, and explained it in simple words.

What are Offer Codes, First of All?

They look like this: FMWPN78P7TTHLW3MKE (quite long, yep). You can share them with a prospective subscriber, so they redeem the code, and get your subscription with a time-limited discount.

What's particularly great about offer codes is that you can adjust literally everything: how much $$$ off your regular subscription price you want to offer, for how long they'll be paying the discounted price, and finally, for how long your offer will be redeemable.

It’s safe to call Offer Codes the most versatile marketing tool offered by the App Store since its release in November 2020. You can use them to attract new subscribers, win back the churned, or retain the existing. Limited at 150K codes per quarter per subscription, you'll barely feel a shortage. I doubt those who will are reading this 😁 And, Tokens will help you carefully dispense those codes—one per user—so you squeeze the most revenue out of that quarterly limit.

But we've already had promo codes...

Not quite the same thing. The difference is as vast as that between Apple Calendar and Fantastical. Both offer and promo codes can be distributed outside the app via QR codes, on blogs, in ads, on social media, etc. Users can redeem them via App Store or convenient links. Promo codes always give a 100% discount, i.e. if you give away a promo code, a person will get your subscription for free for its entire duration. Say, you have a $9.99/year sub. Give a promo code to this sub, and they will get 1 year for free. That's it—no other options.

With offer codes, you set your own rules. 30% off your $3.99/month subscription for 2 months? You got it. Free access to an annual subscription for 1 month? Not a problem.

You can generate just up to 100 promo codes per subscription per 6 months, whereas offer codes are limited to 150,000 per quarter per subscription!

Such a steep difference is easily justifiable by what you want to use these two for. Promo codes are good for driving extra sales indirectly. Send out free copies of your app to influencers and journalists. If they like and mention it, you'll get extra downloads that are yet to be converted into subscriptions. Offer codes are more about helping you to convert potential subscribers directly, without the influencer middleman. You wouldn't reach out to 150K journalists, would you? However, you may have that many potential customers.

Last but not least: promo codes expire in 28 days after generation, and offer codes—when you decide (max. 180 days).

"I've also heard something about Introductory and Promotional Codes..."

Yes, that's a thing, too. However, their marketing potential is rather limited as they can only be distributed within your app, so forget about running a 50% off giveaway or sending a free copy to that Italian Apple journalist using these two.

If you're more into comparison tables, here's one from Apple itself:

iOS App Store's Offer vs Introductory vs Promotional Codes comparison table

Let's Translate Those Codes into Revenue

Although I'm not a business mastermind who created apps that would be making billions of dollars like Tinder, I hope that a few strategies from my arsenal may be handy for fellow developers. They helped us at Gikken grow our best-in-class Mac and iOS translator app—Mate—4x in the last 2 years. We're a bootstrapped three-person company and we're careful about every dollar we make and spend. I'll be very happy if any of my takeaways will help you make more off of your awesome app!

Note: I'll be using Tokens in my examples—the app that we made to help you generate offer and promo codes faster, and your users redeem them with ease—by just clicking on a link.

Left: promo code. Right: offer code. Don't make your users google how to redeem a code—Tokens wraps codes in links that are easy to redeem.

1. Making students your best ambassadors

Many of us know firsthand that students are on a tight budget. However, it doesn't mean they don't deserve good software. For years, companies have been adjusting their regional prices according to purchasing power. You can think of student discounts as an even more caring income-based price adjustment.

On the upside for your app business, students are some of the most socially active folks out there. They meet a lot of people in classes, their dorm, at parties, etc. Make them your loyal users and you may get your best ambassadors. That surrendered 30% of your sub price will pay off over and above in new users they'll bring in. People love bragging with things they love. If your app is good (and I'm sure it is!), take down the price hurdle for students, so they can start loving it, and spreading the word.

When we launched a 50% discount for students and teachers on Mate, it took off instantly. Many students were discovering Mate but couldn't afford it. An easy-to-get discount took out this barrier. Now, edu sales account for around 15% of our revenue.

It's worth mentioning that in order to make it work like a charm, you need to automate it. It makes sense to test whether there's interest for your app among students by just directing them to your support email first, but it won't scale. It will hold back too many from claiming it (too much effort: come up with a message, write it, attach a student ID, wait for a reply, redeem a code). On the opposite, typing in a student discount and instantly getting a discount is totally frictionless and as fast as it just could be. No emailing or waiting involved. You sell it to them the moment they want it. Also, you certainly don't want even more emails in your support inbox.

Here's how we made it with Mate: user enters their student email, we validate it using this fabulous library from GitHub, and if it's actually .edu, send a discount code to that address.

Claim your 50% in 5 seconds by just using your student email.

Whether you go the easy way, and offer discounts via email support, or the harder but more efficient way—automate it. You may find Tokens helpful in dispensing those discounts.

Apple made creating offer codes a two-step story: they are stored in campaigns, or just offers. You set up an offer once and then you generate codes for it. You can top it up with more codes at any time.

First, I want to include one static link into my student emails, so it dispenses codes automatically—one per student. On the screenshot below, I create an offer that gives 50% off my subscription for 1 year:

Select a subscription you want to offer a discount on in the sidebar → and select Create an Offer from the pull-down next to the + button. 

Then, I want to add 1,500 codes using that + button:

Now, I can copy the offer link and include it in my student emails:

I don't have to mingle with managing a database of codes, picking unused ones for each email, generating and re-uploading new codes every now and then. It all runs smoothly without my attention now. Using Tokens's redemption status, I will know when I need to top up my student campaign. Then, I'll just hit that + button and add a few more thousands of codes.

Thanks, Gikken.

2. Level up your PR

It's old news that a few powerful folks can multiply your reach by thousands. In other words, get an influencer to like your app, and they might share it with hundreds of thousands of their readers. How do you get them to like it? You show it to them. If you can run into them at WWDC, perfect—do it in person. If you can't (and in 2020, you can't), send them a friendly email (aka pitch) explaining why their readers must love your app.

The key to any good pitch is playing up how easy it is to test the product. Influencers and journalists get dozens of requests like yours. Even if the pitch is half-baked but it's super easy to play around with the actual product and the product is super good, you up your chances by a lot. Since subscription-based apps are technically free, they can test drive it for free, true. If they seriously want to write about you, they'll need access to all features, though. Including a promo code when sending out a pitch has always been a good tone. And offer codes aren't changing anything fundamentally here. The good part is that you have 15,000 times more offer codes than promo codes, so you'll barely feel short of them. Also, giving a promo code meant that the journalist would get your premium version for the entire duration of the subscription. With offer codes, you can easily adjust it.

My jaw dropped after we made our interview with Ryan Jones who 50x'ed traffic for Weather Line with Tokens. The power of doing good PR is often undervalued.

To start blasting out my pitches, I want to create an offer—free 1 month trial:

Add a bunch of codes by clicking that +, and then I can copy a code, and even name it not to forget who it went out to:

Let's keep the fingers crossed:

Disclaimer: I discourage you from using this pitch template if you actually want to get reviewed.

OK, actually, I'll know for sure whether my titanic pitching efforts have paid off:

3. Get more attention with Giveaways

It's no big news that people love free or discounted stuff. They stand in hour-long lines, click links for it, upvote and repost it. Remember Black Friday: people hoard discounted goods while companies report sky-high revenues. I'm not suggesting that you must take part in the consumerist hysteria that takes place on a gloomy November Friday. I'm very skeptical about it myself. But speaking in marketing slang, giveaways are an efficient way to increase your brand awareness. It's similar to ads in some way. You sacrifice a chunk of sales to get more exposure. Get more people to know about your app and hope that some of them become your fans and will recommend it to the others (virality!).

  • Jump on a mainstream discount bandwagon like Black Friday, Cyber Monday, etc.
  • Celebrate a major update with a major giveaway. You can also partner up with one of the bigger blogs like iMore to pull it off. Or, just drop it on Twitter. Here's one example that is still generating retweets and likes, and thus new eyeballs for Ryan's stunning game.
  • Give away discounts or free copies at conferences. This way, you can get influencers on board that will keep spreading the word about your awesome app. I picked up this idea from Frank Rausch who prints out QR codes with a Tokens giveaway link and gives out his beautiful Wikipedia client to his students.
Look at how masterfully Sindre used the opportunity to expose his app to thousands of eyeballs. He gave away a few copies of his app for free, but the tweet generated impressions way beyond the lucky ones who grabbed a free copy. It's good for awareness. Also, some people may well purchase it for full price even after all codes are out, if they find it useful.

As you see above, Sindre is also using Tokens. A great opportunity to pull in free impressions is not going to be there forever. Tokens is designed so you never miss those.

Sindre was giving away free copies. With offer codes, you decide whether it's going to be free, 10%, 50%, or 90% off. Absolutely anything is possible now.

Your only goal is to make as many people as you can open that link. Distribution is on Tokens. It will carefully dispense one code per person.

Sorry, mate, you've gotten yours already.

I don't want to be judgmental on whether it's good or bad to run promotions all the time. There are different opinions in this regard. Some say that if your product is good, you don't need to stimulate customers with discounts, they'll buy it anyway. However, for some good products—e.g. Babbel—jacking up prices and then running discounts works well. Personally, I adhere to the first category more. We at Gikken try to limit any kind of discounts to the absolute minimum (a few per year), and drop them absolutely randomly so that people don't get used to it, or wait up until we drop the next promo.

Here's Babbel.

4. Reward loyal customers

Subscription business is tricky because the selling process doesn't stop, even when a person is paying you. At that point, your new goal is to maximize LTV. In other words, make everything, so they don't unsubscribe for as long as possible. Forging a good relationship with your users is one way to do so.

There are two things that we gladly reward our customers for: participation in interviews and help with troubleshooting issues. If you're ever interviewing your users to make roadmap decisions or improve the UX, it'd be a mauvais ton not to reward them for their time and insights. A juicy discount on the subscription they're paying is low blood for you and definitely pleasant for them. If someone's spent their time to get through the tech maze to help you debug a pesky issue, why not show them your gratitude by giving a discount?

Even though Apple lets you only generate offer codes in batches of at least 500, Tokens lets you conveniently copy single codes, too.

We align with Apple on the importance of user experience, so we had to fix their totally monstrous "L4FNTF7MN8YYX6H6XY"-like codes. If you send a Tokens-wrapped code, your customer will get an easy-to-unwrap link, like this:

5. Cross-promote your apps

If you have multiple apps like us, there's literally no excuse not to leverage the existing user base to cross-sell your apps. I don't mean spam users of app A with app B until they purchase the latter. But it's pretty likely they love app A so much that they might be interested in purchasing more apps from you. You've already earned their trust. Leverage it. Make it as easy for them as possible to learn more about you and your other products.

We made this mistake ourselves. We used to market every app as an independent product. It's significantly harder than keeping them under an imaginary umbrella of company's brand. For us, it's the Gikken-first approach now. Maybe, my company is not the best-known example. Here's a better one: Playdate by Panic. When guys announced their funky yellow handheld crank-supercharged console, it became an instant hit even before pre-orders. Would it be such a hit if we announced and not Panic? I severely doubt so. More likely, people would think, "WTF, a Gameboy with a crank in 2020? You're nuts." Panic used their existing fan base very efficiently. Why start your marketing from scratch if you can use what you've been earning in the past years, and reduce your marketing cost and effort to almost zero...? Exactly, no reason. This concept is also called 1,000 True Fans, which I'm a true fan of.

Playdate got 45K Twitter followers in just 24 hours after the announcement.

What does it all have to do with offer codes? You can use them to reward existing subscribers of app A with, say, a 10% discount on your app B. Create a Tokens Offer, and embed a "Claim Discount" link to app A that'd open the link. Easy to top up and keep track of how many offer codes were used! Forge better relationships with your customers and win them as true fans.

Here's an example I personally like a lot on how to showcase your other products in app settings, taken from Kriss Smolka's HealthView:

Why Do I Need These Tokens of Yours If I Already Have App Store Connect?

It's surely up to you what to use, mate. Gikken ain't Facebook to force someone into something, after all. Using ASC in this case just feels like trying to code an iOS app in Assembler, though. Tokens way feels better than SwiftUI, sex, and cold beer altogether.

So you don't think I'm lying, here's how you do with via ASC: sign in → choose My Apps → choose an app → Manage In-App Purchases in the bottom left column → choose a subscription → click on + next to Subscription Prices → Create Offer Codes → go through a 6-step setup process. At the end, you'll get a .txt file with codes. Copy a code from the list, insert it and your app ID into the following link, so people can actually redeem it:

On the other hand, Tokens pairs with your Apple ID, so you don't have to re-login every time and have all your apps and subscriptions neatly organized in the sidebar. Select a subscription and click "Create an Offer." You set up an offer campaign once, and these settings will apply to all codes you add into it after that. For example, here's how easily I can create a Black Friday Giveaway campaign that will give my customers 50% off their first month:

And then I can add offer codes into my campaign. Tokens maxes out the expiry date at 180 days. Offer campaigns never expire. It means you can use up your limit of 150,000 codes per quarter, and next quarter add another 150K to the same offer campaign. Extremely handy if you want to keep that giveaway link continuously alive. Say, if you embedded it into your email automation, for example. Just keep adding new codes every quarter and you're covered.

Unlike with promo codes, you can only generate offer codes in batches of 500/1,000/etc. Apple's requirement—sorry, folks.

Tokens lets you share both single codes and the whole offer campaign. Either way, you'll get your codes wrapped in a link that's easy to redeem for your customers. If you decide to give away a lot of codes, you'll still get just one link that you can share with everyone—Tokens will carefully dispense codes, one per user.

And, here's my absolute favorite endorphins generator: redemption status and notifications. Tokens will notify you whenever a code gets redeemed. It's off by default because of the numerous nature of offer codes. We don't want to get you accidentally spammed with 500 notifications. Turn it on in preferences if you feel like knowing about every redemption.

That's it! If you want to give Tokens a try, you can download it here. Our free trial is time-unlimited and lets you generate, share, and track 500 offer codes and 10 regular promo codes.

Feel free to reach out to me/Gikken at or via Twitter with Qs or suggestions. I'm always happy to help fellow devs.

If my artsy wallpapers caught your attention, they're from our other app called Artpaper.

Disclaimer: the app that appears on all screenshots—Learn Spanish & French Verbs—is actually owned and developed by Kevin Quisquater who kindly gave us access for testing purposes. Neither he nor the app is affiliated with Gikken.