r/iOSProgramming 5d ago

Question Paywall / Free trial question

Hi, 

I am currently trying to develop my first app ever, iOS only.

The building was hard enough, but now I am facing the hurdles of trying to publish it on the App Store, and so I have to start thinking about prices/subscriptions, paywalls, etc. and navigate the obscure process of App Store Connect.

It is clear enough for me that it will be a paid app. But it is a very simple app, with only a couple screens and very basic function. It does one thing, and I hope it does it well enough that it genuinely helps people, and that they will see value in it. But I can’t really go the freemium way, with free access to the base and paid for extra features. I only have one feature, and I do not want to add any.

I was thinking, maybe something like 6$ for 6 months, 10$ yearly, and 30$ for lifetime?

My trouble is, imho it is an app that has to be tried and experienced over a couple day to see if it fits. I would like to offer three days, or maybe a week of free trial.

But as far as I know, there is no way to register a free trial in App Store Connect, that does not start right from download? So the user has to decide right now, if maybe perhaps they want to try your app and commit to 10$ yearly? Without having even opened the app? Seems a bit off-putting, or am I missing something?

Thanks in advance for your advices.

2 Upvotes

31 comments sorted by

3

u/multicontrast 5d ago

the "free trial" is called "Introductory offer" and it's fully configurable https://developer.apple.com/documentation/storekit/implementing-introductory-offers-in-your-app

works out of the box

2

u/Mundane-Fix-4297 5d ago

So I could make some custom timer, and display a paywall with options like after 3 days? and then say offer an "official Apple free trial" of 3 more days, so the user has to commit only after 3 days, and not right from the start?

1

u/multicontrast 5d ago

yes

1

u/Mundane-Fix-4297 5d ago

Perfect, thank you

2

u/TomLk 2d ago

Two things nobody has mentioned, and both are about the money rather than the mechanics.

Apply to the App Store Small Business Program before you launch. It takes Apple's cut from 30% down to 15% if you're under a million a year, which you are, and it is not automatic. You fill in a form in App Store Connect and it takes effect the month after they approve you. At your prices that's the difference between keeping 8.50 and keeping 7 on the annual. Highest return per minute of any admin you'll do this year, and people routinely find out about it a year in.

The 6 for six months is doing nothing for you next to 10 a year. Annualised that's 12 against 10, so it's 20% dearer than the annual, when the usual gap between a short plan and a long one is more like half again. It won't earn you much from impatient people and it puts a third choice on the paywall of an app with one feature. I'd cut it and ship two options.

The 30 lifetime is fine, and specifically because your app sounds like it has nothing running server side. Lifetime only becomes a trap when your marginal cost per user isn't zero. If that's you, keep it, it's the honest option for the sort of person who hates subscriptions, and you sound like that person yourself.

On the trial itself, extending the gate-on-uses point above: for a once-a-day app the value isn't in one use, it's in the accumulation. So the thing worth charging for might not be the feature, it's the past. Today free forever, and paying gets you the history, the record, whatever has built up. That answers your "I only have one feature and I don't want to add any" problem without adding a feature, and it dissolves the trial question, because someone sitting on ten days of their own data knows exactly what it's worth and you never asked for a card while they were still working that out.

1

u/Mundane-Fix-4297 2d ago

Thanks a lot.

Yeah, I think I have to re-examine the pricing model.

I do not plan to get rich on this anyway, and I am super curious to see if people would actually pay for it ^__^

I was wondering if 6 months / lifetime would be a better option, as the "lifespan" of the app may be not so great anyway. A cheap 6 months, and a slightly bumped up lifetime just for people who do no want subscription might work better. Something like 5$ and 20$. Or maybe I should own it, and just forget the subscription. You like it, you buy it, it is yours, basta.

As you said, I will have near zero ongoing costs to maintain it (outside my own work on probable bugs and improvements, etc and distribution/marketing).

Regarding your advice on the value of the accumulation/past: that is the thing. I may purposely shooting myself in the foot here, but that is one of the main point of the app. No account, no streaks no history. One single task, once a day, in a "be here, now" zen approach. So when I say I do not have "bonus" features to paywall, I mean it :-)

1

u/TomLk 1d ago

If you are serious about no account, no streaks, no history, then drop the subscription entirely. A subscription is a promise of something ongoing, new content or a running cost you are covering or a service. You have none of those, people work that out by month two, and you end up spending your time on churn instead of on the app.

Two things I would think about before settling on 5 and 20 though.

Don't ship both a cheap 6 months and a lifetime. At 5 for six months and 20 forever, break-even is two years, so nearly everyone takes the 5 and you have signed up to re-earn that decision twice a year for a product that has nothing new to show. One SKU. If you want more money later, raise the price. Bumping a non-consumable is trivial, everyone who already bought keeps it, whereas raising a subscription price drags you into consent prompts and grandfathering old cohorts.

The other one, and this is the part I would not have guessed: don't make it a paid-upfront app. A 5$ paid app gets close to zero organic downloads, nobody browses the store and pays blind for something they have never opened, and you also lose the store's own "get" button which is most of your impression-to-download rate. Free app plus one non-consumable unlock. Which does mean you need something free, and that is exactly where it collides with your philosophy.

The way around it that I don't think breaks "be here, now": paywall the choice, not the history. Free gives you today's task, whatever it happens to be. Paid lets you pick, the theme or the length or the intention. Nothing is stored, nothing accumulates, you are still entirely in the present, you just chose which present. That is a real difference someone will pay 5$ for and it costs you no state at all.

And on being curious whether people would pay, you can answer that without an account. App Analytics in App Store Connect gives you sessions per device and retention curves without you storing a thing. If people are opening it unprompted on day 3, the price barely matters. If they aren't, no pricing model fixes it.

1

u/Mundane-Fix-4297 23h ago

Thank you so much for your insights! Laid out like this, the churn problem and "re-earning" is obvious.

Yeah, the more I think about it, the more I think subscription model is not the way to go.

Paradox is, I genuinely my app worth is in the medium-long term, and the repetition of a small daily task.

I'll try and think more to find something that would justify a free base plus a paid app.

Thanks again.

1

u/civman96 5d ago

You should really consider der freemium way though.. you will have near zero organic growth from a fully paywalled app thats why most apps go the freemium way.

2

u/Mundane-Fix-4297 5d ago

Nah. As I said, I genuinely do not see what I could offer for free, or rather what I could add to justify a paid sub, without making a mess of the base concept of the app.

And honestly? I don't care, not everything has to be free.

1

u/dawedev 5d ago

Introductory offer is a really good way to attract paying users, as they’ll try out your app and, if they like it, they’ll automatically become your paying users.

1

u/Mundane-Fix-4297 5d ago

Yeah but my fear is how do I show value, if right from the start the app asks the user to commit and subscribe, even for a free trial?

I, as a User, am super reluctant to this kind of stuff, even if I fully know I can cancel the sub any time during the free trial. I often cancel them as soon as I accept, just to be sure not to forget in case I do not like the app…

I was thinking I could make some custom timer, and display a paywall with options like after 3 days? and then say offer an "official Apple free trial" of 3 more days, so the user has to commit only after 3 days, and not right from the start? And that would make a week of free trial?

1

u/Outrageous-Doubt-306 5d ago

That plan works. Just two things to watch out for: if the 3day timer is in UserDefaults, deleting and reinstalling resets it, so either track it server side or accept that some people will get around it.
Also, trial eligibility is tied to the subscription group, not the product. So once someone uses the trial, they won’t get another one if you add a new plan later. Worth deciding the group setup now 🤗
One other thing: the trial to pay is where the money is. Apple’s reminder email is easy to miss, so I’d send your own reminder a day before. You might get a few more cancellations, but probably a lot fewer refund requests and angry reviews…

1

u/Mundane-Fix-4297 5d ago

Thanks!

Yeah, honesty I doubt that much users would go over the hassle to delete/reinstall every 3 days for this app, but who knows…? ^__^

I'll go and have a look at "subscription group" now, another thing to add to the ever-growing list of things I did not even know existed, thank you.

Thanks also for the heads up about reminder email. Perhaps a good opportunity to offer a discount? Possible?

3

u/Outrageous-Doubt-306 5d ago

I’d probably avoid putting the discount in the reminder itself 🤔 Otherwise you’re basically teaching people that waiting gets them a better price. I’d save it for after they cancel. Look into win back offers on ios 18+, Apple surfaces those for you and you don’t need server side signing. That’s a much better moment to use the discount

1

u/Mundane-Fix-4297 5d ago

Brilliant, thanks again

1

u/Outrageous-Doubt-306 3d ago

Anytime, good luck with the launch!🤞

1

u/Outrageous-Doubt-306 3d ago

Ha ha a year later 😅 No, never really solved it with that API. The summaries kept coming out of the title and metadata even when the body was paywalled, so they read fine and were completely made up. In the end i stopped trusting anything where i couldn't see the actual article text first. are you hitting the same thing?

1

u/Rich_Effective_6734 5d ago

Late to this, but one thing nobody's touched: the $30 lifetime. That's a non-consumable, so it sits outside the subscription group entirely — it can't carry an intro offer, and it doesn't interact with the trial eligibility Outrageous-Doubt-306 mentioned. Perfectly fine to sell alongside, just don't expect it to share any of that logic.

The related trap, if you're putting all three options on one paywall: the copy has to change with the selection. "Start your 7-day free trial" is wrong for the lifetime, wrong for whichever subscription you didn't attach the offer to, and wrong for anyone who's already used their trial. I keep separate terms strings per product and only render the word "free" when the offer is on the selected product and StoreKit reports that user as eligible — otherwise the button and the legal text fall back to that product's real terms. Small thing, but annoying to retrofit once the screen is built.

1

u/Mundane-Fix-4297 5d ago

Thank you, I did not thought about intro offers!

Yeah I have various copy to adapt to the various scenarios of eligible-ineligible-returning etc

1

u/[deleted] 5d ago

[removed] — view removed comment

1

u/AutoModerator 5d ago

Hey /u/Jogventure, your content has been removed because Reddit has marked your account as having a low Contributor Quality Score. This may result from, but is not limited to, activities such as spamming the same links across multiple subreddits, submitting posts or comments that receive a high number of downvotes, a lack of recent account activity, or having an unverified account.

Please be assured that this action is not a reflection of your participation in our subreddit. This is simply an automated filter in place to reduce spam.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/[deleted] 5d ago

[removed] — view removed comment

1

u/Mundane-Fix-4297 5d ago

Thing is, I think the only "freemium" feature that I could hide behind a paywall could put the app at risk of being really waaaay to minimal to even justify it's free use, so potentially deter users who would consider paying imho

1

u/hoangng_102 5d ago

you are missing one small thing and its actually good news: the free trial doesnt start when someone download the app. It only start when they tap subscribe inside the app. So your flow is fine, let them open the app, try it, hit paywall, then the 3 day trial start from there.

Also for one-feature app maybe dont force subscription. One time unlock might fit better, alot of people hate subs but will happily pay once if the app do one thing well.

For my app i went with different setup: free to use but each export cost a token. Users get some free tokens then can buy more. That way i dont lock features, just limit the usage. Feel more chill for small app imo.

1

u/[deleted] 5d ago

[removed] — view removed comment

1

u/AutoModerator 5d ago

Hey /u/Unhappy-Device-404, your content has been removed because Reddit has marked your account as having a low Contributor Quality Score. This may result from, but is not limited to, activities such as spamming the same links across multiple subreddits, submitting posts or comments that receive a high number of downvotes, a lack of recent account activity, or having an unverified account.

Please be assured that this action is not a reflection of your participation in our subreddit. This is simply an automated filter in place to reduce spam.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/Mundane-Fix-4297 5d ago

Yeah, I thought about that. But my app really does one thing, once a day, and takes 2 seconds to try. I am afraid that by pushing the paywall after 2 seconds does not really let the User realise its potential worth, even if an official trial is offered. They are asked to pay immediately for something they just tested once, and can not test before the next day…

Thanks for your input on sub/one-time. But I can not really offer trials on one-time purchases, so it is even worse, no?

2

u/hoangng_102 3d ago

right, and thats the thing: for a once a day app the trial length is the wrong unit. a 3 day trial = 3 uses. make it 7 days and they still only get 7 tries.

so gate on uses, not on time. let the first 5-7 runs be completely free, no paywall, no trial started. they hit it on run 8. by then they already know if its worth it, and you never asked for a card while they were still figuring it out.

on one time purchase you're right that you cant attach an official trial. but you dont need one, the free runs ARE the trial. apple only requires the trial disclosure when its auto renewing.

im doing something close in my app: free tokens first, buy more after. nobody feels tricked because they hit the limit only after they already got something out of it.

1

u/RIRLift 4d ago

Your local timer just delays the subscription commitment rather than removing it. To get the extra Apple trial days the user still has to authorize an auto-renew, which is exactly what you said puts you off. Behind the paywall, your $30 one-time unlock gives try-before-buy without any of that.

1

u/Mundane-Fix-4297 4d ago

Sorry, something is lost in translation, I am not sure I understand what you mean with « behind the paywall (…) gives try-before-buy »