
The first one is believing promo codes get you App Store reviews. They cannot — Apple blocks it — and planning around that costs people their whole launch window.
You get 100 promo codes per app version, per platform, and they expire four weeks after you generate them. That is a small, perishable budget. Here is how it usually gets wasted.
This is the expensive one, because entire launch plans get built on it.
People who install your app with a promo code cannot rate or review it. Apple's own documentation says so directly: "customers can't rate or review the app." There is no follow-up email that unlocks it. If you have run this play and got nothing, you did not execute it badly — the option was never there.
Steam works out the same way: reviews from key activations are excluded from the review score, a rule Valve introduced precisely because free keys produced suspiciously positive reviews.
And where a review is technically possible — Apple Offer Codes create real subscribers, so those users can review — offering anything in exchange for one violates the guidelines regardless of whether you ask for a positive rating.
The fix: budget codes for users, feedback, and email addresses. Get reviews from your organic users with a well-timed in-app prompt, which is the mechanism that actually works.
Codes have a recognisable shape, and there are scripts watching X, Reddit, and Discord for exactly that pattern. They redeem in seconds. Posting an image does not help — OCR is trivial.
The fix: post a link, not a code. Put a bot challenge in front of the claim and hand codes out one at a time.
It does defeat scrapers. It also costs you an evening of copy-paste, leaves you no record of who got what, and rewards whoever happens to be awake in your timezone.
The fix: anything with a queue. The point is not automation for its own sake — it is that you end up with data and the people who missed out end up somewhere.
The most common version of this: a giveaway runs, the codes go, and you cannot name a single person who took one. No address, no way to tell them about v2.
Worse, the people who arrive after the codes run out — usually the majority of your traffic — hit a dead page. They are the ones who wanted it and got nothing, which makes them better future customers than the people you gave a free copy to.
The fix: capture the email at claim time, and keep the page collecting addresses after the last code goes.
The four-week clock starts at generation, not at redemption. Generate 100 codes on launch day, work through a press list over the following month, and the codes at the bottom of your list are dead on arrival. You will rarely be told — people just move on.
The fix: generate press and outreach codes the day you send them.
100 codes per version is not many. Burn all of them on a public giveaway in one afternoon and you have nothing left for a journalist who replies next week, or a creator who finally gets back to you.
The fix: decide the split before you start — some for the public giveaway, some held back for outreach and for people who ask directly. A version bump resets the allowance if you genuinely run out.
Judge it on: how many real people opened your app, what they told you when you asked a specific question, and how many addresses you now have for the next launch.
Not on reviews, and not on a chart position that resets by Thursday.
Promo Code Queue handles the gate, the one-per-person rule, and the email capture — including after the codes run out.
Marketing expert and growth strategist

Shipping has never been easier and validation has never been harder. If nobody has used your app, everything you believe about it is a guess — and the fastest way to stop guessing is to put it in real hands.

Your soft launch window is your best chance to build reviews and momentum before going global. Here's how to use promo codes to engineer a successful launch.

A Product Hunt launch can drive hundreds of downloads in a single day — but only if you convert that traffic. Here's how to use promo codes to turn upvotes into loyal, reviewing users.