广告监测模块为火山引擎增长分析产品增值功能项,需额外付费购买资源包,若有疑问请咨询您的客户经理。
ALink是集智能短链、深度链接与延迟深度链接等能力的一个综合系统
使用ALink可为您的用户创造极佳体验,将其从自有媒体源(主要是私域流量,如:官网/社交App/短信/邮箱/横幅等)转换为您的移动应用用户,同时灵活构建数据报表,帮助您轻松玩转拉新、沉默用户唤醒、流失用户召回、用户裂变分享等多种营销场景。
下表罗列几个典型的使用ALink的场景类型和涉及的能力配置:
场景类型 | 目标说明 | 使用能力 |
---|---|---|
拉新 | 使用一个智能链接做App用户私域拉新,期望:
|
|
促活 | 做App的再营销促活,期望:
|
|
延迟场景还原 | 期望知晓App安装用户的来源信息,并将其按照运营策略导航到某个app内页面 |
|
拉新 + 延迟场景还原 | 拉新场景,但是又希望实现延迟深度链接 |
|
促活 + 延迟场景还原 | 再营销促活场景,但是又希望实现延迟深度链接 |
|
ALink集成是需要多方人员协作的,参考下表:
角色 | 工作 | 资源 |
---|---|---|
运营/产品/市场 |
|
|
客户端研发 |
|
|
前端研发 |
| |
测试 | 根据产品或者运营期望的场景能力做测试验证 |
|
简单描述下:
运营、产品、市场同学确定使用ALink的实际场景,进而确定实际上需要ALink的能力,如果需要客户端研发介入,则需要和其确定App端内跳转行为,一般来说,需要确定具体的app路由参数,举个实际例子:
电子商城App做再营销商品营销,将点击ALink链接的用户带到商品页面,这时候,运营可以和客户端研发约定使用ALink的预置参数之一:tr_param1作为商品ID,将App唤起的客户基于tr_param1导航到对应的App商品页内
客户端研发基于ALink SDK文档进行集成,并根据之前约定的运营策略进行开发,自测完成后,交给测试同学做端到端联调验证,验证包括两个部分:
营销人员应该深知自己的使用场景,确定需要配置的具体步骤,下面分3个步骤循序渐进的介绍了每种能力的集成细节,同时,也明确指出了何时让客户端开发人员参与进来
注:下面三个大步骤按照先后顺序逐步推进,有配置的依赖关系
正常集成我们的RangersLog客户端SDK,创建ALink智能短链,将没有安装你的应用程序的新用户基于设备系统发送到相关的商店或网页,用户的安装激活就会被正确归因于你设置的自定义媒体渠道,比如:官方网站、邮箱、短信或横幅页等
小明是一家电子商城网站的营销人员,该商城有一个移动App,叫做:Buyer Online。
小明计划一项网站的App营销活动,目标是尚未安装该应用的网站用户,但小明并不知道哪些用户是Android或者iOS设备,且想看下网站营销活动带来的App安装激活数据。
为了解决这个问题,小明使用了ALink智能短链能力,并以二维码的形式将其投放在电子商城官网上。当商城用户扫描该二维码时,它会自动将他们引导到适当的应用商店或者落地页,进而可以很容易地安装应用程序。
ALink会对这些新安装进行归因,使小明能够在监测面板上查询该营销活动带来的转化数据。
通过ALink模板,您可以保存智能短链和深度链接的基本配置,在后续创建链接时可以快速复用模板配置,方便快捷地创建ALink链接。
京东 -> jd, 腾讯 -> tencent
注意:一个app只允许创建三个模版,请谨慎使用
创建完模版后,可以基于此模版创建短链接
双十一拉新
您可以在这里选择并配置写死value,也可以动态拼接在后续生成的短链接上,比如:将tr_shareuser拼接在短链接后,value写成每个地推人员的名字,${URL}?tr_shareuser=小王
之后,便可以在监测面板上分析每个地推人员带来的转化数据
默认情况下,这里的地址栏都会被之前的模版配置的所填充,但,也可以在这里更新修改,之后便会在该链接中生效
深度链接是指通过手机系统级提供的能力将已安装App的用户从App端外直接带进端内的技术。
通过这种操作,您可以为用户提供优质的用户体验,从而极大加强用户与应用的互动,提升用户的数据转化。
基于此章节的步骤可创建ALink自定义链接,并通过系统地集成深度链接,将已安装App的用户直接发送至App内部的某个页面
快到双十一了,小明想针对已注册的老用户,做部分商城商品的促销活动,期望已注册老用户点击推广链接时可以直达App内的商品活动页面,增加购买转化
为了达到这个目的,小明将包含ALink链接的营销内容通过短信发送至已注册老用户的手机上,当用户收到短信并点击链接时可以直接直达双十一商品活动页,如果是已经卸载的用户,应该直接跳转到app应用下载链接,促使老用户安装app
主要是更新模版的深度链接部分,如下图所示:
示例如下:
# 安卓应用签名 12:9C:23:45:1A:41:5C:7C:49:C7:E8:AB:33:9A:11:3D:32:3F:D7:F1:D9:DE:2B:5E:A3:BC:FA:36:91:AC:0F:84 # 安卓包名 com.game.player
示例如下:
# iOS Team ID ABC9T5ADEF # Bundle ID com.game.player
示例如下:
jd://product/1
配置好直接保存即可
深度链接是再营销的一种技术手段,配置上需要启动再营销开关(如下左图所示),之后,便可以在再营销查询面板上看该链接的再互动数据(如下右图所示):
当App唤醒后,客户端需要知道将用户导航到哪个页面,我们可以为链接设置深度链接内容参数(deeplink_value),而客户端根据此参数决定导航逻辑,设置如下所示:
市场或者产品和客户端开发一定要从长远的角度考虑和规划deeplink_value(和任何其他参数,比如:6个预置自定义参数(tr_shareuser/tr_admaster/tr_param1-4))的值,以最大限度地减少额外的应用程序更新。
拿小明的商城多个单一商品营销为例,给两类参数选择:
由于设备系统唤起的限制,除了短信/Email等投放媒介可直接点击ALink链接唤起App,其他投放媒介一般都需要借助H5页来唤起,因此,最好配置H5落地页,提升各种场景的App唤起率
注:只有启用了再营销才允许单独配置落地页
downloadButton
注:私部环境下,ALink的域名是使用客户自己提供的,因此,生成的Deep Link JS SDK Script中会增加一个domain的配置,客户手动填写为当前ALink链接的域名(要带schema)即可,比如:https://alinkdemo.cn/
, 尾部的/一定要加
后续私有化390版本不需要客户手动输入,服务会自动填充并处理,减少手动输入有可能带来的问题
补充几个集成H5的特殊case:
// 下面是旧的button绑定 var button = document.getElementById('downloadButton'); // 新的button绑定,绑定到class上(这只是其中一个例子,完全可以按照自己需要定义绑定) var button = document.querySelectorAll(".invokeButton");
<script src="``https://lf3-data.volccdn.com/obj/data-static/data/dp/openapp/index.1.4.1.cn.js``"></script>
(可以从配置落地页的代码框里拿到)<script> window.__Alink__ = new window.Alink({ token: '${token}', // 填写上图中的token .... // 其他配置参数 onReady: function () {}, // 空的onReady函数,必传 }) </script>
function buttonClick() { // 触发唤醒或下载操作 window.__Alink__.invokeOrInstall(); }
目前,invokeOrInstall函数支持可选预置参数的入参,注意:参数的值一定要是字符串
伪代码样例如下:
// 调用示例 var myObj = {tr_shareuser: "syz", tr_param1: "ID123434", other: "extra"}; invokeOrInstall(myObj);
根据自己的需求,按照预置的6个自定义参数传入进去即可
注:私有化3.11.0大版本才支持,SaaS已经支持
好了,前置配置已完成,现在联系客户端开发同学做SDK集成开发
在onALinkData接口中,app开发者可以根据返回的数据来决定用户的接下来的动作,拿一开始小明的双十一商品页营销举例,使用配置的deeplink_value写下如下伪代码:
func onALinkData(alinkData map[string]string) { if alinkData['deeplink_value'] == '双十一' { navagateToDoubleElevenPage() // 将当前用户路由到双十一营销页面会场 } }
当然,返回的字段较多,你也可以直接使用其他字段来路由,比如:当前配置的推广活动链接名称:小明_双十一_商品营销
,对应变量名:name
可以直接通过我们成熟的联调工具,使得整个流程先端到端串起来,步骤如下:
联调管理
, 添加联调设备(Android和iOS可以分别走一遍联调流程),如下图所示:查询是否正确上报再互动数据(App唤醒数据),在再营销活动分析页面查询,如下图所示:
注:
上面,我们以设备联调工具走通了整个流程,但正式把链接投出前,我们需要完成真实场景的端到端联调
为了让所有用户(无论是现有用户还是新用户)都能有一样的深度链接体验,ALink提供了延迟深度链接解决方案,当新用户安装应用时,并在第一次打开时,ALink会为应用提供归因信息,包括链接上配置的任何参数,客户端开发者可以使用这些数据将新用户转至应用内的指定页面。
小明关于双十一的短信商品营销活动成功地将老客户直达App内双十一商品营销页
然而,小明也知道,可能一些收到短信的人已经卸载了或者从未安装过这款商城应用Buyer Online。他希望这些潜在用户享受与现有用户相同的活动产品,以提高转化率和用户满意度。
为了达到这个目的,小明在和客户端开发人员的合作下,集成了ALink的延迟深度链接功能。收到短信的未安装用户在点击短信链接并安装后,第一次打开就会被直接带到双十一商品营销页
之前的章节3)深度链接 - 参数配置 已经做了deeplink_value或者tr_param的配置,延迟深度链接完全可以沿用之前的配置,不做任何更新,当然,也可以换另外一个参数用于延迟唤醒
如果,上面深度链接配置的落地页并且集成了Deep Link JS SDK,则可以通过启用剪切板来提升延迟唤醒的准确度
原理:H5上sdk会将用户点击信息存入设备剪切板,当安装App并打开后,客户端SDK读取以达到精准的场景还原
只需要把Deep Link JS SDK中配置enableClip
设置成true即可,这个也需要客户端SDK对应开启配置,请参考下文
现在联系客户端开发同学做SDK集成开发
在onAttributionData接口中,app开发者可以根据返回的数据来决定用户的接下来的动作,拿一开始小明的双十一商品页营销举例,使用配置的deeplink_value写下如下伪代码:
func onAttributionData(attributionData map[string]string) { if attributionData['deeplink_value'] == '双十一' { navagateToDoubleElevenPage() // 将当前用户路由到双十一营销页面会场 } }
当然,返回的字段较多,你也可以直接使用其他字段来路由,比如:当前配置的推广活动链接名称:小明_双十一_商品营销
,对应变量名:name
如果是刚卸载过的,记得把测试的Debug包渠道号或者版本换下,之后发正式包再改回来
设备联调未安装应用
,如下图所示:查询是否正确上报点击和安装激活数据:
在再营销活动分析页面查询,如下图所示:
注:实时数据有5min的cache,联调后大概等个5min再查询
上面,我们以设备联调工具走通了整个流程,但正式把链接投出前,我们需要完成真实场景的端到端联调
TBD
这里列出做ALink联调可能遇到的问题,并给出自查步骤,如果自查步骤验证后无法解决,可以直接联系您的CSM反馈
唤起的前置条件:
可按照以下几点自查下:
且,当前App是手机中是已安装状态
https://${subdomain}.``volctracer.com/.well-known/apple-app-site-association
, 看是否可以下载文件,以及文件中的内容是否符合预期和上述基本一致,提前检查监测面板和SDK对应配置是否正确,额外注意一点:ALink只会跳转形如:${domain}/a/${token}
的链接,直接点击域名是不会唤醒的
唤起的前置条件:
唤起的前置条件:
如果保证上述前置条件满足,一般肯定会有再互动数据
如果唤起现象是正常唤起主页,但没有按预期跳转到指定页面,一般来说,是SDK没有正确回调onALinkData接口,因而也不会上报再互动事件数据
首先,SDK开启Debug日志并关闭加密,看下/service/2/alink_data接口请求和返回的结果是什么,要确保:SDK设置的appid和ALink所在的appid必须一致,否则接口会返回400,当然也不会回调
唤起的前置条件:
唤起的前置条件:
唤起的前置条件:
不需要,一旦正确集成了我们的Deep Link JS SDK,未安装的商店跳转都由落地页SDK控制,跳转的商店地址使用的是链接中配置的Android和iOS的URL,所以,这里注意点:Android和iOS URL栏最好填写下载地址,而不是另外一个落地页,下图补充下配置了落地页的跳转链路:
暂时无法在飞书文档外展示此内容
SaaS场景下由广告监测提供ALink短域名,并允许客户定义三个子域名,但在私有化场景下,由客户提供域名支持ALink链接生成,默认使用埋点日志上报域名
如果客户想增加新的短域名用于ALink使用,步骤如下:
上面两侧做好后,客户便可以在建立模版时选择该新的短域名,用于ALink链接创建,如下图所示:
客户的技术侧需要集成的sdk中增加新增的短域名,增加后再进行联调使用。
技术侧调整如下:
config.enableDeferredALink = YES;
默认,客户拿出去做投放的链接是平台上生成的ALink短链
但,因为某种原因,想使用自己的H5落地页链接做投放,但又想实现Deep Link和Deferred Deep Link
此时,只需要在Deep Link JS SDK上开启记录点击即可,样例代码:
<script src="https://lf3-data.volccdn.com/obj/data-static/data/dp/openapp/index.1.4.3.cn.js"></script> <script> var alink = new window.Alink({ token: '${token}', enableClip: false, //是否开启剪贴板(用于分享裂变场景,默认关闭) recordClick: true, // 是否记录点击,默认不需要开启 onReady: function () { // 执行初始化操作或者事件绑定 console.log('alink ready') var m = this; var button = document.getElementById('downloadButton'); if (button) { button.onclick = function () { m.invokeOrInstall(); }; } }, }) </script>
配置完成并投放出去后,虽然没有通过ALink链接进到落地页,当未安装App时,跳转到应用商店便会记录点击数据,用于延迟深度链接归因