定向试验
此功能为高级付费功能,请联系您的客户经理进行开通。
当您想要针对特定用户群体进行A/B测试时,可使用此功能。使用此功能,试验的各个版本只会在您选定的用户群体中展示。请注意,您不能为试验中的版本分别设定不同群体。
创建试验后,在试验开始运行之前,运行控制界面进行设置。如图所示:
在此弹出界面中选择目标用户群。初次使用时,您需要先设置用户群体:
选择编辑用户群体,进入以下步骤。
受众定向
设置受众时,选择一部分用户标签进行组合,目前支持与、或组合条件,和等于、大于、小于和不等于的判断条件,并支持单层括号嵌套。 此外您也可以通过代码自定义用户标签。自定义的用户标签需要通过 AppAdhoc SDK 相关 API 设置和上传,请参考SDK集成文档。
白名单
通过txt文档上传设定不参与试验的用户ID。
使用此功能,需要在SDK初始化时自定义ClientID,然后将需要屏蔽的ClientID白名单列表在此处上传。
上传的白名单列表内容只支持txt格式,以每行一用户ID的格式填写。
上传的文件大小请不要超过5M(支持名单内容大概50000个左右)。
投放渠道
在Web试验中,支持通过链接参数中的渠道标签进行定向试验。举例如下:
http://www.appadhoc.com?source=xxxxx
其中参数名source表示投放渠道,参数值为不同渠道的名称。假设本次试验只针对投放于百度的流量生效,则目标参数为source=baidu。您需要进行如下配置:
1、在SDK初始化中指定投放渠道的参数key:
调用此方法,SDK将会自动抓取参数key对应的值,作为用户的渠道属性上传。
<!-- 初始化 -->
adhoc('init',{
appKey:'your appKey',//平台获得的appKey必要
sourceKey:'source'//渠道参数key
})
2、在AppAdhoc控制台设置定向受众组:
3、在试验的运行控制模块中选择受众组即可(试验开始后不可更改)。
受众条件
目前AppAdhoc A/B Testing提供例如操作系统、设备型号等预定义条件。
自定义用户标签
除了系统预定义的用户标签,您还可以通过自定义用户标签把试验定向到包含特殊属性的用户群体。
在客户端代码中开发者可以基于自定义的用户信息和属性、通过相关的 SDK API 给用户打上自定义用户标签。然后在 AppAdhoc 后台,您可以根据相应的自定义用户标签来创建包含指定自定义用户属性的试验受众。
例如,您希望针对网站的付费会员进行一次试验。那么,在页面代码中您可以根据 cookie 信息判断当前用户是否付费会员;如果是的话就打上名为 "member" 值为 "paid" 的自定义标签;否则打上名为 "member" 值为 "none" 的标签。
在创建受众时受众条件选择“自定义标签”,自定义标签的受众条件左边填写该标签的名称,这里是 "member",右边是标签的值,如果是付费会员则是 "paid",否则为 "none"。
为了方便理解,我们用2个流程图介绍一下我们平台的受众定向的机制。
预定义受众定向机制
自定义受众定向机制
Web 实施要点
AppAdhoc Web SDK 会自动把浏览器名称、版本、语言等系统预定义标签自动上传,自定义标签需要开发者通过相关 API 进行设置和上传。
custom key用于设置当前用户所有的自定义标签:
adhoc('init', {
appKey: 'appKey',
custom: {member: 'paid', gender: 'female'}
//member:自定义标签,与平台保持一致
})
Android
AppAdhoc Android SDK 会自动把操作系统名称、版本、语言等系统预定义标签自动上传,自定义标签需要开发者通过API 进行设置和上传。
请在init方法中添加以下配置:
AdhocConfig adhocConfig = new AdhocConfig.Builder()
//设置APP上下文(必要参数)
.context(this)
//设置appKey(必要参数)
.appKey(key)
//添加定向用户标签
.addCustom("member", "mpaid")
.addCustom("gender", "female")
.build();
AdhocTracker.init(adhocConfig);
iOS
AppAdhoc iOS SDK 会自动把操作系统名称、版本、语言等系统预定义标签自动上传,自定义标签需要开发者通过API 进行设置和上传。
在application:didFinishLaunchingWithOptions:方法中进行设置:
NSString *member = @"paid" ;
在SDK启动时设置定向条件:
AdhocSDKConfig *config = [AdhocSDKConfig defaultConfig];
config.customProperty = @{@"member": member};
[AdhocSDK startWithConfigure:config options:launchOptions];