说起 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. 帝国CMS(EmpireCMS) v7.5 前台XSS漏洞分析

    帝国CMS(EmpireCMS) v7.5 前台XSS漏洞分析 一.漏洞描述 该漏洞是由于javascript获取url的参数,没有经过任何过滤,直接当作a标签和img标签的href属性和src属性输 ...

  2. springboot+支付宝条码支付开发详解

    背景:项目原有乐刷聚合支付,无法参加支付宝.微信等支付机构的官方活动 需求:增加原生支付(支付宝条码支付) 方法: 一.官方文档:https://docs.open.alipay.com/194/10 ...

  3. net必问的面试题系列之基本概念和语法

    上个月离职了,这几天整理了一些常见的面试题,整理成一个系列给大家分享一下,机会是给有准备的人,面试造火箭,工作拧螺丝,不慌,共勉. 1.net必问的面试题系列之基本概念和语法 2.net必问的面试题系 ...

  4. js学习重点难点知识总结 (巩固闭包、原型、原型链)

    学习重点知识总结   1.闭包知识点巩固        闭包函数:                    1.可以实现函数外部访问函数内部的变量                     2.在Java ...

  5. 随笔编号-09 批量导入数据(Mysql)报MySQL server has gone away 问题的解决方法

    问题场景: 使用*.sql 脚本,批量导入数据到mysql实例中,使用DOS 界面导入的,期间,到最后一步 source D:\aaa.sql  回车后,系统提示 MySQL server has g ...

  6. 蓝桥杯单片机CT107D 01 底层驱动基础

    代码下载 https://share.weiyun.com/5NHvLxG 这两个代码文件是其他底层驱动代码的基础: 包含了控制138573(间接控制数码管led和蜂鸣器等).delay延时函数.CT ...

  7. MySQL运行时自动生成的性能相关的数据参考

      某大师曾说过,一个DBA要像熟悉自己的老婆一样熟悉自己的数据库,个人认为包含了两个方面的熟悉: 1,在稳定性层面来说,更多的是关注高可用.读写分离.负载均衡,灾备管理等等high level层面的 ...

  8. HTML(七)CSS

    一个实例 <!DOCTYPE html> 菜鸟教程(runoob.com) body { background-color:#d0e4fe; } h1 { color:orange; te ...

  9. zoj 3261 Connections in Galaxy War(并查集逆向加边)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3261 题意:有很多颗星球,各自有武力值,星球间有一些联系通道,现 ...

  10. Springboot源码分析之Spring循环依赖揭秘

    摘要: 若你是一个有经验的程序员,那你在开发中必然碰到过这种现象:事务不生效.或许刚说到这,有的小伙伴就会大惊失色了.Spring不是解决了循环依赖问题吗,它是怎么又会发生循环依赖的呢?,接下来就让我 ...