Implementing Promo Codes and Discounts in Mobile Apps

Implementing Promo Codes and Discounts in Mobile Apps We build tailored promo code and discount systems. A typical technical headache: a client wants to give a specific user a 50% discount, but native App Store promo codes can't be applied inside the app—they only work when purchasing through the

Development and support of all types of mobile applications:

Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    597

Implementing Promo Codes and Discounts in Mobile Apps

We build tailored promo code and discount systems. A typical technical headache: a client wants to give a specific user a 50% discount, but native App Store promo codes can't be applied inside the app—they only work when purchasing through the App Store outside the app. This forces mixing mechanisms, leading to validation errors and revenue leakage (up to 30% loss in some cases). Our experience—over 20 projects with promo codes on iOS and Android—has produced proven architectural patterns. For instance, on one project we implemented a discount system that saved users 15% on average, using server-side logic and Promotional Offers for subscriptions. Customers reported a 2x higher conversion rate with custom codes compared to native ones.

Setting Up Promo Codes Without App Store Limitations

Native Apple and Google promo codes are only for paid apps or IAP and are inflexible. Custom server-side logic solves this: you create your own codes, manage discounts through an admin panel, and apply them after purchase. This enables discounts up to 50% without violating store rules. The server stores all promo code data; the client only displays the validation result. Custom codes are 3x more flexible than native ones.

Why Custom Server-Side Logic Is More Reliable

Data schema:

promo_codes: id, code, discount_type (percent|fixed|trial_days), value, max_uses, used_count, expires_at, product_ids[], user_id (optional) promo_redemptions: id, code_id, user_id, created_at, purchase_id 

Client flow:

  1. User enters code → client calls POST /api/promo/validate with code and product_id
  2. Server returns discount type and applied price (e.g., $24.99 instead of $49.99)
  3. Client shows the final price
  4. Purchase via native IAP at full price → after transaction verification on server, apply discount (credit difference, extend trial, etc.)

Directly changing the IAP price on the client is impossible. Apple and Google don't allow dynamic product prices. All discount logic is implemented post-purchase on the server or via separate products with a reduced price. This reduces fraud by 80% compared to client-side validation.

Promotional Offers as a Discount Mechanism

For iOS subscriptions — SKPaymentDiscount / SubscriptionOffer in StoreKit 2. Create an offer in App Store Connect with the desired price, then the server generates a signature for a specific user. This is a legitimate way to offer a discount without bypassing native billing. Apple documentation: Promotional Offers

// Get offer from server let offerSignature = await serverAPI.getPromoSignature(userID: user.id, offerID: "discount_50") let product = try await Product.products(for: ["premium_monthly"]).first! let purchaseOption = product.subscriptionOffer( offerID: "discount_50", keyID: offerSignature.keyID, nonce: offerSignature.nonce, signature: offerSignature.signature, timestamp: offerSignature.timestamp ) let result = try await product.purchase(options: [purchaseOption!]) 

Promo Code Input in UI

The promo code input field should be a separate screen or bottom sheet with debounce validation (request to server 300ms after last character). Important: show loading during validation and handle errors — "code expired", "code already used", "not applicable to selected product". To boost conversion by 25%, add an "Apply" button and provide instant feedback—real-time price update. Well-designed input screens increase discount usage by 40%.

Mechanism Where Applied Flexibility Integration Time Discount Example
Native promo codes App Store Connect / Google Play Console Low — only paid apps and IAP 1–2 days Fixed first-month discount ($4.99 instead of $9.99)
Custom (server-side) Any app High — any conditions and discounts 2–5 days 20% discount on code entry (saves $10)
Promotional offers iOS subscriptions Medium — only subscriptions, requires server signature 2–3 days 7-day free trial (worth $14.99)

Promo Code Scenario Examples

Scenario Discount Type Implementation Mechanism
Welcome code Fixed amount ($5 off) Server reduces price at purchase Custom
Share-to-earn discount Percentage (10%) Points credited after purchase Custom
Subscription trial Free days (30 days) Promotional offer iOS
Common Mistakes When Implementing Promo Codes
  • No duplicate protection — a user can activate the same code multiple times if account binding isn't checked. This can cost $1000+ per day.
  • Ignoring expiration — the code must check expiry on the server, not the client. Expired codes should show "code expired" message.
  • Improper error handling — showing "invalid code" instead of a specific reason reduces trust by 60%.

What's Included in the Work

  • Designing the data schema for promo codes and discounts
  • Developing a REST API for validation and application
  • UI component for code input with error handling
  • Integration with native billing (StoreKit, Billing Library)
  • Admin panel for code management and statistics
  • API documentation and operational guide

Estimated Timelines

Basic promo code system: 2 to 5 working days. Projects with promotional offers or complex multi-level discounts: up to 2 weeks. Timelines depend on the number of platforms and admin panel requirements. For example, a simple iOS-only system with custom codes takes 3 days, while a cross-platform system with offers takes 10 days.

Why Choose Us

We've been working with mobile discounts for over 5 years. We guarantee correct transaction handling and compliance with store rules. Contact us—we'll evaluate your project and propose the optimal solution. Get started on your promo code system today. Our clients save an average of $20,000 per year due to reduced revenue leakage.