Skip to main content

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:

OptionShortDescription
--output-oOutput 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:

OptionShortDescriptionRequired
--type-tOffer typeYes
--duration-dOffer durationYes
--price-pPrice in USDFor paid offers
--all-aAll territoriesNo
--territorySpecific territoryNo
--dry-runPreview onlyNo

delete

Delete an introductory offer.

asc subscriptions offers delete <offer-id>
asc subscriptions offers delete <offer-id> --force

Options:

OptionShortDescription
--force-fSkip 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

FormatDescriptionNotes
3d3 daysFree trials only
1w1 weekCommon for trials
2w2 weeksCommon for trials
1m1 monthAll offer types
2m2 monthsAll offer types
3m3 monthsAll offer types
6m6 monthsAll offer types
1y1 yearAll 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
Offer Priority

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

  1. Start with free trials - Lowest barrier to entry
  2. Match trial to value - Longer for complex apps, shorter for simple
  3. Consider conversion - Pay-as-you-go may improve long-term retention
  4. Regional testing - Try different offers in different territories
  5. Monitor performance - Use App Store Connect analytics

Learn More