Highlight
Apple 为 App Store 产品页加入自定义产品页和产品页优化,开发者可以为不同用户准备最多 35 个独立页面,并用最多 3 个处理组测试默认页面素材的下载转化效果。
核心内容
一个 App 通常服务多类用户。登山 App 里,有人想看实时直播,有人只关心 GPS 轨迹。游戏里,有人被角色吸引,有人被玩法模式吸引。以前只有一个默认产品页,图标、截图、预览视频和宣传文案要同时承担所有任务。
结果很容易变成折中。直播用户看到的是 GPS 截图,组队用户看到的是直播卖点。广告投放也只能把所有人带到同一个页面,后续分析只能看总体转化率。
Apple 在 WWDC21 提供了两个新能力。第一个是自定义产品页(Custom Product Pages)。每个 App 最多可以创建 35 个页面,每个页面有自己的预览视频、截图、宣传文案、本地化内容和唯一 URL。
第二个是产品页优化(Product Page Optimization)。默认产品页可以做测试。开发者准备不同的图标、预览视频或截图,把一部分流量分配给处理组(Treatment),再用 App Analytics 查看展示、下载、转化和相对基准的提升。
这两个能力解决的是同一个问题:产品页不再只靠发布前猜测。你可以先为不同渠道准备对应页面,再用数据判断哪个素材更能带来下载。
详细内容
自定义产品页:给不同用户不同入口
(01:02)自定义产品页允许一个 App 展示不同功能和内容。每个页面可以有不同的 App preview videos(App 预览视频)、screenshots(截图)和 promotional text(宣传文案)。每个页面都支持本地化,并且有自己的唯一 URL。
它发生在 App Store 产品页上,目标是在用户下载前展示更匹配的内容。
customProductPage:
goal: "highlight-live-streaming"
audience: "people following climbers in real time"
assets:
appPreviewVideos:
- "live-streaming-preview.mov"
screenshots:
- "summit-live-feed-1.png"
- "climber-broadcast-2.png"
promotionalText: "Watch climbers reach the summit live."
localization:
- "en-US"
- "ja-JP"
sharing:
url: "unique App Store URL for this page"
关键点:
goal写清楚这个页面的目标。Session 建议先规划目标,再创建页面。audience对应这页要服务的人群。示例来自演讲里的 Mountain Climber App。appPreviewVideos、screenshots、promotionalText是自定义产品页可以单独配置的素材。localization体现每个页面都可以完整本地化。sharing.url表示页面审核通过后,可以通过唯一 URL 分享。
(01:27)App Analytics 会为每个自定义产品页提供独立指标。演讲列出的指标包括 impressions(展示)、downloads(下载)、conversion rate(转化率)、retention data(留存数据)和 average proceeds per paying user(每付费用户平均收入)。
customProductPageMetrics:
impressions: "tracked in App Analytics"
downloads: "tracked in App Analytics"
conversionRate: "tracked in App Analytics"
retentionData: "tracked after download"
averageProceedsPerPayingUser: "tracked after download"
关键点:
impressions告诉你这个页面被看到了多少次。downloads记录从这个页面带来的下载量。conversionRate用来判断页面把访问转成下载的能力。retentionData把分析延伸到下载之后。averageProceedsPerPayingUser帮你判断某类页面带来的付费用户价值。
(02:53)准备自定义产品页有三个步骤:先确定目标,再挑选要突出的功能或内容,最后准备元数据。功能上线后,这些元数据可以在 App Store Connect 提交,不需要提交新的 App 版本。
customProductPagePreparation:
- planGoals
- chooseFeaturesOrContent
- prepareMetadata:
appPreviewVideos: true
screenshots: true
promotionalText: true
- submitInAppStoreConnect
- shareAfterApproval
关键点:
planGoals对应演讲里的 “Have a clear objective”。chooseFeaturesOrContent用来避免为同一类用户重复创建页面。prepareMetadata包含演讲明确提到的三类素材。submitInAppStoreConnect表示页面通过 App Store Connect 提交。shareAfterApproval表示页面审核通过后才分享唯一 URL。
产品页优化:用测试决定默认页面素材
(03:59)产品页优化用于测试默认产品页。开发者可以设置不同处理组,对比图标、预览视频或截图,查看哪个版本更能带来下载。
演讲给出的例子是蓝色图标和红色图标。系统把进入默认产品页的流量分给原始页面和处理组,然后测量下载转化。
productPageOptimizationTest:
baseline:
appIcon: "blue-icon"
treatments:
- name: "red-icon-treatment"
appIcon: "red-icon"
measurement:
primaryMetric: "download conversion"
possibleAction:
applyTreatmentMetadataToDefaultProductPage: true
关键点:
baseline是当前默认产品页。treatments是测试版本。每个测试最多可以有 3 个处理组。primaryMetric来自演讲中的 download conversion。possibleAction表示测试结果更好时,可以把处理组元数据应用到默认产品页。
(04:35)处理组可以测试不同 App 图标、不同 App 预览视频或不同截图。每个测试最多 3 个处理组。你可以选择有多少用户进入测试流量。
如果选择 30% 流量,并设置 3 个处理组,每个处理组拿到总流量的 10%。
trafficAllocation:
audiencePercentageInTest: 30
numberOfTreatments: 3
trafficPerTreatment: 10
baselineTraffic: 70
关键点:
audiencePercentageInTest是进入测试的总流量比例。numberOfTreatments不能超过 3。trafficPerTreatment按演讲示例由 30% 除以 3 得到。baselineTraffic是未进入处理组的流量,继续看到默认页面。
(05:04)图标测试有特殊要求。看到测试图标并下载 App 的用户,设备上也会看到同一个图标。为此,变体图标资源必须包含在当前线上 App 版本的二进制文件中,包括适用设备的所有尺寸和 App Store 使用的 1024x1024 版本。
iconTreatmentRequirements:
binary: "currently live app version"
includedAssets:
deviceIconSizes: "all applicable devices"
appStoreIcon: "1024x1024"
userExperience:
productPageIconMatchesInstalledAppIcon: true
关键点:
binary指当前线上版本。演讲强调要把变体图标放进想测试的 App 版本二进制里。deviceIconSizes覆盖适用设备所需尺寸。appStoreIcon是 App Store 需要的 1024x1024 图标。productPageIconMatchesInstalledAppIcon保证用户从产品页到主屏幕看到的是同一图标。
(05:42)测试可以限制在特定本地化版本。假设产品页支持英语、日语、韩语,你可以只在日语页面运行测试。看到英语或韩语页面的用户不会进入这个测试。
localizedTest:
availableLocalizations:
- "English"
- "Japanese"
- "Korean"
testLocalizations:
- "Japanese"
excludedFromTest:
- "English"
- "Korean"
关键点:
availableLocalizations是产品页当前已有的本地化。testLocalizations是测试真正运行的语言。excludedFromTest表示这些语言环境下的用户不进入测试。- 这个能力适合只对某个市场相关的素材变更。
(06:12)测试运行时,App Analytics 会显示 impressions、downloads、conversion,以及每个处理组相对基准线的 improvement(提升)。看完结果后,可以把某个处理组应用到默认产品页。
如果要应用的是不同 App 图标,需要在下一个 App 版本的二进制文件中更新默认图标。
optimizationResults:
metrics:
- impressions
- downloads
- conversion
- improvementAgainstBaseline
applyWinner:
metadata: "apply to default product page"
differentAppIcon: "update default icon in next app binary"
关键点:
impressions、downloads、conversion是测试期间可监控的指标。improvementAgainstBaseline用来判断处理组相对默认页的表现。metadata表示普通素材可应用到默认产品页。differentAppIcon是图标变更的限制:默认图标要通过下一个 App 版本更新。
App Store Connect API 支持
(07:50)演讲最后说明,自定义产品页和产品页优化都会支持 App Store Connect API。完整 API 规范会在当年晚些时候发布。
这场 session 没有给出 endpoint、请求体或 SDK 调用。能确定的事实只有:两项功能会被 API 覆盖,开发者可以把相关流程纳入自动化系统。
appStoreConnectApiSupport:
customProductPages: true
productPageOptimization: true
apiSpec: "published later this year"
关键点:
customProductPages表示自定义产品页会支持 API。productPageOptimization表示产品页优化会支持 API。apiSpec保留演讲中的时间信息,避免臆造未发布接口。
核心启发
-
做什么:为广告渠道创建专用产品页。 为什么值得做:自定义产品页有唯一 URL,可以把不同广告创意带到不同页面。 怎么开始:先列出 3 个主要渠道,为每个渠道写一个
goal,再准备对应的预览视频、截图和宣传文案。 -
做什么:为 App 的核心功能各建一个落地页。 为什么值得做:每个 App 最多 35 个自定义产品页,适合突出不同功能或内容。 怎么开始:把用户下载前最关心的功能排成清单,为前 5 个功能分别准备截图组和一句 promotional text。
-
做什么:用产品页优化测试图标颜色或风格。 为什么值得做:产品页优化可以对默认页的 App 图标进行处理组测试,并用下载转化判断结果。 怎么开始:在当前线上版本的二进制中放入变体图标,补齐设备尺寸和 1024x1024 App Store 图标,再在 App Store Connect 设置测试。
-
做什么:只在单个本地化市场测试新截图。 为什么值得做:测试可以限制在特定本地化页面,避免无关市场影响结果。 怎么开始:选择一个增长目标明确的语言版本,准备该语言的截图和预览视频,只把这个 localization 加入测试。
-
做什么:把产品页指标接入每周增长复盘。 为什么值得做:App Analytics 会按自定义产品页和处理组提供展示、下载、转化、留存和付费用户收益。 怎么开始:为每个页面记录目标、素材版本和上线日期,每周对照 App Analytics 指标决定保留、调整或下线。
关联 Session
- What’s new in App Analytics — 查看自定义产品页、产品页优化、App 内活动和交易相关的新指标。
- Meet in-app events on the App Store — 学习如何在 App Store 创建、排期和管理限时活动。
- Meet privacy-preserving ad attribution — 理解广告投放到 App Store 下载之间的隐私友好归因。
- Distribute apps in Xcode with cloud signing — 了解从 Xcode 分发到 App Store Connect 的新版工作流。
评论
GitHub Issues · utterances