App渠道来源追踪方案全面分析(iOS/Android/鸿蒙)

一、App 渠道来源追踪概述

渠道来源统计/追踪,其原理都可以称之为归因,归因是用于判断用户在什么原因、什么时间、什么场景下载了 App,以及打通他们在激活 App 后进行的一系列操作(比如注册、付费、加购等)。

渠道来源追踪的实现场景:
我们以某 App 推广为例,渠道 A、B、C 分别对应三个不同的 web 网页,三个 web 网页访问时采用同样的重定向操作,都可以跳转到该 App 的应用商店,并将三个 web 页面投放到不同的推广渠道,比如:

  • 添加到不同的三篇文章中,将三篇文章转发到各个平台引导下载,用户通过哪篇文章下载的,都能追踪到其效果。
  • 分发给不同的推广团队,团队不管是拿去地推也好,活动拉新也好,都能分析到各自拉新引流带来的贡献程度。
  • 转化成二维码,将生成的二维码贴在售卖产品的包装上,分销于不同的店铺,用户在哪里买的产品,那么就是从该产品引导下载安装的 App。

具体的流程如下:

  1. 用户通过点击链接或者扫码访问,会先跳转访问一个 web 网页,web
    网页加载时,会将当前用户设备的部分所需信息,比如设备唯一标识、系统版本等上传给服务器。
  2. 与此同时,页面也会重定向跳转至应用市场,用户在应用市场下载安装该 App。
  3. 安装成功后,用户首次启动 App。
  4. App 在启动时,会自动获取当前用户设备的信息,比如设备唯一标识、系统版本等上传给服务器。
  5. 服务器将第 1 步接收到的设备信息与第 4步发过来的设备信息进行对比,如果能匹配得上,则表明这次安装时由对应渠道链接引导安装的,如果匹配不到,则默认为是自然流量安装。

在这里插入图片描述

理论上以上方案是可行的,但是实际操作时面临的难题却非常多,比如:H5 渠道推广是获取不到设备号的,并且由于 iOS 和安卓多轮迭代,在 web 端实际上已经无法获取过多的设备唯一标识,只能用一些模糊匹配,比如获取设备的 IP、UA、手机型号等,但这些标识都是会变化的。

Android 方法限制:

**IMEI:**国际移动设备标识码,曾经最靠谱的 IMEI,在 Android 10 后禁止获取。

**Android ID:**一种半永久标识符,缺点是系统重置或刷机后会发生变化。并且在 Android 8.0 以后,签名不同的 App 所获取的 Android ID 是不一样的,而如果在 CPI 广告等场景下,就需要唯一标识一台设备,此方案也就不那么有效。

**OAID:**匿名设备标识符,移动安全联盟用于替代 IMEI 的方案,目前只有华为、小米、OPPO、vivo、中兴、努比亚、魅族、联想、三星等设备厂商在逐步支持,缺点是一些旧版本设备没有更新,并且不仅需要第三方工具能够支持,还需要广告投放平台能够支持回传 ID 信息才有效。

iOS 方法限制:

**IDFA:**属于 iOS 的设备号,是唯一标识号,但苹果一直在对 IDFA 做各种使用限制,iOS 10 提供了 Limit Ad Tracking,用户可以在设备设置里主动关闭 IDFA,误差就基于有多少用户关闭了这个按钮。iOS14 以后,App 在访问用户设备的 IDFA 之前,会弹出授权框给用户,必须获取用户授权才能使用,增加了用户拒绝的风险,以后 IDFA 方案准确度会更低。

**iTunes Connect App 分析:**苹果官方统计功能。只需要在 iTunes Connect“App 分析”的“来源”中点击“营销活动”,右上角有个“生成营销活动链接”,进入后就能自定义设置对应的唯一标识,给每个渠道生成专属的渠道链接。将生成的活动链接,用于实际用途中,当访问该链接跳转的 AppStore,则便会统计到具体的营销活动中。

在这里插入图片描述

但缺点也很多,比如:
1、只有当营销活动启动后超过一天时间(最长 72 个小时)后才能显示相关数据;
2、至少有 5 个 App 安装量(需要 5 个不同的 appID,首次下载该 App)归因于此营销活动时,营销活动才会在“App 分析”中显示;
3、iOS 8.0 及以上版本的用户可以选择是否将自己的应用使用情况的数据发送给 Apple;
4、iTunes Connect 的统计无法同时兼容 Android 和 iOS,采用不同的统计方法可能会让数据统一性较差。
5、只做下载统计,后续 App 打开以及用户在 App 内的操作行为,就无法获取。

方案实现:

想通过 web 端进行归因统计,最主要的点在于如何获取设备的唯一标识,安卓常用的 ID 有 IMEI、Android ID 等,iOS 则是 IDFA,这些在网页端目前都存在大量限制,所以只能通过获取其他信息,进行加密规则,产生一个唯一标识。

目前 web 端能够获得的设备信息包括:设备指纹,屏幕宽高、设备像素比、操作系统、操作系统版本、IP 和时间戳等。

这些信息信息只能在小范围推广,比如面向个人用户时区分一定程度的不同设备,但是真正做大范围推广时,由于同类型设备较多,准确率会大大下降。

二、接入第三方工具

自己捣鼓方案存在太多不确定性,比如方案精准度不够,而且沉没成本和维护成本都不是一般公司能承担的。参考国内一些专精渠道来源追踪的第三方公司,按照年收费标准大概一个月几百块,优点是精准度高(方案比较成熟),稳定性较强(有 24 小时的更新和维护),也适用于 App 端(iOS/android/鸿蒙)和 web 端,还适用于多种开发框架。

接入第三方工具的话,App 端和 web 端都需要接入相应的 SDK,用于传递参数、统计 App 的行为等分析。

这里以集成 openinstall 为例实现步骤:
1、在 openinstall 开发者平台创建应用,每个应用会默认生成唯一的 AppKey。

2、App 端(iOS/android/Harmony)SDK 集成。
由于 openinstall 采用零配置方案,并自动生成集成代码,开发者只需根据集成文档按步骤点击下一步,几分钟便可完成 SDK 集成。

3、测试阶段上传 ipa/apk 包,正式使用时配置应用市场的下载链接即可,上传安装包时,会自动读取应用的基础信息,比如包名等,上传完成就可以在线模拟测试,体验完整的 App 安装/拉起流程,待对外正式发布时,配置相应的应用市场地址即可。

4、在线测试
集成完毕并上传 apk/ipa 安装包后,可先使用 openinstall 提供的在线测试功能,确保 App 安装后能正确还原输入的动态参数,能正常的拉起 App。

在这里插入图片描述

5、Web SDK 集成
经过在线测试确认 sdk 集成正确的情况下, 开发人员可以开始在 web 分享页/渠道页上集成 openinstall web api,同样只需简单的复制粘贴即可。

6、添加渠道
将已经集成 web SDK 的公司网页添加到 H5 渠道管理这里,填写自定义 URL 的落地页,添加完成就生成一个渠道管理项,通过打开链接或者扫描二维码下载,就能实现渠道统计了。

在这里插入图片描述

在 App 启动安装时将自动获得渠道相关参数信息,可以通过接口发送给我们的服务器绑定渠道,做数据统计分析。

采用 openinstall 的 SDK,在 Web 端的归因统计数据更为准确,经过测试验证,同一台设备,通过不同的渠道链接或者 Web 网页链接访问并下载的 App,他们对该设备的唯一标识是一样的,即使切换无线网络和移动数据。

openinstall 基本原理

openinstall 的核心价值在于,帮助 Android/iOS 开发者精确的获取 App 每一次安装的分享(或推广)来源。

大致原理如下:

在这里插入图片描述

如今想要自建渠道来源追踪方案是比较困难的,毕竟移动端系统割裂程度大,隐私保护政策也是三天两头在调整,导致各种标识和方法经常迭代,自行打造一套高准确度的方案成本太高,如果预算充足可以采用第三方工具来一步到位,不必重复造轮子。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/7650.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

group_concat配置影响程序出bug

在 ThinkPHP 5 中,想要临时修改 MySQL 数据库的 group_concat_max_len 参数,可以使用 原生 SQL 执行 来修改该值。你可以通过 Db 类来执行 SQL 语句,从而修改会话(Session)级别的变量。 步骤 设置 group_concat_max_l…

物联网赋能的人工智能图像检测系统

一、引言 在数字化时代,物联网(IoT)技术已经成为我们生活中不可或缺的一部分,极大地优化了我们的交通出行和医疗服务。物联网的核心优势在于其卓越的连接能力,它能够构建和连接庞大的资源数据库,为智能化图…

【python笔记】os库中ctime、mtime和atime的区别

ctime Creation Time文件或目录的创建时间 返回秒级时间戳 os.path.getctime(file_path) os.stat(file_path).st_ctime 返回纳秒级时间戳 os.stat(file_path).st_ctime_ns mtime Modification Time文件或目录的最后修改时间 返回秒级时间戳 os.path.getmtime(file_path) os.sta…

3DE 知识工程 —— EKL 函数重用与功能扩展

目录 1、简介 2、EKL 函数重用 2.1 直接调用 2.2 本地库重用 2.3 全局库重用 3、EKL 功能扩展 1、简介 本文介绍两种方法以展示 EKL 更为强大的能力:一是重用 EKL 函数,二是使用 EKL 调用 VB Script 宏中的函数以扩展其功能。 2、EKL 函数重用…

【GESP】C++一级真题练习(202309)luogu-B3864,小明的幸运数

GESP一级真题练习。为2023年9月一级认证真题。应该是两道题中略难的一道。 题目题解详见:https://www.coderli.com/gesp-1-luogu-b3864/ 【GESP】C一级真题练习(202309)luogu-B3864,小明的幸运数 | OneCoderGESP一级真题练习。为2023年9月一级认证真题…

从0开始学习机器学习--Day18--评估模型

在很多时候,构建并优化完模型并不代表这个问题就被解决了。事实上,很多时候,在第一次优化结束并进行预测时,其与真实值之间的误差都会提醒你这个模型需要继续优化。那么,我们应该怎么优化它呢? 选择更多的…

【Hadoop】【hdfs】【大数据技术基础】实验二 熟悉常用的HDFS操作

实验二: 熟悉常用的HDFS操作 一、实验题目 熟悉常用的HDFS操作。 二、实验目的 (1) 理解HDFS在Hadoop体系结构中的角色; (2) 熟练使用HDFS操作常用的Shell命令; (3)…

SpringSecurity的使用

文章目录 原理使用自定义权限校验 主要类通过debug的方式查看security有哪些过滤器配置类UsernamePasswordAuthenticationFilterUserDetailsServiceExceptionTranslationFilter自定义认证和授权异常处理 FilterSecurityInterceptor权限校验创建拦截器获取用户权限并传递给secur…

第30周:彩色图片分类(Tensorflow实战第二周)

目录 前言 一、前期工作 1.1 设置GPU 1.2 导入数据 1.3 数据归一化 1.4 数据可视化 二、构建CNN网络 2.1 基本概念 2.2 代码实现 三、编译 四、训练模型 五、预测 六、模型评估 总结 前言 🍨 本文为[🔗365天深度学习训练营]中的学习记录博…

【Linux】信号

🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343🔥 系列专栏:https://blog.csdn.net/qinjh_/category_12625432.html 目录 信号和信号量 信号 信号的处理 信号捕捉 信号的产生 系统调用 signal rais…

【国内中间件厂商排名及四大中间件对比分析】

国内中间件厂商排名 随着新兴技术的涌入,一批国产中间件厂商破土而出,并在短时间内迅速发展,我国中间件市场迎来洗牌,根据市占率,当前我国中间件厂商排名依次为:东方通、宝兰德、中创股份、金蝶天燕、普元…

【题解】CF2033G

题目 CF2033G 分析 一道很显然是树形dp的题,但非常恶心QwQ。   先不管复杂度,找找递推关系,一种很直接的想法如下(我觉得是错误的): d p [ i ] [ k ] m a x ( d p [ f a i ] [ k − 1 ] , d p [ s o …

SpringBoot之定时任务

1. 前言 本篇博客是个人的经验之谈,不是普适的解决方案。阅读本篇博客的朋友,可以参考这里的写法,如有不同的见解和想法,欢迎评论区交流。如果此篇博客对你有帮助,感谢点个赞~ 2. 场景 我们讨论在单体项目&#xff0c…

【日志】力扣58.最后一个单词的长度//14.最长公共前缀//28. 找出字符串中第一个匹配项的下标

2024.11.6 【力扣刷题】 58. 最后一个单词的长度 - 力扣(LeetCode)https://leetcode.cn/problems/length-of-last-word/?envTypestudy-plan-v2&envIdtop-interview-150 int lengthOfLastWord(char* s) {int count 0;for (int i strlen(s) - 1; i…

智能家居的未来:AI让生活更智能还是更复杂?

内容概要 智能家居的概念源于将各种家居设备连接到互联网,并通过智能技术进行控制和管理。随着人工智能的迅速发展,这一领域也迎来了前所未有的机遇。从早期简单的遥控器到如今可以通过手机应用、语音助手甚至是环境感应进行操作的设备,智能…

1. 初步认识 Java 虚拟机

一、前言 其实一直都想系统性的学习一下 JVM,尝试过很多次,最终没能坚持下来,现在已经工作多年,发现对于 JVM这块知识还是很薄弱,不利于职业长远发展,并且之前掌握的都是一些零散的知识,没能形…

数据结构之二叉树的链式结构——递归的暴力美学

1. 实现链式的二叉树结构 我们之前用顺序表里面数组的底层结构实现了二叉树中堆的结构,但是不是所有的二叉树都具有着堆的性质,所以我们现在需要一个链式结构来描述普遍的二叉树。其底层结构类似一个链表,但是每一个结点由单个区域&#xff…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-31

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-31 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-31目录1. Large Language Models for Manufacturing摘要创新点算法模型实验效果(包含重要数据与结论)推荐…

利用SpringBoot构建城镇住房保障平台

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理城镇保障性住房管理系统的相关信息成为必然…

【笔记】扩散模型(九):Imagen 理论与实现

论文链接:Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding 非官方实现:lucidrains/imagen-pytorch Imagen 是 Google Research 的文生图工作,这个工作并没有沿用 Stable Diffusion 的架构,而是级…