asc subscriptions offers
Manage introductory offers (free trials and promotional pricing) for subscriptions.
Overview
Introductory offers attract new subscribers with:
- Free trials - Full access for free initially
- Pay-as-you-go - Discounted price per period
- Pay-up-front - One-time discounted payment
Commands
list
List introductory offers for a subscription.
asc subscriptions offers list <subscription-id>
Arguments:
subscription-id- The subscription's App Store Connect ID
Options:
| Option | Short | Description |
|---|---|---|
--output | -o | Output format: table, json, yaml |
Example:
asc subscriptions offers list live.yooz.whisper.pro.monthly
Output:
ID Type Duration Price Territories
OFFER123 free-trial 2 weeks Free 175
OFFER456 pay-as-you-go 3 months $1.99 175
create
Create an introductory offer.
asc subscriptions offers create <subscription-id> --type <type> --duration <duration>
Arguments:
subscription-id- The subscription's App Store Connect ID
Options:
| Option | Short | Description | Required |
|---|---|---|---|
--type | -t | Offer type | Yes |
--duration | -d | Offer duration | Yes |
--price | -p | Price in USD | For paid offers |
--all | -a | All territories | No |
--territory | Specific territory | No | |
--dry-run | Preview only | No |
delete
Delete an introductory offer.
asc subscriptions offers delete <offer-id>
asc subscriptions offers delete <offer-id> --force
Options:
| Option | Short | Description |
|---|---|---|
--force | -f | Skip confirmation |
Offer Types
Free Trial
Full subscription access for free during trial period.
# 1 week free trial
asc subscriptions offers create SUB_ID \
--type free-trial \
--duration 1w \
--all
# 2 week free trial
asc subscriptions offers create SUB_ID \
--type free-trial \
--duration 2w \
--all
# 1 month free trial
asc subscriptions offers create SUB_ID \
--type free-trial \
--duration 1m \
--all
When to use:
- Letting users experience premium features
- Building habit before payment
- Competitive positioning
Pay-As-You-Go
Discounted price per period for multiple periods.
# $1.99/month for 3 months (3 payments)
asc subscriptions offers create SUB_ID \
--type pay-as-you-go \
--duration 3m \
--price 1.99 \
--all
# $0.99/month for 6 months
asc subscriptions offers create SUB_ID \
--type pay-as-you-go \
--duration 6m \
--price 0.99 \
--all
When to use:
- Lower commitment barrier
- Building payment habit
- Longer introductory periods
Pay-Up-Front
Single discounted payment for multiple periods.
# $9.99 one-time for 3 months access
asc subscriptions offers create SUB_ID \
--type pay-up-front \
--duration 3m \
--price 9.99 \
--all
# $19.99 one-time for 6 months
asc subscriptions offers create SUB_ID \
--type pay-up-front \
--duration 6m \
--price 19.99 \
--all
When to use:
- Reducing churn during intro period
- Users who want commitment
- Higher upfront revenue
Duration Format
| Format | Description | Notes |
|---|---|---|
3d | 3 days | Free trials only |
1w | 1 week | Common for trials |
2w | 2 weeks | Common for trials |
1m | 1 month | All offer types |
2m | 2 months | All offer types |
3m | 3 months | All offer types |
6m | 6 months | All offer types |
1y | 1 year | All offer types |
Duration Rules
- Free trials: Any duration 3 days to 1 year
- Pay-as-you-go: Must align with subscription period
- Monthly subscription: 1m, 2m, 3m, 6m, or 12m
- Yearly subscription: 1y
- Pay-up-front: Must align with subscription period
Territory Configuration
All Territories
Apply offer to all 175 App Store territories:
asc subscriptions offers create SUB_ID \
--type free-trial \
--duration 2w \
--all
Specific Territories
Target specific markets:
# US, UK, and Germany only
asc subscriptions offers create SUB_ID \
--type free-trial \
--duration 2w \
--territory USA \
--territory GBR \
--territory DEU
Exclude Territories
Create for all, then delete for specific:
# Create for all
asc subscriptions offers create SUB_ID --type free-trial --duration 2w --all
# Find offer ID
asc subscriptions offers list SUB_ID
# Delete for specific territories
asc subscriptions offers delete OFFER_ID --territory CHN
Workflow Examples
Standard Free Trial Setup
# 1. List subscriptions
asc subscriptions list live.yooz.whisper
# 2. Create 2-week trial for monthly
asc subscriptions offers create live.yooz.whisper.pro.monthly \
--type free-trial \
--duration 2w \
--all \
--dry-run
# 3. Apply
asc subscriptions offers create live.yooz.whisper.pro.monthly \
--type free-trial \
--duration 2w \
--all
# 4. Create 1-week trial for yearly (shorter for higher value)
asc subscriptions offers create live.yooz.whisper.pro.yearly \
--type free-trial \
--duration 1w \
--all
Promotional Campaign
# Holiday promo: $0.99/month for 3 months
asc subscriptions offers create SUB_ID \
--type pay-as-you-go \
--duration 3m \
--price 0.99 \
--all
Updating Offers
Offers cannot be edited. Delete and recreate:
# 1. List current offers
asc subscriptions offers list SUB_ID
# 2. Delete old offer
asc subscriptions offers delete OFFER_ID --force
# 3. Create new offer
asc subscriptions offers create SUB_ID \
--type free-trial \
--duration 1m \
--all
Multiple Offers
A subscription can have multiple offers that apply to different user states:
# Free trial for brand new subscribers
asc subscriptions offers create SUB_ID \
--type free-trial \
--duration 2w \
--all
# Discounted rate for users who already had a trial
asc subscriptions offers create SUB_ID \
--type pay-as-you-go \
--duration 3m \
--price 1.99 \
--all
Apple determines which offer a user sees based on their subscription history. You cannot control the order directly.
Dry-Run Output
asc subscriptions offers create SUB_ID --type free-trial --duration 2w --all --dry-run
DRY RUN - No changes will be made
Subscription: live.yooz.whisper.pro.monthly
Offer Type: Free Trial
Duration: 2 weeks
Would create offer for 175 territories:
USA: 2 week free trial
GBR: 2 week free trial
DEU: 2 week free trial
...
Run without --dry-run to create offer.
Error Handling
Invalid Duration
Error: Duration '5d' not allowed for free-trial.
Valid durations: 3d, 1w, 2w, 1m, 2m, 3m, 6m, 1y
Missing Price
Error: Price required for pay-as-you-go offers.
Use: --price <usd-amount>
Offer Already Exists
Error: A free-trial offer already exists for this subscription.
Delete existing offer first: asc subscriptions offers delete OFFER_ID
Best Practices
- Start with free trials - Lowest barrier to entry
- Match trial to value - Longer for complex apps, shorter for simple
- Consider conversion - Pay-as-you-go may improve long-term retention
- Regional testing - Try different offers in different territories
- Monitor performance - Use App Store Connect analytics