说起 iOS 的渠道统计,不少人会想到苹果官方的 App 分析功能(iTunes Connect),但实际操作中我们会发现,这个服务的统计维度还不够全面,许多广告主和运营人员更关心的是各个推广渠道实际带来的安装量、注册量等数据,毕竟这对渠道引流的分析价值更大。iOS的“渠道”通常是指那些在其它 App 或者网页内部,提供到达 App Store 的链接的页面。因此,在 iOS 中追踪发行渠道,主要是追踪进入 App Store 相关页面的渠道信息。

从技术角度来看,也就是在用户首次下载时不仅要获取下载来源,还要实现参数传递,简单来说,就是用户第一次下载后,我能得知后续的注册、活跃、付费等操作行为。或者在此基础上,实现场景还原,帮助用户在首次打开 App 后直接跳转进指定页面,而不是首页。

方案一:苹果官方自带的统计工具 iTunes Connect

登录 iTunes Connect ,在“App 分析”中,能很方便的查看 App 的展示次数、购买量等基础数据,但无法获取更加详细的安装量、注册量等运营数据。

当然,往往 App 推广的渠道会有很多同时进行,怎么对多个渠道的来源做分析呢?同样在“App分析”的“来源”中点击“营销活动”,右上角有个“生成营销活动链接”,进入后就能自定义给每个渠道生成对应的唯一标识。

这种方法虽然可以追踪到多个渠道的来源,但存在以下几个问题:

  1. 只有当营销活动启动后超过一天时间(最长72个小时)后才能显示相关数据;
  2. 至少有 5 个 App 购买量归因于此营销活动时,营销活动才会在“App 分析”中显示;
  3. 统计的维度不完整,仅限“展示次数”、“App 购买量”、“销售额”、“App 使用次数”四个;
  4. iOS 8.0 及以上版本的用户可以选择是否将自己的应用使用情况的数据发送给Apple。

方案二:使用 SFSafariViewController 传递参数

SFSafariViewController 是 iOS 9.0 出现的,可以通过 Safari 对应的 cookier 传递参数,跨App与Safari共享数据。但是 openurl 失败率还是很高,并且有系统版本、浏览器等限制,比如微信等第三方 App 的内置浏览器就不能很好实现。

方案三:通过 IDFA 进行追踪,比如 Google Analytics

常用的比如谷歌官方的 Google Analytics,它的获取原理就是通过获取设备的 IDFA ,来作为唯一标示符号,然后根据你的渠道来源提供数据,通过比对的方式进行渠道定位。弊端在于,用户重置系统,或者关闭广告跟踪的话,这种方法就会失效。

苹果设备设置里都会有一个开关用于限制广告跟踪:

目前用户的隐私保护意识也在逐渐觉醒,只要用户手握这个开关,IDFA 的统计误差就始终存在。

另一方面,Google Analytics 的 iOS 安装跟踪功能仅适用于通过移动广告网络(例如投放应用内广告的AdMob)投放的广告。也就是如果渠道是从线下扫二维码或者web上的推广链接下载是不能通过这种方法跟踪到的,这时就需要其它工具作为补充。

方案四:通过模糊特征匹配的方式进行追踪

用户点击下载链接,会跳转到 App Store 里,这个过程会触发一个服务端的请求,服务器来记录这次点击的设备信息,包括 ip 地址、机型等。同时,被推广 App 这边,也可以记录用户激活 App 时设备的一些基本信息,并上传至服务器。结合下载和激活的时间差,再结合设备的 IP 地址和机型等信息,大概可以模糊地识别出同一个用户先点击了下载链接,再激活了 App,从而确定下载渠道。这种方式在面对用户量大的渠道时,准确率就会下降不少。

方案五:采用第三方 SDK 追踪,比如 openinstall

openinstall 基本原理:

  1. 开发者在分享的 h5 页面上集成 openinstall web sdk,发布分享链接时在url上动态的拼接任意的自定义参数(如推广渠道号,邀请码,游戏房间号等等);
  2. 当某一终端访问该 h5 页面时,openinstall web sdk 将同时确定该设备的个性化信息和采集自定义参数,上传至 openinstall 服务器, 待用户通过该 h5 页面安装 App 后首次打开时,使用 openinstall Android/iOS sdk 从 openinstall 服务器再取回暂存的自定义参数。

在推广渠道相当多的情况下,通过分发 h5 落地页给不同渠道,从每个渠道来的用户,没有任何感知的情况下,后台可以统计到他激活及注册时的渠道 ID (甚至其他任意参数)。实际误差是较低的,相比其他方法精准度更高。

这种方法没有 iTunes Connect 的诸多限制,也很好的补充了 Google Analytics 不能统计网页下载渠道的弊端,理论上可以同时生成无上限的渠道链接进行统计,由于是国内产品,还能实时反馈数据情况。

总结:

我的建议是,如果自己的业务既有网站又有 App 的话,Google Analytics 的一系列产品都可以使用,毕竟都用同一种统计工具,可以保证数据的统一性,方便数据分析。

当然,从权威性来看,苹果官方的 iTunes Connect 自然更加值得信赖,但上文提到的弊端需要适当斟酌。

两者在使用中都可以用 openinstall 来补充弊端,如果产品主要是面对移动端,openinstall 甚至可以兼容安卓的统计,在市场运营中也能保证数据的统一性。

iOS渠道追踪统计方法大全的更多相关文章

  1. IOS渠道追踪方式

    本文来自网易云社区 作者:马军 IOS,安卓渠道追踪的差异 Google Play国内不可用,国内的安卓 App 分发,都是依托几十个不同的应用市场或发行渠道,如百度.360.腾讯等互联网企业以及小米 ...

  2. App渠道统计方法全面解析 总有一种适合你

    一.App渠道统计对于App推广运营的重要性 (理解App渠道统计重要性的老司机,请直接移步到第二部分) App服务的竞争重点已经由功能竞争转向市场和运营的竞争,而App的推广与运营离不开App渠道统 ...

  3. 免打包:简单、灵活、便捷的APP渠道统计方法

    相信做过APP运营推广的小伙伴们应该对APP渠道统计并不陌生吧.APP推广运营人员需要根据数据来评估渠道推广的效果,找到最适合自家APP的渠道,有针对性的投放,不断完善推广策略,这样才能更加精准.有效 ...

  4. iOS-提高iOS开发效率的方法和工具

    提高iOS开发效率的方法和工具 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时 ...

  5. iOS渠道分包2种模式之包内注入文件分包

    解决问题:商业模式中会存在这样的形式1款app需要不同的运用团队(工会)去分包推广,谁推广的包下载的人数都会在服务器记录,不同渠道的标示唯一来区分. iOS渠道分包模式有两种 一.IDFA模式 IDF ...

  6. [OC][转]UITableView属性及方法大全

    Tip: UITableView属性及方法大全  (摘录地址) p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 14.0px; font: 1 ...

  7. JS去掉首尾空格 简单方法大全(原生正则jquery)

    JS去掉首尾空格 简单方法大全 var osfipin= ' http://www.cnblogs.com/osfipin/ '; //去除首尾空格 osfipin.replace(/(^\s*)|( ...

  8. iOS中的过期方法和新的替代方法

    关于iOS中的过期方法和新的替代方法 1.获取某些类的UINavigationBar的统一外观并设置UINavigationbar的背景 注:方法名改了但是基本使用方法不变 + (instancety ...

  9. opencv直线检测在c#、Android和ios下的实现方法

    opencv直线检测在c#.Android和ios下的实现方法 本文为作者原创,未经允许,不得转载 :原文由作者发表在博客园:http://www.cnblogs.com/panxiaochun/p/ ...

随机推荐

  1. Python程序包的构建和发布过程

    关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. Github:https:/ ...

  2. linux 目录大小 文件个数 基于文件大小排列显示

    显示硬盘占用空间du -hlsblk 查看指定目录大小du -sh /opt查看各个目录大小du -h --max-depth=1 当前目录的全部文件个数(包含子文件夹的文件)ls -lR | gre ...

  3. 开发APP必须知道的API集合,来源http://www.cnblogs.com/wikiki/p/7232388.html

    笔记 OneNote - OneNote支持获取,复制,创建,更新,导入与导出笔记,支持为笔记添加多媒体内容,管理权限等.提供SDK和Demo. 为知笔记 - 为知笔记Windows客户端开放了大量的 ...

  4. unityshader(属性)

    _Color("Color",Color)=(1,1,1,1)//RGBA _Vector("vector",Vector)=(1,2,3,4) //,fixe ...

  5. 命令行通过入参调用jar包

    命令行通过入参调用jar包 最近因为项目需要,需要实现一个功能,即定时执行服务器上的一个脚本去对数据库的数据进行业务处理,要操作的数据库有很多种,mysql.db2.oracle.sqlserver等 ...

  6. openSession 与 getCurrentSession的区别

    1.openSession 每一次获得的是一个全新的session对象,而getCurrentSession获得的是与当前线程绑定的session对象 package cn.kiwifly.view; ...

  7. Keras(七)Keras.layers各种层介绍

    一.网络层 keras的层主要包括: 常用层(Core).卷积层(Convolutional).池化层(Pooling).局部连接层.递归层(Recurrent).嵌入层( Embedding).高级 ...

  8. 求树的重心 DFS

    树的重心 何谓重心 树的重心:找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心,删去重心后,生成的多棵树尽可能平衡. 树的重心可以通过简单的两次搜索求出,第一遍搜索求出每个结 ...

  9. POJ 1077 Eight (BFS+康托展开)详解

    本题知识点和基本代码来自<算法竞赛 入门到进阶>(作者:罗勇军 郭卫斌) 如有问题欢迎巨巨们提出 题意:八数码问题是在一个3*3的棋盘上放置编号为1~8的方块,其中有一块为控制,与空格相邻 ...

  10. 牛客小白月赛 G 异或 找规律

    链接:https://www.nowcoder.com/acm/contest/135/G来源:牛客网 题目描述 从前,Apojacsleam家的水族箱里,养了一群热带鱼. 在这几条热带鱼里,Apoj ...