# Offer codes App Store Connect: jak stworzyć kod promocyjny

> Od marca 2026 offer codes zastępują kody promocyjne zakupów w aplikacji: kody jednorazowe lub własne, realizowane przez link, App Store albo w aplikacji.

Oryginalna strona: [Offer codes App Store Connect: jak stworzyć kod promocyjny](https://devoria.fr/pl/blog/offer-codes-app-store-connect-kod-promocyjny)
Autor: [Mehdi Azizi](https://devoria.fr/pl/mehdi-azizi)
Publikacja: 2026-11-04
Ostatnia aktualizacja treści: 2026-11-04


W App Store Connect kod promocyjny na subskrypcję albo zakup w aplikacji nazywa się dziś kodem oferty, czyli offer code. **Od 26 marca 2026 Apple nie pozwala już tworzyć kodów promocyjnych dla zakupów w aplikacji**: służą one tylko do podarowania pobrania płatnej aplikacji. Tworzysz ofertę na swój produkt, a potem kody jednorazowe albo kod własny. Użytkownik realizuje go przez link, w App Store albo bezpośrednio w twojej aplikacji.

Moje aplikacje są darmowe do pobrania i sprzedają subskrypcje: kody promocyjne aplikacji nic mi nie dają. Dlatego w kodzie TradaZen program poleceń nagradza kodem oferty, a aplikacja sama otwiera realizację kodu. Oto co się zmieniło, tabela ofert Apple, tworzenie kodów, ich realizacja, a na koniec to, czego zabrania reguła 3.1.1.

## Kody promocyjne i kody ofert: co zmieniło się w 2026

Apple ogłosiło to 29 października 2025 w swoich [aktualnościach dla deweloperów](https://developer.apple.com/news/?id=gf6mgrs6): kody ofert obejmują teraz wszystkie zakupy w aplikacji. Do subskrypcji odnawianych automatycznie dochodzą produkty konsumpcyjne, niekonsumpcyjne i subskrypcje nieodnawialne. W efekcie od 26 marca 2026 nie możesz już utworzyć kodu promocyjnego dla zakupu w aplikacji. Te utworzone wcześniej działają do momentu wygaśnięcia.

Kody promocyjne aplikacji wciąż istnieją. Według [pomocy App Store Connect](https://developer.apple.com/help/app-store-connect/offer-promo-codes/request-and-manage-promo-codes/) dają darmową kopię płatnej aplikacji. Każdy kod działa raz i jest ważny cztery tygodnie. Możesz poprosić o maksymalnie 100 na wersję i na platformę, w sekcji Promo Codes na pasku bocznym aplikacji. Osoba, która go użyje, nie może ani ocenić, ani zrecenzować aplikacji.

**W przypadku darmowej aplikacji sprzedającej subskrypcję kod promocyjny aplikacji nic nie daje**: podarować trzeba subskrypcję, za pomocą kodu oferty.

## Oferty Apple: dla kogo i jak się je dostaje

Oto oferty Apple związane z subskrypcją, plus kod promocyjny aplikacji, w tabeli, którą trzymam pod ręką przy wyborze:

| Typ oferty               | Dla kogo                     | Jak się ją dostaje               |
| ------------------------ | ---------------------------- | -------------------------------- |
| Oferta wprowadzająca     | Nowi subskrybenci grupy      | Automatycznie przy zakupie       |
| Jednorazowy kod oferty   | Konkretna osoba              | Link, App Store lub aplikacja    |
| Kod własny               | Kampania, grupa odbiorców    | Link lub wpisanie w aplikacji    |
| Oferta promocyjna        | Obecni lub byli subskrybenci | Proponowana przez aplikację      |
| Oferta win-back          | Byli subskrybenci            | Ustawienia, App Store, aplikacja |
| Kod promocyjny aplikacji | Tylko płatna aplikacja       | Wpisanie w App Store             |

**Kody ofert są stworzone do tego, żebyś to ty je rozdawał, poza aplikacją**: mailem, na swojej stronie, na wydarzeniu, twórcy treści. Pozostałe oferty wyświetlają się głównie same albo w twojej aplikacji, według reguł, które ustalisz. Oferta wprowadzająca, czyli ta z darmowym okresem próbnym, ma osobny poradnik: [introductory offer i darmowy okres próbny](https://devoria.fr/pl/blog/introductory-offer-app-store-darmowy-okres-probny-ios).

## Tworzenie kodów ofert dla subskrypcji

Procedura z [pomocy o kodach ofert subskrypcji](https://developer.apple.com/help/app-store-connect/manage-subscriptions/set-up-subscription-offer-codes/) ma dwa etapy: oferta, potem kody. Nazwy pochodzą z pomocy Apple.

**1. Oferta.** W Subscriptions otwórz grupę, a potem subskrypcję. W Subscription Prices kliknij przycisk plus, potem Create Offer Codes. Następnie:

- nadaj nazwę referencyjną, którą zobaczysz w raportach sprzedaży;
- wybierz, czy subskrypcja odnawia się po zakończeniu oferty; bez odnowienia możliwa jest tylko oferta darmowa;
- zaznacz uprawnione osoby: nowi subskrybenci, obecni subskrybenci, byli subskrybenci grupy;
- jeśli subskrypcja ma ofertę wprowadzającą, wybierz, czy użytkownik najpierw z niej skorzysta, przed ofertą z kodu, czy tylko z kodu;
- wybierz kraje, potem darmowo, płatność z góry albo płatność na bieżąco, z czasem trwania i ceną.

Utworzonej oferty nie da się już edytować. Żeby zmienić uprawnienia, utwórz nową ofertę.

**2. Kody.** Dwa typy, generowane ze strony oferty:

- **Kody jednorazowe**: jeden kod na osobę, tworzone w partiach od 500 do 25 000. Wygasają najpóźniej sześć miesięcy po utworzeniu. Pobierasz plik z kodami i ich linkami.
- **Kody własne**: słowo, które sam wybierasz, do 64 znaków bez znaków specjalnych, na przykład WRZESIEN (fikcyjny przykład). Ustalasz, ile osób może go użyć, do 25 000 na partię, i opcjonalną datę końcową.

Wspólne limity: milion kodów na aplikację na kwartał, dziesięć aktywnych ofert na subskrypcję, jeden kod na ofertę na osobę. Kod może potrzebować do godziny, zanim zacznie działać. A przede wszystkim **twoja aplikacja musi być w sprzedaży, żeby kody dało się zrealizować**: nie możesz podarować subskrypcji przed premierą.

Do testów Apple przewiduje kody sandbox, od 10 do 10 000 na partię, realizowane w ustawieniach konta sandbox na iOS 16.3 lub nowszym.

## Kody ofert dla jednorazowego zakupu lub kredytów

Strona o [kodach ofert dla zakupów w aplikacji](https://developer.apple.com/help/app-store-connect/manage-in-app-purchases/create-offer-codes-for-in-app-purchases/) działa według tej samej logiki. W In-App Purchases otwórz zakup, potem Create Offer w sekcji Offer Codes. Uprawnienia opierają się na historii zakupów w twojej aplikacji: nigdy nie kupił, kupił w ciągu ostatnich 30 dni albo ponad 30 dni temu. Oferta jest darmowa lub płatna.

Żeby wygenerować kody, aplikacja musi być w sprzedaży, a zakup zatwierdzony. Aplikacja może mieć maksymalnie dziesięć aktywnych ofert naraz. Realizacja w aplikacji wymaga iOS 16.3 lub nowszego.

## Jak użytkownik realizuje kod

[Dokumentacja StoreKit](https://developer.apple.com/documentation/storekit/supporting-offer-codes-in-your-app) opisuje trzy drogi:

1. **Link do realizacji.** App Store Connect podaje przykładowy link na stronie oferty, do którego dodajesz kod. Jeśli aplikacja nie jest zainstalowana, użytkownik najpierw zobaczy zachętę do jej pobrania.
2. **App Store.** Kod jednorazowy wpisuje się na stronie Redeem Gift Card or Code w koncie. Kod własny przechodzi natomiast przez link albo przez twoją aplikację.
3. **Twoja aplikacja.** W Swifcie to `offerCodeRedemption` w SwiftUI albo `presentOfferCodeRedeemSheet` w UIKit. Z RevenueCat w aplikacji Expo to `presentCodeRedemptionSheet`.

[Dokumentacja RevenueCat](https://www.revenuecat.com/docs/subscription-guidance/subscription-offers/ios-subscription-offers) podaje format linku: `https://apps.apple.com/redeem?ctx=offercodes&id={apple_app_id}&code={code}`. Ostrzega też, że arkusz realizacji Apple od premiery okazywał się bardzo niestabilny, i proponuje link jako zapas. Oto zasada, w TypeScripcie:

```ts
import { Linking } from "react-native";
import Purchases from "react-native-purchases";

const PAGE_ECHANGE = "https://apps.apple.com/redeem";

export async function echangerUnCode(): Promise<void> {
  try {
    await Purchases.presentCodeRedemptionSheet();
  } catch {
    await Linking.openURL(PAGE_ECHANGE); // zapas, gdy arkusz zawiedzie
  }
}
```

Arkusz nie zwraca żadnego wyniku. Uprawnienie przychodzi potem jak po zakupie, przez listener `addCustomerInfoUpdateListener`, który twoja aplikacja już ma. Żeby RevenueCat poprawnie liczył przychód z tych kodów, potrzebuje twojego klucza In-App Purchase.

Tak to przygotowałem w kodzie TradaZen. Żeby użyć nagrody za polecenie, aplikacja otwiera link z już uzupełnionym kodem: to pewniejsze niż arkusz, w którym trzeba by przepisać kod. Żeby wpisać otrzymany kod, otwiera natywny arkusz, a w zapasie stronę realizacji w App Store. **Kod, o którym użytkownik nie wie, gdzie go wpisać, jest bezużyteczny**: strona konta App Store jest głęboko schowana i nic jej nie wskazuje. Przycisk „Mam kod” w twojej aplikacji to rozwiązuje.

## Oferty promocyjne i win-back w skrócie

Te dwie oferty nie przechodzą przez kody, które rozdajesz, ale odpowiadają na tę samą potrzebę: odzyskać albo zatrzymać subskrybenta.

**Oferta promocyjna** jest skierowana do obecnych lub byłych subskrybentów. To ty decydujesz w aplikacji, kiedy ją pokazać, na przykład komuś, kto zaraz zrezygnuje. Według [pomocy o ofertach promocyjnych](https://developer.apple.com/help/app-store-connect/manage-subscriptions/set-up-promotional-offers-for-auto-renewable-subscriptions/) możesz mieć dziesięć aktywnych na subskrypcję. Działają we wszystkich krajach subskrypcji, a użytkownik ma do nich prawo, nawet jeśli już skorzystał z oferty wprowadzającej. Do podpisania oferty potrzebny jest klucz In-App Purchase.

**Oferta win-back** jest skierowana do byłych subskrybentów. [Pomoc o ofertach win-back](https://developer.apple.com/help/app-store-connect/manage-subscriptions/set-up-win-back-offers/) opisuje kryteria: minimalny czas opłaconej subskrypcji, czas od jej zakończenia, odstęp między dwiema ofertami. Apple samo wyświetla ją na stronie zarządzania subskrypcjami, a w twojej aplikacji na iOS 18 lub nowszym. Generuje też link do udostępnienia, który wysyłaj tylko uprawnionym osobom. Żeby pojawiła się w App Store, trzeba ją promować zatwierdzonym obrazem subskrypcji, który nie powtarza ani ikony, ani zrzutów ekranu. Piszę o tym w poradniku o [obrazie promocyjnym subskrypcji](https://devoria.fr/pl/blog/guideline-2-3-2-obraz-promocyjny-subskrypcji).

## Czego zabrania reguła 3.1.1

[Guideline 3.1.1](https://developer.apple.com/app-store/review/guidelines/#3.1.1) wymaga zakupu w aplikacji do odblokowania funkcji lub treści. Zabrania własnych mechanizmów, takich jak klucze licencyjne czy kody QR. **Wymyślony przez ciebie kod, wpisywany w polu twojej aplikacji, żeby odblokować premium, naraża cię na odrzucenie 3.1.1**, nawet jeśli jest darmowy. Kody ofert Apple przechodzą natomiast przez zakup w aplikacji. Pełna reguła jest w moim poradniku o [guideline 3.1.1](https://devoria.fr/pl/blog/guideline-3-1-1-zakup-w-aplikacji-obowiazkowy).

Jeszcze jedno, w kwestii poleceń: [guideline 5.1.2](https://developer.apple.com/app-store/review/guidelines/#5.1.2) zabrania wymagania włączenia powiadomień, lokalizacji czy śledzenia w zamian za nagrodę, łącznie z kodami. Nagroda nie może więc zależeć od tych uprawnień. Szczegóły są w poradniku o [guideline 5.1.2](https://devoria.fr/pl/blog/guideline-5-1-2-ai-att-udostepnianie-danych).

## Jak podarować subskrypcję właściwym narzędziem

Przed premierą, żeby dać komuś darmowo wypróbować aplikację, użyj [TestFlight](https://devoria.fr/pl/blog/testflight-testowanie-aplikacji-iphone): zakupy idą tam przez środowisko testowe, bez obciążenia. Po premierze używaj kodów ofert. Konfiguracja samej subskrypcji jest w [RevenueCat dla subskrypcji iOS](https://devoria.fr/pl/blog/revenuecat-subskrypcja-in-app-ios).

[iOS & Android Kit](https://devoria.fr/pl/kits/ios) bazuje na kodzie startowym moich aplikacji: onboarding, paywall i subskrypcje są już zakodowane, a jego trzeci etap, „podłącz pieniądze”, prowadzi cię przez ich konfigurację. Cały łańcuch jest na stronie [subskrypcja in-app iOS](https://devoria.fr/pl/expertise/subskrypcja-w-aplikacji-ios). Jeśli przygotowujesz swoją pierwszą premierę, [zrób darmową diagnozę](https://devoria.fr/pl/diagnostic): ułoży etapy w kolejności i wyśle ci moją checklistę przeciw odrzuceniom Apple.

## Najczęściej zadawane pytania

### Jak wygenerować kod promocyjny w App Store Connect?

Dla płatnej aplikacji otwórz Promo Codes na pasku bocznym aplikacji: do 100 kodów na wersję, ważnych cztery tygodnie. Dla subskrypcji lub zakupu w aplikacji utwórz ofertę na produkt, przez Create Offer Codes albo Create Offer, a potem wygeneruj kody jednorazowe lub kod własny.

### Czym różni się kod promocyjny od kodu oferty?

Kod promocyjny daje pobranie płatnej aplikacji. Kod oferty daje subskrypcję lub zakup w aplikacji, za darmo albo w obniżonej cenie, na wybrany czas. Od 26 marca 2026 dla zakupu w aplikacji można tworzyć tylko kody ofert.

### Ile kodów ofert można utworzyć?

Do miliona na aplikację na kwartał, łącznie dla wszystkich produktów. Kody jednorazowe tworzy się w partiach od 500 do 25 000, a kod własny przyjmuje do 25 000 użyć na partię. Subskrypcja może mieć maksymalnie dziesięć aktywnych ofert naraz.

### Czy można użyć kodu oferty przed premierą aplikacji?

Nie: aplikacja musi być w sprzedaży, żeby kody dało się zrealizować. Przed premierą używaj TestFlight dla testerów, a kodów sandbox do testowania realizacji w aplikacji.

### Czy obecny subskrybent może użyć kodu oferty?

Tak, jeśli zaznaczyłeś obecnych subskrybentów w uprawnieniach oferty. [Strona Apple o subskrypcjach](https://developer.apple.com/app-store/subscriptions/) precyzuje, że może on zrealizować tylko kod tego samego poziomu co jego subskrypcja lub wyższego.

### Gdzie użytkownik wpisuje kod oferty?

Przez link do realizacji, na stronie Redeem Gift Card or Code w swoim koncie App Store w przypadku kodu jednorazowego, albo w twojej aplikacji, jeśli dodałeś do niej arkusz realizacji. Kod własny przechodzi przez link albo przez aplikację.


## Twój projekt

[iOS & Android Kit](https://devoria.fr/pl/kits/ios): Stwórz swoją aplikację na iPhone'a i Androida z Claude Code: kod startowy moich aplikacji, droga aż do sklepów i wszystkie kity. 439 zł.

[Diagnoza: co dzieli cię od twojej aplikacji na iPhone'a](https://devoria.fr/pl/diagnostic): 7 pytań, 60 sekund: wiesz, co naprawdę blokuje publikację twojej aplikacji na iPhone'a, masz plan w 4 krokach i kit dopasowany do ciebie.
