
嗨,这是来自Apphud的 Renat。 如果您有一个具有可自动更新的订阅的应用程序,或者打算发布第一个带有订阅的应用程序,那么迟早您将面临如何正确地将收入从订阅转移到分析的问题。 让我们来谈谈。
为什么我需要考虑订阅销售的收入?
必须考虑订阅收入,才能将其发送到不知道如何执行此操作的产品分析和归因系统:振幅,混合面板,AppsFlyer,分支,调整。 您的服务器将非常方便您跟踪订阅事件:转换,续订,取消-并将其发送到您的分析中。 不幸的是,并非所有产品分析师都支持服务器到服务器API。 例如,Firebase或Flurry。 他们没有用于从服务器发送事件的API,并且它们不支持跟踪订阅。 正如他们所说,他们自己不,也不给别人。
在本文中,我将告诉您,如果您决定自己做,可能会遇到什么困难。
App Store Connect订阅分析不包含在内
通常,App Store Connect中的分析根本不是分析。 您只能看到大局:转换,事件数量和保留率。 苹果甚至没有宣称自己是产品分析师的成熟竞争对手。 App Store Connect是原始的:
- 您无法将数据与用户和流量来源相关联。
- 您无法建立自己的渠道和图形;
- 数据每天更新一次。

App Store Connect订阅概述
为什么从iOS设备发送订阅收入是个坏主意
主要问题是,当应用程序未运行时,您无法发送订阅事件。 资金在每个订阅期开始时借记,尚不清楚用户何时启动该应用程序。 这可能一天,一周或永远不会发生。 在后一种情况下,什么也不会发送。
活动类型
乍一看,仅两个事件就足够了:审判开始和资金注销。 实际上,有很多事件,并且经常发生。 您可以组成5个事件的集合,也可以从20个事件组成。这完全取决于您的需求。
以下是与订阅相关的事件的样本集。
续约
定期扩展,试用激活,注册介绍性和促销性优惠(免费和付费)。
常规订阅转换
转换试用,介绍性和付费促销优惠(免费和付费)。
期满
常规订阅到期,试用到期,付费介绍报价到期,免费促销报价到期,付费促销报价到期
退货
返回常规订阅,返回付费介绍性报价,返回付费促销性报价
其他活动
启用续订,禁用续订,过渡到宽限期,升级订阅
很多事情吧? Apphud跟踪19种事件。 您可以为每个事件指定自己的名称,并在一个事件下合并一些费用。
定价挑战
最大的困难是Apple支票不显示借方金额。 也许苹果有朝一日会将其添加到支票中,但是到目前为止,我们必须手动处理以下情况。
价格变动
当增加订阅费用时,开发人员可以指示是否对新订阅者应用新价格。 如果您选择申请 ,那么一切都很简单。 如果用户拒绝提高价格,订阅将简单地过期。 而且,如果您选择不申请 ,则对于旧订户,必须使用他们最初订购的价格。 StoreKit不返回有关用户订购价格的信息,因此您需要将每个用户的价格存储在某个地方。
订阅变更
通过订阅,用户自己可以在App Store应用程序的订阅设置中更改其持续时间和价格。 续订时需要检查产品标识符,并获取与其对应的价格。 订阅更改分为三种类型:降级,跨级别和升级。 关于此,我们在Habr上撰写了另一篇文章 ,您也可以在此处阅读官方文档。
返回未使用的订购部分
是的,它发生了。 对于跨级别和订阅升级,未使用的付费部分将退还给用户,并立即收取新订阅的费用。

Apphud中一个用户的示例,该用户通过返回未使用的部分来更改其订阅
不同国家的价格不同
在App Store中,Connect可以为不同国家/地区的一项订阅创建不同的价格。 因此,您需要分别存储每个国家/地区的价格,并使用与用户所在国家/地区相对应的价格。
不同货币
并非所有产品分析师都支持货币换算。 必须将价格转换为基础货币(例如,美元),并仅在各处使用它。 在Apphud,我们会定期使用“ 开放汇率”更新汇率 。
苹果委员会
苹果的佣金是30%。 但是使用了一年的订阅后,苹果的佣金降低到了15%。 一个重要的细微差别:订阅中断超过60天会重置连续使用的日期。
介绍性句子不一定是介绍性的
这意味着,试用和付费介绍性优惠不仅可以在订阅开始时出现,而且如果用户之前没有草拟介绍性优惠,也可以在返回订阅时发布。
优惠价格
必须在服务器上存储每个国家的价格和介绍性促销的类型:试用,预付款或使用的付款。 在此处阅读有关入门句子的更多信息。
促销优惠可以交替使用,也可以互相替代,因为它们可以无限次使用。 有必要不仅存储主要订阅的价格,而且还存储每个国家/地区的所有促销优惠的价格。 在此处阅读有关促销优惠的更多信息。

以Apphud中的用户为例,他们使用介绍性报价进行了注册,然后利用了促销性报价。
退货
有必要计算产生收益的交易,并将负金额发送给分析师。
从另一台设备启动时确定用户ID。
用户可以从另一台设备启动该应用程序。 正确确定向其发送数据到分析的用户ID至关重要。 在某些情况下,您将不得不合并服务器上的用户。 续订必须使用正确的用户ID发送。
用户支票存储和计划支票
最后,您需要保存用户检查,并在预期的到期日期之前检查它们,并检查苹果在通知中发送的事件。
Apphud中的集成
Apphud的功能之一是集成,它允许通过我们的服务器将订阅事件发送到产品分析。
产品分析师整合
要启用与Amplitude或Mixpanel集成,您需要在Apphud设置中添加API密钥。
将集成添加到您的分析之后,实时事件就会出现。 您可以找到ARPU,MRR,试用转换率,退订等。当然,所有这些都与应用程序中您自己的事件相关联。 同样,将为您提供每个用户的指标:用户花费的金额,交易次数及其他。

在Apphud中添加集成后在Mixpanel中的示例用户
与归因系统集成
如果您要推广应用程序或计划这样做,那么将Apphud与AppsFlyer或Branch集成在一起将有助于您跟踪广告系列的效果。 您可以按订阅和其他指标的总收入来比较流量渠道。

分行不同流量渠道的订阅收入
与即时通讯程序集成
您还可以通过Slack或Telegram实时接收有关新试用版或续订的信息。 整合将不超过一分钟。
结论
您自己很难计算出来自订阅的确切收入。 除了拥有自己的服务器之外,您还需要正确计算收费金额。 对于实施,您将花费大量时间和资源,值得在改善产品上花费。 Apphud将帮助您正确计算订阅收入并将其发送到您的分析。