Languages 
  • English
  • 中文
  • 日本語

订阅跟踪

通过 Adjust,您可以跟踪用户的订阅,并评估用户注册行为。使用您的数据,计算用户的生命周期价值 (LTV),打造有效的再营销推广活动。在本文中,您将了解到如何在 Adjust 中设置订阅跟踪,并获知常见问题的答案。

操作前须知

以下是您在操作前需要了解的内容。

可用性

  • 订阅跟踪套餐
    • 如需了解更多信息,请联系您的专职销售代表或技术客户经理

要求

Tip:
请确保您的开发者在发生订阅购买时 iOS 调用 [Adjust trackSubscription:subscription];,安卓调用 `Adjust.trackPlayStoreSubscription(subscription);`安卓调用 `Adjust.trackPlayStoreSubscription(subscription);`
  • 原生 Adjust 安卓 SDK v4.22.0+/ Adjust iOS SDK v4.22.1+
  • 非原生 SDKs Unity v4.22.1,React 原生 v4.22.0,Flutter v4.22.0,Xamarin v.4.22.0,Cordova v.4.22.0,Titanium v.4.23.0
  • 遵照 GDPR 的规定,请务必加密您所有的参数数据。此外,请勿在参数数据中加入任何个人数据 (包括但不限于电子邮件地址、年龄、姓名等)。此外,请勿在参数数据中加入任何个人数据 (包括但不限于电子邮件地址、年龄、姓名等)。

开始设置

要开始使用订阅跟踪,请联系您的专属技术客户经理,或联系 support@adjust.com。他们会在 Adjust 内部初始化设置。完成后,请按照下列步骤操作。

设置订阅应用

要设置您的应用,进行订阅跟踪,需要完成多个重要步骤。只有完成这些步骤后,您才能开始进行跟踪。

1. 将您的应用添加至 Adjust 控制面板中

首先,请将您的订阅应用添加至 Adjust 控制面板中。请务必选择正确的平台 (iOS 或安卓),并提供应用的 app_token,才能完成设置。

请参阅这篇 "添加新应用" 文章 按照其中的指引完成上述初步操作。

2. 集成 Adjust SDK

在集成订阅跟踪解决方案时,我们使用的是自己的开源 SDK。

如果您的应用中尚未集成 Adjust SDK,请参阅我们 Github 中的开发者文档,进行 SDK 集成。请注意集成最新版本的 SDK。您可以观看这条视频 了解更多信息。完成集成后, 请使用我们的测试控制台验证集成情况。

Tip:
如果您的应用中已经集成了 SDK,请确认您使用的是 Adjust 安卓 SDK v.4.22.0 或更高版本 / Adjust iOS SDK v4.22.1 或更高版本。如果您的 SDK 版本不符合要求,请立刻升级 SDK。

3. 与 Adjust 分享凭证

要在 Adjust 中完成设置,我们还需要一些具体针对应用的信息。请将下文中列出的详细信息分享给您的技术客户经理,或一直为您提供协助的支持代表。

安卓设备

1. 您的 Google Developer 项目链接

前往 Google Play 理中心, 选择 访问权限 (API access) > 关联 (Link).这将关联您的 Play 账户到 Google Developer 项目。

1/3

2. 创建服务账号

在 Google API Console 中,选择 创建服务账号 (Create Service Account)。添加服务账号密钥凭据。然后命名账号,为其分配 Project Owner 角色

当您选择 创建, 时,一份 JSON 文件将开始下载,其中包含 Adjust 与 Google 通讯所需的凭据。其中包含 Adjust 与 Google 通讯所需的凭据。

1/2

3. 授予财务访问权限

返回 Play 管理中心。返回 Play 管理中心。为新的 Adjust 服务账号选择 授予访问权限 并进行如下设置:

  • 角色 - 财务
  • 添加 - 管理订单权限

然后选择 保存.

如果这些选项不可用,意味着您的 账户访问权限可能不足。请联系您的账户所有者或管理员。

4. 向 Adjust 发送信息

要完成这一流程,请将下列信息分享给帮助您进行设置的 Adjust 专属技术客户经理。

  • 您的 Adjust 应用识别码
  • 从 Google 下载的您的 JSON 凭据文件 (参见第 2 步)

好啦!这样就完成了。

iOS 设备

1. 设置 Apple 订阅触发 URL

登入您的 iTunes Connect 账户,选择__我的应用__标签页。

1/2

选择侧边栏中的__应用信息 (App Information)__,找到右下角名为__订阅状态 URL (Subscription Status URL)__的字段。

输入:https://subscription.adjust.com/v2/appstore/

1/2

2. 找到您应用特有的共享密钥

从您的 iTunes Connect 账户中转到__我的应用 (My Apps),然后选择您的订阅应用。然后选择__功能 (Features) > 应用内购买 (In-App Purchases) > 应用特有共享密钥 (App-Specific Shared Secret)。复制弹窗中显示的密钥。

1/2

3. 向 Adjust 发送信息

要完成这一流程,请将下列信息分享给帮助您进行设置的 Adjust 专属技术客户经理。

  • 您的 Adjust 应用识别码
  • 您的分享密钥 (参见第 2 步)

好啦!这样就完成了。

设置订阅事件回传

使用回传,在 Adjust 跟踪事件后的几秒,您就可以直接将用户层级数据发送到自己的服务器。设置全局回传,您就能收到每个跟踪事件相同的数据点。您也可以为单个事件分别设置回传。请观看这条视频,更多地了解 Adjust 回传。

要求

  • 您自己的 BI 系统,以接收 GET 请求。(确认您的服务器能够接收您的所有参数并存储所有传入数据 — 服务器的速度要求与您的应用用户数量有关。)

实用信息

  • 为确保您只从 Adjust 接收数据,请将我们的服务器 IP 加入白名单
  • 我们最多可以转发 1MB 的回传
  • 订阅事件被视为活动,因此,您可以筛选出 {activity_kind} 为 "subscription" 的数据,快速查找订阅事件。

订阅事件和占位符

Adjust 会自动跟踪下列订阅事件。

  • 订阅激活
  • 订阅首次转化
  • 订阅进入计费重试
  • 续订
  • 订阅取消
  • 计费重试后续订
  • 订阅重新激活

要活动关于您用户行为更精细的信息,您还可以在回传中添加下列占位符。

占位符描述内容 + 示例值
{subscription_event_type} 
操作属于 7 种事件类型中的哪一种activation

first_conversion

renewal
{subscription_event_subtype}参见下方表格了解详情initial_subscription

failed_trial

renewed_subscription
{subscription_purchased_at}
任何有效购买的 Unix 时间戳1571608922
{subscription_expiration_time}
有效订阅过期的 Unix 时间戳。可以是过去某时或未来某时。 1571608922
{subscription_cancelled_at}
订阅失效时的 Unix 时间戳。不可晚于 expiration_time。 

如果订阅交易失败,且问题无法被解决,那么返回的值将是交易失败的 expiration_time。expiration_time 占位符中不会显示值
1571608922
{subscription_transaction_id}
有效交易的值。交易失败则不会返回任何值。

如果如果发生计费问题,则会返回当前的交易 ID。 
230000687036600
{subscription_original_transaction_id}
产品订阅链中的首个交易 ID230000687036600
{subscription_expired_transaction_id}
上一个有效的交易 ID。如果这是首次交易,则返回值为空。如果交易失败,则返回上一次有效的交易 ID。230000687036600
{subscription_environment}
订阅购买发生的环境 sandbox

production
{subscription_product_id}
应用中的订阅产品类型com.product.id
{subscription_sales_region}
Apple 商店账户注册位置的地区代码;Google 的地区代码基于设备的物理位置us
{subscription_store}
订阅购买触发所在的商店appleappstore

googleplaystore

订阅事件子类型

每种订阅事件类型都有额外的子类型。订阅事件子类型能为您提供更深刻的用户数据洞见。在下面的表格中,您可以看到将 {subscription_event_subtype} 占位符附加在回传中后,将返回哪些子类型值。

订阅事件类型订阅事件子类型值描述 
activationinitial_subscription用户在应用中触发首次 (付费) 订阅
initial_trial用户在应用中触发首次免费试用
initial_offer用户在应用中触发首个 (付费) 折扣优惠
first_conversionconverted_trial免费试用期结束后,用户没有取消订阅,转化成订阅用户
converted_offer首个付费优惠使用期结束后,用户没有取消订阅,转化成全额付费订阅用户
entered_billing_retrytrial_in_retry使用已过期,但由于计费问题未能成功续订。 

例如:免费使用期结束后,用户没有取消订阅,但由于支付来源发生问题,用户无法支付订阅费用
offer_in_retry优惠已过期,但由于计费问题未能成功续订。 

例如:优惠结束后,用户没有取消订阅,但由于支付来源发生问题,用户无法支付订阅费用
subscription_in_retry订阅已过期,但由于计费问题未能成功续订。 

例如:免费订阅周期结束后,用户没有取消订阅,但由于支付来源发生问题,用户无法支付订阅费用
renewalrenewed_subscription订阅成功续订
cancellationfailed_trial试用期结束后未发生续订
failed_offer优惠期结束后,首个付费优惠没有发生续订 
failed_subscription订阅周期结束后没有发生续订
failed_trial_from_retry计费重试失败后,免费试用未发生转化
failed_offer_from_retry计费重试失败后,优惠未发生转化
failed_subscription_from_retry计费重试失败后,订阅未发生续订
renewal_from_billing_retryconverted_trial_from_retry试用期计费重试成功,试用用户发生转化 
converted_offer_from_retry优惠计费重试成功,使用优惠的用户发生转化 
renewed_subscription_from_retry订阅计费重试成功,订阅发生续订  
reactivationreactivated_subscription订阅用户及在试用、优惠期间订阅的用户取消了订阅,然后重新激活了订阅 

全局回传

全局回传能提供所有 Adjust 跟踪活动的完整数据点列表。

如果您已经在控制面板中设置了全局回传,那么只需将我们的订阅事件占位符加入您原有的回传 URL 即可。

要完整了解创建回传 URL 的方法,请参见并遵循我们的这份指南。您也可以使用下方的模板和示例,编辑自己的回传 URL。

示例

http://callbackserver.com/adjust_global?app_id={app_id}&app_name={app_name}&app_name_dashboard={app_name_dashboard}&app_version={app_version}&app_version_raw={app_version_raw}&app_version_short={app_version_short}&store={store}&tracker={tracker}&tracker_name={tracker_name}&first_tracker={first_tracker}&last_tracker={last_tracker}&last_tracker_name={last_tracker_name}&outdated_tracker={outdated_tracker}&network_name={network_name}&campaign_name={campaign_name}&adgroup_name={adgroup_name}&creative_name={creative_name}&impression_based={impression_based}&is_organic={is_organic}&rejection_reason={rejection_reason}&click_referer={click_referer}&click_time={click_time}&click_time_hour={click_time_hour}&impression_time={impression_time}&impression_time_hour={impression_time_hour}&conversion_duration={conversion_duration}&engagement_time={engagement_time}&engagement_time_hour={engagement_time_hour}&installed_at={installed_at}&installed_at_hour={installed_at_hour}&install_finish_time={install_finish_time}&install_begin_time={install_begin_time}&referral_time={referral_time}&created_at={created_at}&created_at_milli={created_at_milli}&created_at_hour={created_at_hour}&reattributed_at={reattributed_at}&reattributed_at_hour={reattributed_at_hour}&attribution_updated_at={attribution_updated_at}&time_to_uninstall&idfa={idfa}&idfv={idfv}&gps_adid={gps_adid}&android_id={android_id}&adid={adid}&activity_kind={activity_kind}&revenue={revenue}&currency={currency}&subscription_event={subscription_event_type}&subscription_event_subtype={subscription_event_subtype}&product_id={subscription_product_id}&sales_region={subscription_sales_region}&transaction_id={subscription_transaction_id}&expired_transaction_id={subscription_expired_transaction_id}&original_transaction_id={subscription_original_transaction_id}&subscription_store={subscription_store}&subscription_start={subscription_purchased_at}&subscription_end={subscription_expiration_time}&subscription_cancelled={subscription_cancelled_at}&environment={subscription_environment}&callback_parameter={publisher_parameters}

单个事件回传

单个事件回传是针对一个特定订阅事件 (如订阅激活) 的回传。如果您只需要某些特定事件的数据,或您不具备接收全局回传数据的能力时,单个事件回传便是理想选项。

要接收单个事件回传,请将下列信息发送给您的技术客户经理或一直为您提供协助的支持代表。

  • 订阅事件名称
  • (一个或多个) 回传 URL,其中应当包括您接收回传的终端以及所需的占位符

要完整了解创建回传 URL 的方法,请参见并遵循我们的这份指南。您也可以使用我们的模板和示例,自行创建回传 URL。

示例

http://callbackserver.com/adjust_subscription_activation?app_id={app_id}&app_name={app_name}&app_name_dashboard={app_name_dashboard}&app_version={app_version}&app_version_raw={app_version_raw}&app_version_short={app_version_short}&store={store}&tracker={tracker}&tracker_name={tracker_name}&first_tracker={first_tracker}&last_tracker={last_tracker}&last_tracker_name={last_tracker_name}&outdated_tracker={outdated_tracker}&network_name={network_name}&campaign_name={campaign_name}&adgroup_name={adgroup_name}&creative_name={creative_name}&impression_based={impression_based}&is_organic={is_organic}&rejection_reason={rejection_reason}&click_referer={click_referer}&click_time={click_time}&click_time_hour={click_time_hour}&impression_time={impression_time}&impression_time_hour={impression_time_hour}&conversion_duration={conversion_duration}&engagement_time={engagement_time}&engagement_time_hour={engagement_time_hour}&installed_at={installed_at}&installed_at_hour={installed_at_hour}&install_finish_time={install_finish_time}&install_begin_time={install_begin_time}&referral_time={referral_time}&created_at={created_at}&created_at_milli={created_at_milli}&created_at_hour={created_at_hour}&reattributed_at={reattributed_at}&reattributed_at_hour={reattributed_at_hour}&attribution_updated_at={attribution_updated_at}&time_to_uninstall&idfa={idfa}&idfv={idfv}&gps_adid={gps_adid}&android_id={android_id}&adid={adid}&revenue={revenue}&currency={currency}&subscription_event={subscription_event_type}&subscription_event_subtype={subscription_event_subtype}&product_id={subscription_product_id}&sales_region={subscription_sales_region}&transaction_id={subscription_transaction_id}&original_transaction_id={subscription_original_transaction_id}&subscription_store={subscription_store}&subscription_start={subscription_purchased_at}&subscription_end={subscription_expiration_time}&environment={subscription_environment}&callback_parameter={publisher_parameters}

所有订阅事件的单一回传

要在但一回传中接收您所有的订阅事件,请将下列信息发送给您的技术客户经理或一直为您提供协助的支持代表以寻求协助。

  • 回传 URL,其中应当包括您接收回传的终端以及所需的占位符

示例

http://callbackserver.com/adjust_subscription?app_id={app_id}&app_name={app_name}&app_name_dashboard={app_name_dashboard}&app_version={app_version}&app_version_raw={app_version_raw}&app_version_short={app_version_short}&store={store}&tracker={tracker}&tracker_name={tracker_name}&first_tracker={first_tracker}&last_tracker={last_tracker}&last_tracker_name={last_tracker_name}&outdated_tracker={outdated_tracker}&network_name={network_name}&campaign_name={campaign_name}&adgroup_name={adgroup_name}&creative_name={creative_name}&impression_based={impression_based}&is_organic={is_organic}&rejection_reason={rejection_reason}&click_referer={click_referer}&click_time={click_time}&click_time_hour={click_time_hour}&impression_time={impression_time}&impression_time_hour={impression_time_hour}&conversion_duration={conversion_duration}&engagement_time={engagement_time}&engagement_time_hour={engagement_time_hour}&installed_at={installed_at}&installed_at_hour={installed_at_hour}&install_finish_time={install_finish_time}&install_begin_time={install_begin_time}&referral_time={referral_time}&created_at={created_at}&created_at_milli={created_at_milli}&created_at_hour={created_at_hour}&reattributed_at={reattributed_at}&reattributed_at_hour={reattributed_at_hour}&attribution_updated_at={attribution_updated_at}&time_to_uninstall&idfa={idfa}&idfv={idfv}&gps_adid={gps_adid}&android_id={android_id}&adid={adid}&revenue={revenue}&currency={currency}&subscription_event={subscription_event_type}&subscription_event_subtype={subscription_event_subtype}&product_id={subscription_product_id}&sales_region={subscription_sales_region}&transaction_id={subscription_transaction_id}&original_transaction_id={subscription_original_transaction_id}&expired_transaction_id={subscription_expired_transaction_id}&subscription_store={subscription_store}&subscription_start={subscription_purchased_at}&subscription_end={subscription_expiration_time}&subscription_cancelled={subscription_cancelled_at}&environment={subscription_environment}&callback_parameter={publisher_parameters}

设置 CSV 上传

借助 CSV 上传,订阅事件原始用户数据可每小时自动导出至云储存。

Note:
如果您在控制面板中已经设置了 Amazon S3 或 Google Cloud Storage,那么在启用订阅跟踪后,您就会自动收到订阅事件的 CSV 上传。但是,要查看这些具体的数据点,您还是需要向自己的 CSV 定义中添加订阅相关的占位符。

要进行设置,请将您想要的订阅占位符添加进您的 CSV 定义中。要添加占位符,请前往 Adjust 控制面板,找到您的应用,选择__所有设置 > 原始数据导出 > CSV 上传__。欢迎阅读更多有关格式化 CSV 定义的信息。

接下来,请将下列详情提供给您的技术客户经理或销售代表。

Warning:
如果您设置了内部 S2S 订阅事件,并选择将这些事件导出至 CSV 上传,而同时又向自己的 CSV 定义中添加了订阅相关占位符,就会出现重复数据。如果发生这种情况,请按照我们的重复数据说明,使用活动类型过滤您的数据。

设置 Adjust 内部 S2S 订阅事件

如果您没有自己的 BI 系统,无法自行处理用户层级的数据,Adjust 可以在内部设置服务器到服务器的事件。这样,您就能在控制面板的可交付成果和同期群中查看自己的聚合数据了。

虽然内部订阅事件是由我们 Adjust 内部的团队进行实装,但您依旧需要集成 Adjust SDK,并在控制面板中设置订阅事件。

您可以选择 Adjust 自动跟踪的任意事件,在控制面板中进行事件设置。我们建议您遵循下列命名约定:

  • activation
  • first conversion
  • entered billing retry
  • renewal
  • cancellation
  • renewal from billing retry
  • reactivation

要起步,请将下列详情提供给您的技术客户经理。

  • 您的应用识别码
  • 订阅事件名称
  • 事件识别码
  • S2S 识别码 - 仅在您启用了 S2S 认证时需要

开始跟踪订阅事件后,您就能在控制面板中看到事件的 KPI 了。

重复数据

Warning:
如果您设置了 S2S 内部订阅事件,请不要在控制面板中同时启用此类内部 S2S 订阅事件 CSV 上传或回传,否则将会导致订阅事件重复发送。

类似地,如果您设置了内部 S2S 订阅事件,同时在全局回传中加入了额外的订阅类占位符,并在控制面板中启用全局回传,也会导致订阅事件重复发送。

使用活动类型过滤

如果您收到了重复数据,可以使用 {activity_kind} 占位符进行过滤:内部 S2S 订阅事件的回传会返回 activity_kind=event,而订阅事件回传和 CSV 上传会返回 activity_kind=subscription。

使用条件回传

您也可以使用条件回传将内部 S2S 订阅事件回传排除,避免发生重复数据的问题。

下面是条件回传使用时间识别码避免重复数据的示例:

notcontained,{event},abc123;def456,https://myawesomeendpoint.subscriptions?app_id={app_id}&idfv={idfv}&activity_kind={activity_kind}&subscription_event={subscription_event_type}&subscription_event_subtype={subscription_event_subtype}&product_id={subscription_product_id}&sales_region={subscription_sales_region}&transaction_id={subscription_transaction_id}&original_transaction_id={subscription_original_transaction_id}&subscription_store={subscription_store}&subscription_start={subscription_purchased_at}&subscription_end={subscription_expiration_time}&environment={subscription_environment}

设置内部 S2S 订阅事件合作伙伴转发

内部订阅事件设置完毕并显示在您的控制面板中后,您就可以将事件数据直接转发给自己的合作伙伴,以实现更精准的定向。

例如,要将订阅事件关联至 Facebook,请按照以下步骤操作。

  1. 查找应用并点击应用选项插入符号 (^)
  2. 选择 合作伙伴设置 > Facebook > 事件关联
  3. 找到希望关联的事件,然后使用 Facebook 事件名称或您自己的自定义名称来更新此字段
  4. 然后选择 保存
  5. 然后选择 保存

常见问答

我应该何时使用订阅跟踪?

对于订阅类应用的营销人员来说,订阅跟踪是一款强大的工具。使用跟踪数据,您可以更好地理解自己营销支出带来的价值,优化未来的推广活动。订阅跟踪的主要用途包括:

  • 监测试用期的用户注册
  • 监测试用用户到付费订阅用户的转化
  • 使用订阅数据进行再营销

Adjust 订阅跟踪的原理是什么?

我们的解决方案使用的是收入验证技术。Adjust 会与各应用商店通讯,发送收据进行确认,以了解用户订阅的状态。这样,我们就能搞清楚购买是用户从试用到订阅的转化,还是续订,抑或发生了订阅取消。

订阅数据会储存多久?

数据储存到用户取消订阅。用户取消订阅 30 天后,Adjust 将删除所有的数据。订阅数据与归因数据分开,储存在单独的数据库中。

如果用户从 iOS 设备换用到安卓设备,他们会被视为新用户吗?

如果用户变更设备平台,当前的订阅链即会中断,新的订阅链将激活。订阅是各平台专有的,订阅的验证和跟踪也会相应地分平台进行。

Adjust 是否会验证在 App Store 和 Google Play 商店之外发生的购买?

不会。对于在 Apple 和 Google 官方应用商店之外发生的订阅购买,Adjust 不予验证。