跳过内容

创建 iOS 订阅介绍性优惠

推广优惠允许您向合格用户提供免费试用或折扣推广价格以减少进入障碍并增加订阅转换。

概览

概览

引流新用户的最有效工具之一是优惠活动。它们让用户能够:

  • 无风险试用您的高级功能
  • 在承诺之前体验价值
  • 以较低的价格点开始
  • 提高对产品的信心

优惠类型

概览

iOS 支持三种类型的引流活动:

1. 免费试用

概览

客户在试用期内获得免费访问权。试用期结束后,如果他们没有取消订阅,他们将按标准费率收费。

示例:

  • 7 天免费
  • 14 天免费
  • 1 个月免费

适合:

  • 高价值订阅
  • 功能丰富的应用
  • 建立用户习惯

客户支付一个涵盖引导期的折扣价格。

示例:

  • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__

适合:

  • 承诺信号
  • 现金流需求
  • 测试价格敏感性

客户在多个计费周期内支付折扣价格。

示例:

  • __CAPGO_KEEP_0__
  • $4.99/month for 6 months (then $14.99/month)

最佳选择:

  • 渐进式承诺
  • 长期价值展示
  • 降低风险感

资格要求

资格要求

用户只有在以下情况下才能接受入门级优惠:

  • 用户没有之前接受过该产品的入门级优惠
  • 用户没有在同一订阅组中接受过任何产品的入门级优惠
  • 用户没有该产品的活跃订阅

前提条件

前提条件

您必须首先 创建一个自动续订的订阅 在添加介绍性优惠券之前

创建介绍性优惠券

导航到订阅
  1. 在App Store Connect中,前往您的应用的

    Monetize > 订阅 In App Store Connect, go to your app’s 选择您想添加优惠的订阅。

  2. 添加订阅价格

    点击 + 订阅价格

  3. 创建推广优惠

    选择 “Create introductory offer” 从选项中选择“创建推广优惠”

    创建推广优惠

  4. 配置可用地区和开始日期

    地区和地区: 选择该优惠将可用的地区

    • 选择所有国家以实现最大覆盖
    • 或限制到特定的市场进行测试

    开始日期: 当优惠开始生效

    • 可以立即或预定未来
    • 有助于与营销活动的协调

    结束日期(可选): 当优惠过期

    • 留空表示持续有效
    • 设置一个日期来限制时间促销
  5. 选择优惠类型

    选择其中三种优惠类型:

    免费 (免费试用)

    • 选择持续时间 (天, 周, 月)
    • 例如: 7 天, 2 周, 1 个月

    一次性付款

    • 设置单次付款价格
    • 设置付款覆盖的持续时间
    • 示例: $1.99/2 个月

    按需付款

    • 设置每个周期的折扣价格
    • 设置周期的数量
    • 示例: $2.99/月/3 个月
  6. 确认并保存

    查看以下摘要:

    • 优惠类型和时长
    • 价格细节
    • 优惠期后正常价格
    • 可用日期和国家
  7. 保存

    点击 保存 以创建优惠活动。它将立即在沙盒模式下可供测试。

示例 1:标准免费试用

示例 1:标准免费试用
Type: Free
Duration: 7 days
Then: $9.99/month

用户旅程:

  • 第 1-7 天:免费访问
  • 第 8 天:首次收费 $9.99
  • 月度收费继续

示例 2:预付折扣期

示例 2:预付折扣期
Type: Pay Up Front
Price: $4.99
Duration: 3 months
Then: $9.99/month

用户旅程:

  • 第 1 天:收费 $4.99
  • 90 天访问
  • 第 91 天:每月 $9.99

例 3:渐进式介绍

标题:例 3:渐进式介绍
Type: Pay As You Go
Price: $2.99/month
Periods: 6 months
Then: $9.99/month

用户旅程:

  • 第 1-6 个月:每月 $2.99
  • 第 7 个月以上:每月 $9.99

在您的应用中使用

标题:在您的应用中使用

原生购买插件自动处理引导优惠的呈现和资格:

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Fetch products with intro offer information
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['com.yourapp.premium_monthly'],
productType: PURCHASE_TYPE.SUBS,
});
const product = products[0];
// Display intro offer details (StoreKit sends localized metadata)
if (product.introductoryPrice) {
console.log('Intro price:', product.introductoryPriceString);
console.log('Intro period:', product.introductoryPricePeriod);
console.log('Intro cycles:', product.introductoryPriceCycles);
console.log('Regular price:', product.priceString);
} else {
console.log('No intro offer configured');
}
// Purchase (StoreKit automatically applies intro pricing if eligible)
try {
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'com.yourapp.premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Subscription active, receipt length:', transaction.receipt?.length);
await validateReceiptOnServer(transaction.receipt);
} catch (error) {
console.error('Purchase failed:', error);
}

向用户展示引导性优惠

标题:向用户展示引导性优惠

清晰的价值提议:

Try Premium Free for 7 Days
Then $9.99/month. Cancel anytime.

强调节省:

Start at Just $1.99
Get 3 months of Premium for only $1.99
Then $9.99/month

透明的沟通:

Your Free Trial
• Access all premium features
• No charge for 7 days
• $9.99/month after trial
• Cancel anytime, even during trial
function formatIntroOffer(product: any): string {
if (!product.introductoryPrice) {
return `${product.priceString} per ${product.subscriptionPeriod}`;
}
const intro = product.introductoryPrice;
const regular = product.priceString;
if (intro.price === 0) {
// Free trial
return `Try free for ${intro.periodString}, then ${regular}`;
} else if (intro.cycles === 1) {
// Pay up front
return `${intro.priceString} for ${intro.periodString}, then ${regular}`;
} else {
// Enterprise
return `${intro.priceString} for ${intro.cycles} ${intro.periodString}s, then ${regular}`;
}
}

营销最佳实践

营销最佳实践

试用期长度策略

试用期长度策略
  • 3-7 天: 快速决策应用程序、游戏
  • : 大多数应用程序的标准: 复杂工具、专业应用程序
  • : 超过 30 天__CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__: 高值 B2B 或企业
  • $0.99-$1.99: 入门门槛极低,适合测试
  • 半价: 强大的认知价值
  • 首月免费: 常见、熟悉的模式
  • 试用期结束前: 提醒用户即将收费
  • 突出价值: 展示使用统计、成就
  • 简单取消: 以透明流程建立信任

测试介绍优惠

标题:测试介绍优惠

使用沙盒测试来验证行为:

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// In sandbox mode, accelerated subscription durations apply:
// - 3 days free trial = 3 minutes
// - 1 week free trial = 3 minutes
// - 1 month free trial = 5 minutes
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['premium_monthly'],
productType: PURCHASE_TYPE.SUBS,
});
// Purchase with intro offer
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Intro purchase transaction:', transaction.transactionId);
// Wait for accelerated renewal
setTimeout(async () => {
const { purchases } = await NativePurchases.getPurchases({
productType: PURCHASE_TYPE.SUBS,
});
const premium = purchases.find((purchase) => purchase.productIdentifier === 'premium_monthly');
console.log('After trial state:', premium?.subscriptionState);
}, 180000); // 3 minutes for weekly trial

重要注意事项

标题:重要注意事项
  • 每个用户每个订阅组(终身)只有一次优惠
  • 仅适用于新订阅者
  • 取消后不能再使用
  • 不适用于订阅升级/交叉升级

StoreKit API

StoreKit API
  • introductoryPrice 显示优惠信息
  • eligibility 方法检查用户是否符合条件
  • 在购买时自动应用
  • 不需要特殊购买方法

限制

限制
  • 仅有一个介绍优惠活动在每个订阅中同时有效
  • 不能与其他折扣类型合并
  • 不能更改资格规则
  • 苹果控制资格检查

介绍优惠不显示:

  • 检查App Store Connect中是否激活了优惠
  • 验证用户之前没有使用过介绍优惠
  • 确保用户没有订阅任何组中的内容
  • 使用新沙盒账户进行测试

资格检查失败:

  • 等待 App Store 同步 (可能需要 2-3 小时)
  • 确认产品 ID 是否正确
  • 检查订阅组配置
  • 使用新测试帐户在沙盒中进行测试

显示错误价格:

  • 检查区域定价设置
  • 验证货币转换
  • 确保优惠活动日期是最新的
  • 刷新产品信息

沙盒测试问题:

  • 使用加速时长 (3 分钟 = 1 周)
  • 为每次测试创建新测试帐户
  • 等待试用完成
  • sandbox 中最多 6 次续费次数

分析和优化

分析和优化

跟踪这些指标

跟踪这些指标
  • 试用期内接受优惠活动的率
  • 试用期转为付费的转化率
  • 试用期内取消的率
  • 首次收费后留存率
  • 收入影响

A/B 测试建议

A/B Testing Ideas
  • 免费试用版与付费版介绍
  • 试用期长度变异
  • 折扣百分比
  • 一次性付款与定期折扣

优化策略

优化策略
// Track offer performance
analytics.track('intro_offer_displayed', {
product_id: product.identifier,
offer_type: product.introductoryPriceType,
offer_duration: product.introductoryPricePeriod
});
analytics.track('intro_offer_accepted', {
product_id: product.identifier
});
// Monitor conversion
NativePurchases.addListener('transactionUpdated', (transaction) => {
if (transaction.productIdentifier === product.identifier && transaction.isActive) {
analytics.track('trial_converted', {
transactionId: transaction.transactionId,
productId: transaction.productIdentifier,
});
}
});

下一步

下一步
  • 配置沙盒测试 测试您的介绍优惠
  • 设置促销活动以回收客户
  • 实施订阅分析
  • 创建目标营销活动

欲知更多详细信息,请参阅 苹果官方文档关于介绍性促销活动.