Duplicate and edit campaign content in one click
Duplicate and Edit now skips the app picker and jumps straight to editing the new copy's content.
A promo code is a redeemable string that grants a subscriber a specific discount or free period, distributed outside the app and applied at purchase or in the store's redemption flow.
Codes exist because some offers have to reach people who are not in the app. A lapsed subscriber reading an email, a listener hearing a host read a URL, a frustrated customer on a support call: none of them can be targeted by a paywall, and all of them can be handed a string.
Mechanically the stores keep this narrow. Codes are generated per product, in batches with fixed terms, either as one-time strings or as a single reusable code with a cap, and redemption happens in the store’s own flow rather than in the app’s. Eligibility differs from an introductory offer in the way that matters most: codes can be aimed at subscribers who already bought and left, which is what makes them the mechanism behind most win-back programs. The offer code setup guide covers the store-side steps; the decisions worth arguing about are upstream of them.
The failure mode is not technical. It is a code with no expiry and no audience, posted somewhere public, quietly becoming the price. Any code that reaches an open channel is the new list price for anyone who searches for one, and coupon aggregators search. Keeping that from happening means treating every batch as a campaign with a defined audience, a window, and a redemption target it will be measured against, then reading what those redeemers did afterward rather than counting redemptions and stopping. A code that fills a month with subscribers who churn at renewal cost more than it earned. Coordinating the batch, the audience, and the window is what Campaigns handles, and it is also where the code stops being an untracked string in someone’s spreadsheet.
Skip engineering to design, test, and optimize subscription journeys across web, mobile, and CTV.