# Introductory offer: ilmainen kokeilu iOS-tilaukseen

> Introductory offer on iOS-tilauksen alun ilmainen kokeilu tai alennettu hinta, kerran ryhmää ja Apple-tiliä kohden. Näin luot ja näytät sen.

Alkuperäinen sivu: [Introductory offer: ilmainen kokeilu iOS-tilaukseen](https://devoria.fr/fi/blog/introductory-offer-ilmainen-kokeilu-ios)
Kirjoittaja: [Mehdi Azizi](https://devoria.fr/fi/mehdi-azizi)
Julkaistu: 2026-11-04
Sisältö tarkistettu viimeksi: 2026-11-04


Introductory offer eli aloitustarjous on automaattisesti uusiutuvan tilauksen aloityshinta: ilmainen kokeilu, kertamaksu etukäteen tai maksu jakso kerrallaan. **Jokainen asiakas saa sen vain kerran tilausryhmää kohden**, joten sovelluksesi täytyy tarkistaa oikeus ennen kuin se kirjoittaa ruudulle "ilmainen kokeilu". Luot tarjouksen tilauksen hintasivulla, ja paywallin täytyy näyttää selvästi tarjouksen kesto ja sen jälkeen veloitettava hinta.

Solysissa ja TradaZenissa 7 päivän ilmainen kokeilu on vuositilauksessa. Viikkotilauksessa sitä ei ole. Käyn läpi kolme tarjoustyyppiä, kenellä on niihin oikeus, tarjouksen luomisen ja lopuksi kaksi virhettä, jotka tein näyttämisessä. Termi "lanseeraustarjous" tarkoittaa usein samaa asiaa, myös oppaassani [paywallin virheistä](https://devoria.fr/fi/blog/ios-paywall-aloittelijan-virheet-myynti).

## Mikä on introductory offer?

[App Store Connectin ohje](https://developer.apple.com/help/app-store-connect/manage-subscriptions/set-up-introductory-offers-for-auto-renewable-subscriptions/) määrittelee sen tilauksen ensimmäisen jakson alennetuksi hinnaksi tai ilmaiseksi kokeiluksi, joka on voimassa rajatun ajan. Se koskee vain automaattisesti uusiutuvia tilauksia. Tarjouksen päätyttyä tilaus uusiutuu normaaliin hintaan, ellei käyttäjä peru sitä ennen.

Tarjous näkyy App Store -sivullasi niille, joilla on siihen oikeus. Ostettaessa **Apple soveltaa sitä automaattisesti, jos käyttäjällä on siihen oikeus**. Sinun tehtäväsi on olla lupaamatta ruudulla tarjousta, jota Apple ei myönnä.

## Aloitustarjousten kolme tyyppiä

[StoreKitin dokumentaatio](https://developer.apple.com/documentation/storekit/implementing-introductory-offers-in-your-app) kuvaa kolme maksutapaa. Tässä jokainen keksityllä esimerkillä: vuositilaus 39,99 € ja kuukausitilaus 6,99 €, jotka eivät ole minkään sovellukseni hintoja.

| Tyyppi                 | Keksitty esimerkki  | Maksetaan alussa   | Sen jälkeen |
| ---------------------- | ------------------- | ------------------ | ----------- |
| Ilmainen kokeilu       | 7 päivää ilmaiseksi | 0 €                | 39,99 €/v   |
| Maksu etukäteen        | 3 kk hintaan 9,99 € | 9,99 € kerran      | 39,99 €/v   |
| Maksu jakso kerrallaan | 2,99 €/kk, 3 kk     | 2,99 € kuukaudessa | 6,99 €/kk   |

Ja tässä, mitä ruudulla pitää lukea kunkin kohdalla, samoilla keksityillä hinnoilla:

- **Ilmainen kokeilu**: "7 päivää ilmaiseksi, sitten 39,99 € vuodessa." Kokeilun aikana tilaus on jo alkanut, mutta mitään ei veloiteta ennen sen loppua.
- **Maksu etukäteen**: "9,99 € kolmelta ensimmäiseltä kuukaudelta, sitten 39,99 € vuodessa." Käyttäjä maksaa kerran koko alennetun jakson.
- **Maksu jakso kerrallaan**: "2,99 € kuukaudessa 3 kuukauden ajan, sitten 6,99 € kuukaudessa." Alennettu hinta toistuu joka jaksolla.

**Kaikissa kolmessa tapauksessa lauseessa on hinta, joka veloitetaan tarjouksen jälkeen.**

## Kenellä on oikeus aloitustarjoukseen?

Applen ohje on selvä: yksi tarjous per tilaus, mutta vain yksi aloitustarjous per käyttäjä ja tilausryhmä. StoreKitin dokumentaatio tarkentaa kolme tapausta:

- **uudella tilaajalla** on aina oikeus;
- **palaavalla entisellä tilaajalla** on oikeus, jos hän ei ole koskaan käyttänyt aloitustarjousta tässä ryhmässä;
- **nykyisellä tilaajalla** ei ole oikeutta, vaikka hän vaihtaisi tilausta saman ryhmän sisällä.

Oikeus seuraa maksavaa Apple-tiliä, ei iPhonea eikä sovelluksessasi luotua tiliä. Jos joku on kokeillut, perunut ja asentanut sovelluksen uudelleen, hänellä ei ole enää oikeutta. Tuote kuitenkin mainostaa yhä tarjoustaan: tästä harhaanjohtava näyttäminen syntyy.

Suora seuraus: **viikkotilauksen kokeilu kuluttaisi oikeuden vuositilauksen kokeiluun**, koska molemmat ovat samassa ryhmässä. Siksi kokeiluni ovat vain vuositilauksessa.

Toinen rajoitus: maata kohden voi olla yksi käynnissä oleva aloitustarjous ja yksi tuleva. Jos kaksi tarjousta menee päällekkäin, viimeksi luotu korvaa toisen. Heinäkuussa 2026 halusin TradaZenin vuositilaukseen sekä alennetun hinnan että ilmaisen kokeilun. Vain yksi tarjous kerrallaan: joko tai. Lopulta loin toisen, halvemman vuositilauksen, jossa kokeilu on.

## Tarjouksen luominen App Store Connectissa

Tarvitset roolin Account Holder, Admin, App Manager tai Marketing. Nimikkeet ovat Applen ohjeesta:

1. Avaa Apps-kohdasta sovelluksesi ja sitten sivupalkista Subscriptions.
2. Valitse ryhmä ja sitten tilaus.
3. Klikkaa Subscription Prices -osiossa View all Subscription Pricing ja sitten Set up Introductory Offer.
4. Valitse maat tai alueet sekä alkamis- ja päättymispäivä. Jos aloitat tänään, tarjous alkaa heti.
5. Valitse Free, Pay up front tai Pay as you go, sitten kesto ja hinta.
6. App Store Connect ehdottaa vastaavia hintoja 175 maahan. Säädä niitä tarvittaessa ja vahvista.

**Luotua tarjousta ei voi enää muokata**: jos haluat muuttaa sen kestoa tai hintaa, poista se Introductory Offers -välilehdellä ja luo uudelleen. Muutoksen näkyminen sandboxissa voi kestää jopa tunnin. [RevenueCatin dokumentaatio](https://www.revenuecat.com/docs/subscription-guidance/subscription-offers) neuvoo myös odottamaan jopa 24 tuntia ennen kuin päättelet, ettei tarjous toimi.

## Mahdolliset kestot

Ilmainen kokeilu kestää 3 päivää, 1 tai 2 viikkoa, 1, 2, 3 tai 6 kuukautta tai 1 vuoden, tilauksen kestosta riippumatta. Etukäteismaksu kattaa 1, 2, 3 tai 6 kuukautta tai 1 vuoden. Jakso kerrallaan maksettava riippuu tilauksen kestosta:

| Tilaus      | Jakso kerrallaan            |
| ----------- | --------------------------- |
| 1 viikko    | 1-12 viikkoa                |
| 1 kuukausi  | 1-12 kuukautta              |
| 2 kuukautta | 2-12 kuukautta, 2 kk välein |
| 3 kuukautta | 3, 6, 9 tai 12 kuukautta    |
| 6 kuukautta | 6 tai 12 kuukautta          |
| 1 vuosi     | 1 vuosi                     |

Sovelluksissani valitsin 7 päivää vuositilaukseen. Se ei ole Applen sääntö vaan tuotevalinta, joka kannattaa tarkistaa omien mittaustesi perusteella.

## Näytä kokeilu vain niille, joilla on siihen oikeus

Apple sanoo saman ohjesivun lopussa: jos näytät tarjouksen sovelluksessa, varmista, että käyttäjä voi todella hyödyntää sitä. **Kysy koodiltasi kaksi kysymystä**: onko tuotteessa ilmainen kokeilu, ja onko tällä käyttäjällä vielä oikeus siihen?

Ensimmäisen vastauksen saat tuotteesta. Huomaa, ettei aloitustarjous ole välttämättä ilmainen. TradaZenissa tavallisessa vuositilauksessa oli etukäteismaksu, halvempi ensimmäinen vuosi, ja kokeilu oli toisessa vuositilauksessa. Molemmat näkyvät "aloitustarjouksena". Koodini lukee siis tarjouksen hinnan: nolla tarkoittaa kokeilua, sitä suurempi maksullista tarjousta.

Toinen kysymys esitetään kaupalle. Swiftissä StoreKit 2 tarjoaa [isEligibleForIntroOffer](https://developer.apple.com/documentation/storekit/product/subscriptioninfo/iseligibleforintrooffer)-arvon iOS 15:stä alkaen. Apple tarkentaa, että arvo voi olla tosi, vaikka tarjousta ei olisi määritetty: siksi ensimmäinen kysymys. Expo-sovelluksessa RevenueCatin kanssa käytät `checkTrialOrIntroductoryPriceEligibility`-funktiota, joka palauttaa oikeutettu, ei oikeutettu, ei tarjousta tai tuntematon. Tässä periaate TypeScriptillä:

```ts
import Purchases, {
  INTRO_ELIGIBILITY_STATUS as S,
  type PurchasesStoreProduct,
} from "react-native-purchases";

type Essai = "oui" | "non" | "doute";

export async function essaiGratuit(p: PurchasesStoreProduct): Promise<Essai> {
  if (!p.introPrice || p.introPrice.price > 0) return "non";
  try {
    const r = await Purchases.checkTrialOrIntroductoryPriceEligibility([
      p.identifier,
    ]);
    const statut = r[p.identifier]?.status;
    if (statut === S.INTRO_ELIGIBILITY_STATUS_ELIGIBLE) return "oui";
    if (statut === S.INTRO_ELIGIBILITY_STATUS_INELIGIBLE) return "non";
    if (statut === S.INTRO_ELIGIBILITY_STATUS_NO_INTRO_OFFER_EXISTS)
      return "non";
    return "doute";
  } catch {
    return "doute";
  }
}
```

"Epävarma" (`"doute"`) on se varsinainen kysymys. RevenueCat kuvaa tarkistustaan parhaaksi arvioksi, ja Applen maksuikkuna näyttää joka tapauksessa todelliset ehdot ennen vahvistusta. Tuntemattoman tilan kohdalla RevenueCat neuvoo näyttämään normaalin hinnan, jotta ketään ei johdeta harhaan.

Ongelman toisen puolen opin TradaZenissa. Ensimmäinen versio tulkitsi lukuvirheen kieltäväksi vastaukseksi: käyttäjät, joilla oli oikeus kokeiluun, eivät nähneet sitä. Nykyään sovellukseni poistavat kokeilun vain kaupan selvällä kiellolla, eli ei oikeutettu tai ei tarjousta. Epävarmassa tilanteessa tuotteen näyttö säilyy. **Tämä on harkintakysymys, ei RevenueCatin suositus**: jos haluat varovaisemman linjan, seuraa heidän neuvoaan. Kummassakin tapauksessa älä koskaan sekoita "en tiedä" ja "ei" keskenään.

Jos käytät RevenueCatin paywalleja, jokaisesta tekstistä voi olla versio tarjoukseen oikeutetuille, heidän [tarjoussivunsa](https://www.revenuecat.com/docs/tools/paywalls/creating-paywalls/supporting-offers) mukaan. Loput kokoonpanosta löytyy oppaastani [RevenueCat iOS-tilaukseen](https://devoria.fr/fi/blog/revenuecat-tilaus-ios-sovellus).

## Mitä 3.1.2 vaatii ruudulla

[Guideline 3.1.2(a)](https://developer.apple.com/app-store/review/guidelines/#3.1.2a) sallii tilauksen ilmaisen kokeilun, kunhan annat App Store Connectin edellyttämät tiedot. [Applen tilaussivu](https://developer.apple.com/app-store/subscriptions/) tarkentaa: kerro kokeilun ostopolussa selvästi sen kesto ja lopussa veloitettava hinta. Veloitettavan summan täytyy myös olla ruudun näkyvin hintaelementti.

Solysin 10. lokakuuta 2026 saama hylkäys sanoi sen: ilmainen kokeilu, lanseeraushinta ja lasketut hinnat on pidettävä veloitettavaa summaa vähäisempinä. **Kokeilusta saa kertoa, mutta sen jälkeen veloitettavan hinnan täytyy olla ruudun luettavin hinta.** Molemmat hylkäykset ja niiden korjaus ovat oppaassani [guideline 3.1.2:sta](https://devoria.fr/fi/blog/guideline-3-1-2-sovellus-hylatty-tilaus).

Myös päinvastainen virhe on olemassa: kokeilun tarjoaminen kertomatta siitä. Aikoinaan paywallieni painikkeissa luki "Jatka". Solysissa "7 päivää ilmaiseksi" oli jopa vain VoiceOver-nimikkeessä, ei näkyvänä tekstinä.

## Tarjouksen testaaminen sandboxissa

Osta tilaus sandbox-tilillä: kokeilun pitää näkyä Applen maksuikkunassa. Jos haluat toistaa uuden tilaajan polun, valitse iPhonen sandbox-tilin asetuksista Clear Purchase History. [Applen sandbox-dokumentaation](https://developer.apple.com/documentation/storekit/testing-in-app-purchases-with-sandbox) mukaan tili on sen jälkeen taas oikeutettu aloitustarjouksiin.

Testaa myös tili, joka on jo käyttänyt kokeilun: paywallisi ei saa enää luvata mitään ilmaista. Jos tuote ei lataudu ollenkaan, lue oppaani [Missing Metadata](https://devoria.fr/fi/blog/missing-metadata-app-store-connect-tilaus) -tilasta.

## Kytke ilmainen kokeilu ilman virheitä

[iOS & Android Kit](https://devoria.fr/fi/kits/ios) perustuu sovellusteni pohjakoodiin: onboarding, paywall ja tilaukset on jo koodattu, ja sen kolmas vaihe, "kytke raha", opastaa sinut tuotteiden ja kokeilun asetuksissa. Koko ketju on kuvattu sivulla [iOS-sovelluksen sisäinen tilaus](https://devoria.fr/fi/expertise/ios-sovelluksen-sisainen-tilaus). Jos mietit vielä mallia, aloita oppaasta [tilaus vai kertaosto](https://devoria.fr/fi/blog/tilaus-vai-kertaosto-ios-sovellus).

Jos valmistelet ensimmäistä julkaisuasi, [tee ilmainen diagnoosi](https://devoria.fr/fi/diagnostic): se järjestää vaiheet oikeaan järjestykseen ja lähettää sinulle tarkistuslistani Applen hylkäysten välttämiseen. Jos haluat antaa kuukauden ilmaiseksi tai houkutella entisen tilaajan takaisin, jatko on oppaassani [tarjouskoodeista](https://devoria.fr/fi/blog/offer-koodit-app-store-connect-promokoodi).

## Usein kysytyt kysymykset

### Mikä on introductory offer App Storessa?

Se on automaattisesti uusiutuvan tilauksen aloitushinta: ilmainen kokeilu, kertamaksu etukäteen tai maksu jakso kerrallaan. Se luodaan App Store Connectissa, ja Apple soveltaa sitä ostettaessa automaattisesti oikeutetuille käyttäjille. Sen jälkeen tilaus siirtyy normaaliin hintaan.

### Voiko käyttäjä saada kaksi ilmaista kokeilua?

Ei samassa tilausryhmässä: vain yksi aloitustarjous ryhmää ja Apple-tiliä kohden. Sovelluksen uudelleenasennus ei palauta oikeutta. Jos hän kuitenkin tilaa sovelluksesi toisesta ryhmästä, hän voi hyödyntää sen ryhmän tarjousta.

### Voiko ilmaisen kokeilun ja alennuksen yhdistää?

Ei samassa tilauksessa samaan aikaan: vain yksi käynnissä oleva aloitustarjous maata kohden. Voit luoda toisen tilauksen, jossa on toinen tarjous, tai käyttää tarjouskoodia, joka voi asetuksistasi riippuen jatkua aloitustarjouksen perään.

### Tarvitaanko sovelluksesta uusi versio kokeilun lisäämiseksi?

Itse tarjousta varten ei: se määritetään App Store Connectissa ja sovelletaan ostettaessa. Mutta jos paywallisi kirjoittaa "7 päivää" suoraan koodiin, se täytyy päivittää. Lue kesto kaupan palauttamasta tuotteesta, niin ruutu seuraa perässä.

### Onko entisellä tilaajalla oikeus ilmaiseen kokeiluun?

On, jos hän ei ole koskaan käyttänyt aloitustarjousta tässä tilausryhmässä. Jos hän on jo hyödyntänyt sen, oikeutta ei enää ole, ei edes kuukausia myöhemmin. Takaisin houkuttelemiseen Apple tarjoaa win-back-tarjoukset ja promotional offers -tarjoukset.


## Projektisi

[iOS & Android Kit](https://devoria.fr/fi/kits/ios): Tee iPhone- ja Android-sovelluksesi Claude Codella: sovellusteni pohjakoodi, polku kauppoihin asti ja kaikki kitit. 99 €.

[Diagnoosi: mikä erottaa sinut omasta iPhone-sovelluksestasi](https://devoria.fr/fi/diagnostic): 7 kysymystä, 60 sekuntia: tiedät, mikä oikeasti estää sinua julkaisemasta iPhone-sovellustasi, saat 4 vaiheen polkusi ja sinulle sopivan kitin.
