others-AppsFlyer之WebToApp使用
others-AppsFlyer之WebToApp使用
前篇
- 官网 - https://www.appsflyer.com/
- OneLink智能脚本概览——网页到应用的URL生成器 - https://support.appsflyer.com/hc/zh-cn/articles/360000677217
目的是让 落地页 的 apk 能归因到对应的买量渠道来源
结合 fb 像素代码 (js-Facebook像素代码) , 可以让 fb 投放能根据付费优化
使用流程
新建一个 af 的 onelink 模板
配置模板信息
添加该模板的 onelink
配置 onelink
然后就生成了 onelink
这个 onelink 短链等会就是要配置到落地页里, 这个相当于 apk 的下载链接, 会由 af 重定向到模板中配置的 apk 下载链接.
创建只能脚本
其实这一步可以不用, 他只是为了生成 js 脚本代码, 如果已经生成过, 复用 js 脚本即可, 只需要替换 短链 参数即可
点击 保存并生成 即可获得 js 脚本代码, 配置到落地页中即可
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31function _iterableToArrayLimit(t,e){var o=null==t?null:"undef .... // af 压缩后的逻辑代码
var oneLinkURL = "https://abcabc.onelink.me/ULNC"; // 需要配置的短链, 就是 域名+模板ID, 不包含 URL ID 部分
var mediaSource = {keys: ["utm_source"], defaultValue: "meta_source"};
var campaign = {keys: ["utm_campaign"], defaultValue: "default_campaign"};
var adset = {keys: ["utm_adset"], defaultValue: "default_adset"};
var utm_ad = {keys: ["utm_ad"], defaultValue: "default_ad"};
var afSub2 = {keys: ["fbclid"]};
var afSub3 = {keys:["af_sub3"], defaultValue:fbc}; // 自定义参数
var afSub4 = {keys:["af_sub4"], defaultValue:fbp}; // 自定义参数
var afSub5 = {keys:["af_sub5"], defaultValue:fbcode}; // 自定义参数
var deepLinkValue = {keys: ["app_dest"], defaultValue: "default_view"};
var deepLinkSub1 = {paramKey: "deep_link_sub1", keys: ["typeid"], defaultValue: "1a1a"};
var AF_SMART_SCRIPT_RESULT = await window.AF_SMART_SCRIPT.generateOneLinkURL({
oneLinkURL: oneLinkURL,
afParameters:{
mediaSource: mediaSource,
campaign:campaign,
adSet:adset,
ad:utm_ad,
afSub2: afSub2,
afSub3: afSub3,
afSub4: afSub4,
afSub5: afSub5,
}
})
var result_url = null
if (AF_SMART_SCRIPT_RESULT != null) {
result_url = AF_SMART_SCRIPT_RESULT.clickURL; // af 最总生成 apk 现在链接, 配置到 apk 下载 按钮那里
}fb 中配置广告系列信息 (campaign)
然后就可以在 af 中看到这里有数据
测试
- 在 af 后台设备加白, 使用 AID (Google advertising ID)
- onelink 最后拼上参数
&advertising_id=AID
(生产环境要去掉这个参数), 确保能归因到非自然量
设置跳转白名单
-
需要将跳转用到的链接的 域名 (aaa.com) 配置到白名单中
踩坑
下载包 CDN 回源
产生的原因是因为在 创建模板 中配置的 跳转地址是
https://aaa.bbb.com/ddd.apk
af 在跳转到这个链接时默认会自动拼接上参数, 最后变成:
https://aaa.bbb.com/ddd.apk?af_ss_ver=2_7_2&c=default_campaign&af_ad=default_ad
, 就会造成 cdn 回源, 无法使用 cdn 的加速解决办法有两个
简单方式, 在创建链接时, 加上一个参数
af_param_forwarding = false
屏蔽掉自动拼接灵活一点的方式
添加一个归因参数, 如: af_sub1, 透传到一个中转网页
https://aaa.bbb.com/eee.html
上, 在这个网页上去捕获这个参数去动态找到目的 apk 包体然后在 js 中自定义个参数去透传数据, 比如使用
af_sub1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25var platId = 1001; // 需要透传的数据
var oneLinkURL = "https://aaa.onelink.me/ULNC";
var mediaSource = {keys: ["utm_source"], defaultValue: "meta_source"};
var campaign = {keys: ["utm_campaign"], defaultValue: "default_campaign"};
var adset = {keys: ["utm_adset"], defaultValue: "default_adset"};
var utm_ad = {keys: ["utm_ad"], defaultValue: "default_ad"};
var afSub1 = {keys:["af_sub1"], defaultValue:platId};
AF_SMART_SCRIPT_RESULT = await window.AF_SMART_SCRIPT.generateOneLinkURL({
oneLinkURL: oneLinkURL,
afParameters:{
mediaSource: mediaSource,
campaign:campaign,
adSet:adset,
ad:utm_ad,
afSub1: afSub1, // 塞到 afSub1 字段
}
})
var result_url = null
if (AF_SMART_SCRIPT_RESULT != null) {
console.log("AF_SMART_SCRIPT_RESULT", AF_SMART_SCRIPT_RESULT.clickURL)
result_url = AF_SMART_SCRIPT_RESULT.clickURL;
}af 跳转的链接就会加上这个参数
https://aaa.bbb.com/eee.html?af_ss_ver=2_7_2&26af_sub1=1001
af 获取无法展示具体的广告系列
af 获取无法展示具体的广告系列
也就是投放侧配置的 广告系列名, 渠道来源 等信息, 无法展示到 af
原因是 js 中配置短链的时候, 使用了完整的短链, 也就是 链接级 的短链, 如:
https://aaa.onelink.me/ULNC/kcaia7kc
, 应该使用 模板级 的短链, 也就是同个模板下都是相同的部分, 不包含 uri 的部分, 如:https://aaa.onelink.me/ULNC
, 这样 af 才不会使用链接里面的配置覆盖到 url 参数中的 utm_source, utm_campaign 等参数.