我是标题
  • 介绍
  • 产品使用指南
    • 新手入门
      • 神策分析是什么
      • 神策分析能做什么
      • 神策分析怎么解决问题
      • 神策分析的数据来源
    • 功能介绍
      • 基本概念
        • 行为分析常用名词
        • 神策分析相关名词
        • 基础指标配置说明
        • 属性筛选条件说明
      • 分析模块
        • 事件分析
        • Session 分析
        • 漏斗分析
        • 留存分析
        • 分布分析
        • 归因分析
        • 用户路径分析
        • 网页热力分析
        • APP 点击分析
        • 间隔分析
        • 用户属性分析
        • 搜索用户
        • 用户分群
          • 用户分群(1.14 版本)
          • 用户分群
          • 用户分群(1.13 之前版本)
        • 用户行为序列
        • 书签及数据概览
          • 数据概览(1.11 之前版本)
          • 概览分组
          • 渠道对比组件使用说明
          • 预置概览
        • 自定义查询
      • 辅助功能
        • 事件分类
        • 查询抽样
        • 权限管理
          • 角色权限与账号(1.14 版本)
        • 预警管理
        • 元数据管理
        • 可视化全埋点
        • 维度字典
        • 正则表达式
        • 推荐分享
        • 小版本升级
        • 掌上神策分析
  • 技术指南
    • 数据采集
      • 数据模型
      • 数据格式
      • 调试模式
        • 调试模式动态配置
      • 数据校验
      • 导入实时查看
        • 导入实时查看(新版本)
        • 导入实时查看(老版本)
      • 埋点管理
      • 多项目
      • 如何准确的标识用户
      • 新增用户及首日首次标记
    • 快速接入指南
      • 接入前准备(全员阅读)
      • 如何准确的标识用户 (全员阅读)
      • 事件设计 (需求方阅读)
      • SDK 采集数据 (开发必读)
        • JavaScript 快速使用
        • 微信小程序快速使用
        • Android 快速使用
        • iOS 快速使用
        • Java 快速使用
      • 数据校验(测试必读)
    • 客户端 SDK
      • C++ SDK
      • 微信小程序 SDK
        • 微信小程序 SDK 历史版
        • 微信小程序 SDK 标准版
        • 微信小程序 SDK 插件版
        • 微信小程序 SDK 自定义全埋点版
      • 支付宝小程序 SDK
      • 百度小程序 SDK
      • JavaScript SDK
        • 常见问题
        • 全埋点(AutoTrack)
        • 点击图(HeatMap)
        • 单页面
        • 关闭页面发数据
      • Android SDK
        • 常见问题
        • 全埋点(AutoTrack)
        • 点击图(HeatMap)
      • iOS SDK
        • 常见问题
        • 全埋点(AutoTrack)
        • 点击图(HeatMap)
      • 打通 App 与 H5
      • App 第三方框架
        • React Native(Android & iOS)
        • Flutter(Android & iOS)
        • Weex(iOS)
        • Weex(Android)
        • 第三方 H5 页面嵌入 js(iOS)
        • 第三方 H5 页面嵌入 js(Android)
      • APICloud SDK
    • 服务端 SDK
      • C SDK
        • C SDK Demo
      • CSharp SDK
      • Java SDK
        • Java SDK Demo
      • Python SDK
      • PHP SDK
      • Ruby SDK
      • Golang SDK
      • Node SDK
    • 公共属性
    • 渠道追踪
      • App 渠道追踪
      • Web 渠道追踪
      • 小程序渠道追踪
      • 渠道对接
      • 渠道链接管理
    • 数据导入
      • BatchImporter
      • LogAgent
        • LogAgent 场景使用示例
      • FormatImporter
      • HdfsImporter
      • 数据导入常见问题
    • 数据导出
      • 查询 API
      • 订阅实时数据
      • 使用 JDBC 进行数据访问
      • 数据迁移
    • 辅助工具
      • 数据清理工具使用说明
      • 多项目管理工具使用说明
      • 元数据创建工具使用说明
      • 环境检测工具使用说明
    • 高级功能
      • 数据接入 API
      • App 消息推送
      • 虚拟属性和维度表
      • 数据预处理模块
      • 服务转发配置
      • 使用 HTTPS 的数据接入
      • API
        • 查询 API
        • 功能 API
          • 分群 API(1.12 及之前版本)
          • 分群 API(1.13 版本)
          • 分群 API(1.14 版本)
          • 埋点统计 API(1.11 及之前版本)
          • 埋点统计 API(1.12 及之后版本)
      • 第三方登录
      • 数据归档
  • 最佳实践
    • 功能应用示例
      • 事件分析
      • 漏斗分析
      • 留存分析
      • 分布分析
      • 间隔分析
      • 用户分群
      • 自定义查询
      • 用户行为序列
    • 复杂分析场景
      • 定位商品销量变化原因
  • 常见问题
  • 产品更新日志
Powered by GitBook
On this page
  • 1. App 通用渠道推广
  • 1.1 构建渠道追踪链接
  • 1.2 iOS App 调用 trackInstallation:
  • 1.3 定制 Android 下载商店渠道包(下载渠道)
  • 1.4 动态添加自定义参数
  • 2. 微信推广
  • 3. App 内推广
  • 3.1.1 今日头条配置
  • 3.1.2 广点通配置
  • 3.1.3 百度信息流的配置
  • 3.1.4 Apps Flyer 用 csv 导入渠道追踪数据
  • 3.2 iOS App 开启 IDFA 作为 distinct_id
  • 3.3 iOS App 调用 trackInstallation:
  • 3.4 Android App 调用 trackInstallation
  • 4. 短信推广
  • 5. 如何查看渠道追踪
  • 5.1 获取链接点击次数
  • 5.2 App 激活用户数

Was this helpful?

  1. 技术指南
  2. 渠道追踪

App 渠道追踪

Previous渠道追踪NextWeb 渠道追踪

Last updated 6 years ago

Was this helpful?

神策分析 1.13 版本使用全新渠道管理功能,若您系统为 1.13 及以上版本,点击查看

目前,常见的 App 推广主要有下面四种场景:

下面以这四种常见的场景为例,分别介绍一下神策具体的方案。

1. App 通用渠道推广

对于 iOS 来说,由于 iOS10 的限制,App 通用渠道推广目前只能是模糊匹配,主要是基于 IP、Date、User Agent 构建的模糊匹配,匹配成功率在75%左右。而 Android 本身有渠道包的概念,我们建议直接使用渠道包,可以达到精准匹配。如果不使用渠道包, Android 也会跟 iOS 一样进行模糊匹配。

1.1 构建渠道追踪链接

首先,开发者需要使用神策分析渠道链接生成工具(点击神策分析右上角‘创建渠道链接’进入) ,填入渠道信息及跳转目标,构建渠道追踪链接。

在该工具中,开发者请根据页面中的信息,输入相关渠道信息和跳转链接,例如:

  • 神策分析采集数据的 URL - 假设开发者的神策分析采集数据的地址为: http://${service_name}.cloud.sensorsdata.cn/sa?token=${token},即初始化 SDK 时的 SERVER_URL

  • 跳转目标 URL - Android 或 iOS 的下载地址,也可以是应用宝的微下载地址,或某个落地页的 URL

    • 广告系列来源 - XX宝

    • 广告系列媒介 - Banner

    • 广告系列名称 - Keynote App

那么,如上图,在页面下方会自动生成渠道链接。

根据上面描述的方法,可以分别给 iOS 和 Android 生成渠道链接。开发者可以将该链接提交给渠道商。

提示:

  • Android 如果使用了渠道包,可以不使用该工具生成 Android 渠道链接,直接给渠道商提供 apk 的下载链接地址即可。

  • 如果客户使用了应用宝的微下载功能,也可以直接使用微下载的地址生成一个渠道链接。

1.2 iOS App 调用 trackInstallation:

在 iOS App 中集成并初始化 SDK 后, 当 App 启动时,调用 trackInstallation: 接口(SDK 内部已添加只有 App 安装后的首次调用有效的逻辑),传入代表 App 激活的事件名称及相关事件属性,iOS SDK 会发送追踪事件。如果神策分析根据本次追踪事件的 IP 地址、User Agent 生成的设备指纹,成功匹配服务端的设备信息,则会将设备信息中的渠道信息写入事件属性中;否则,认为匹配渠道信息失败。

    // 记录激活事件,追踪渠道效果
    [[SensorsAnalyticsSDK sharedInstance] trackInstallation:@"AppInstall"];

对于前文中生成的渠道追踪链接,其中渠道信息会被写入事件属性和用户 Profile 中:

  • 广告系列来源 - $utm_source 属性,String 类型

  • 广告系列媒介 - $utm_medium 属性,String 类型

  • 广告系列字词 - $utm_term 属性,String 类型

  • 广告系列内容 - $utm_content 属性,String 类型

  • 广告系列名称 - $utm_campaign 属性,String 类型

用户调用 trackInstallation: 接口等价于同时调用 track: 发送包含上述属性的事件,并调用 profileSetOnce: 设置用户的上述 Profile。

1.3 定制 Android 下载商店渠道包(下载渠道)

对于 Android 可以给应用商店上传带有标记的渠道包( apk 包),便于区分每个渠道的下载量。可以使用 DownloadChannel 来记录下载商店的渠道。这里 DownloadChannel 只是一个示例,如果需要多个字段来标记渠道包,请按业务实际需要添加。

AndroidManifest.xml 中:

<meta-data
    android:name="YOUR_DOWNLOAD_CHANNEL"
    android:value="应用宝" />

初始化 SDK 后,调用 trackInstallation 记录激活事件、渠道追踪:

    try {
            String downloadChannel = null;
            // 获取下载商店的渠道 
             downloadChannel = SensorsDataUtils.getApplicationMetaData(this, "YOUR_DOWNLOAD_CHANNEL");
            JSONObject properties = new JSONObject();
            //这里示例 DownloadChannel 记录下载商店的渠道(下载渠道)。如果需要多个字段来标记渠道包,请按业务实际需要添加。
            properties.put("DownloadChannel", downloadChannel);
            //记录激活事件、渠道追踪,这里激活事件取名为 AppInstall。
            SensorsDataAPI.sharedInstance().trackInstallation("AppInstall", properties);
        } catch (Exception e) {
            e.printStackTrace();
        }

下载渠道:在 apk 代码内的标记,一般用于区分不同的应用商店(例如:应用宝、小米商店)。

推广渠道:渠道链接 URL 中的 utm 信息,一般用于区分不同的推广投放。

1.4 动态添加自定义参数

特别的,如果需要在生成的渠道追踪链接上动态添加自定义参数,可在链接最后手动拼接自定义参数。神策在进行渠道匹配时,匹配成功后会自动将自定义参数添加到激活事件中。若没有特殊需求可忽略该设置。

例如:给不同的用户分配不同的渠道链接,用户使用该链接邀请其他用户下载 App,通过链接参数记录不同用户邀请的其他用户量。

生成的渠道链接为:https://${service_name}.datasink.sensorsdata.cn/r/A

拼接后的链接为:https://${service_name}.datasink.sensorsdata.cn/r/A?indexid=12345

其中 indexid 为自定义参数,可根据需求自行设置。

2. 微信推广

微信推广,常见的有两种方式:

  • 在朋友圈分享落地页

  • 扫描二维码打开落地页

微信推广,与 App 通用渠道推广一样,iOS 也是属于模糊匹配。

如果需要二维码,将相应的链接生成二维码即可。

3. App 内推广

App 内推广,会稍微复杂一点,因为各个推广平台的做法可能不太一样,下面以在 今日头条 和 广点通 推广为例介绍神策的做法,如果有其他推广平台,请联系我们技术人员配合。

对于 iOS 由于今日头条和广点通会获取用户的 IDFA 并通过回调通知客户,所以要求 iOS App 必须开启 IDFA 作为 匿名ID 才能匹配上。

对于 Android 由于要追踪渠道链接中投放的推广渠道,所以 Manifest 中不能按照神策 `meta-data` 方式定制渠道信息,代码中也不能传入 `$utm_` 开头的渠道字段。Android 端会使用 IMEI 做渠道信息的匹配,动态申请 `android.permission.READ_PHONE_STATE` 权限后再调用 `trackInstallation` 。

在启动页 Activity 的 onCreate 方法中申请权限:

    //申请 READ_PHONE_STATE 权限
    if(Build.VERSION.SDK_INT >=Build.VERSION_CODES.M){
        if (ActivityCompat.checkSelfPermission(this, "android.permission.READ_PHONE_STATE") != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this, new String[]{"android.permission.READ_PHONE_STATE"}, 100);
        }
    } else {
        // 6.0 以下 直接调用 trackInstallation 触发激活事件,做渠道追踪。
        trackInstallation();
    }

在 onRequestPermissionsResult 方法中,调用 trackInstallation

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (requestCode == 100) {
            //申请权限结果回调时,调用 trackInstallation 触发激活事件,做渠道追踪。
            trackInstallation();
        }
    }


    /**
     * 记录激活事件、并做渠道追踪。
     */
    private void trackInstallation() {
        try {
            JSONObject properties = new JSONObject();
            properties.put("DownloadChannel", "应用宝");//这里的 DownloadChannel 负责记录下载商店的渠道。这里传入具体应用商店包的标记。
            //这里激活事件取名为 AppInstall。
            //注意 由于要追踪不同渠道链接中投放的渠道,所以 Manifest 中不能按照神策的方式定制渠道,代码中也不能传入 $utm_ 开头的渠道字段!!!
            SensorsDataAPI.sharedInstance().trackInstallation("AppInstall", properties);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

3.1.1 今日头条配置

向今日头条提供 iOS 和 Android 的下载地址,也可以是中间某个落地页。

请按照如下方式配置今日头条后台广告监测URL:

http://xxxx.com:8006/cb/installation_track?project=production&token=xxx&utm_source=xxx&channel_name=toutiao_track&idfa=__IDFA__&imei=__IMEI__&mac=__MAC__&os=__OS__&callback_url=__CALLBACK_URL__

其中:

  • __IDFA__ 等信息是占位符,是由今日头条回调时替换的,一般无需关心。

  • 广告来源、广告内容: 需要替换成实际的推广标识内容。

3.1.2 广点通配置

  1. 左侧点击工具箱;

  2. 点击 “转化辅助” 打开页面;

  3. 点击 “创建新转化” 填写信息:设置步骤中,“转化方案” 请选择 “API方案一”,“Feedback URL” 请参考样例:

    http://YOUR-SENSORS-ANALYTICS-DOMAIN/gdt?utm_source=xxx&project=production&token=XXXXXXX
    • YOUR-SENSORS-ANALYTICS-DOMAIN 为神策数据接收地址中的域名;

    • 路径为 /gdt;

    • project 为项目名,token 为项目对应的数据接收地址中的 TOKEN(若有);

    • 可指定 utm 参数 utm_source、utm_medium、utm_term、utm_content、utm_campaign;

  4. 点击 “联调测试” 任意填写一个 ID,例如 AAAA,提示 “联调成功” 则配置完成;

  5. 在 “转化状态” 栏启用;

使用广点通回调需提供“广告主 ID”和相应的“EncryptKey”、“SignKey”,由运维在系统里配置;

3.1.3 百度信息流的配置

  1. 按照图片的步骤进入最后的页面

  2. 监测地址应该写

iOS:

    http(s)://{神策地址}/cb/installation_track?project={项目名}&idfa={{IDFA}}&utm_source={广告系列来源}&utm_campaign={广告系列名称}&$ip={{IP}}&utm_medium={{IDEA_ID}}&utm_content={{UNIT_ID}}&click_time={{TS}}&callback_url={{CALLBACK_URL}}&sign={{SIGN}}&channel_name=baidu_track

Android:

    http(s)://{神策地址}/cb/installation_track?project={项目名}&imei={{IMEI_MD5}}&utm_source={广告系列来源}&utm_campaign={广告系列名称}&$ip={{IP}}&utm_medium={{IDEA_ID}}&utm_content={{UNIT_ID}}&click_time={{TS}}&callback_url={{CALLBACK_URL}}&sign={{SIGN}}&channel_name=baidu_track

链接中的{神策地址}和{项目名}需要替换成对应的值。 {广告系列来源}和{广告系列名称}等 utm_ 参数需要替换成实际的推广标识内容。

  1. 将 akey 的值发送给神策运维

  2. 之后交给神策运维在后台执行命令

3.1.4 Apps Flyer 用 csv 导入渠道追踪数据

  1. 首先导入事件信息,使用命令

    python3 format_importer.py csv_event \
     --url 'import_url' \                                       # 数据导入的地址
     --filename 'csv_file_path' \                               # 导入数据的 csv 文件地址
     --project 'project_name' \                                 # 要导入的项目名称
     --distinct_id_from 'IDFA' \                                # distinct Id 的来源列,一般 IOS 选择 IDFA,Android 可选择 IMEI 或 Android Id。
     --event_default '$AppChannelMatching' \                    # 访问渠道追踪链接的事件,建议不修改
     --timestamp_from 'Attributed Touch Time' \                 # 事件发生时间的列来源。
     --timestamp_format '%Y/%m/%d %H:%M' \                      # 时间列来源的时间格式,可根据具体的时间格式修改
     --property_list '$ip,$utm_source,$utm_content,$utm_term' \ # 填写导入的属性列,除了'$ip'必须添加之外, 其他的参数可根据需要进行导入。
     --csv_delimiter '   '                                      # csv 的分隔符,默认是',',可根据具体情况选择是否使用此参数
  2. 接着是导入用户信息, 使用命令

    python3 format_importer.py csv_profile \
     --url 'import_url' \                                       # 数据导入的地址
     --filename 'csv_file_path' \                               # 导入数据的 csv 文件地址
     --project 'project_name' \                                 # 要导入的项目名称
     --distinct_id_from 'IDFA' \                                # distinct Id 的来源列,一般 IOS 选择 IDFA,Android 可选择 IMEI 或 Android Id。
     --property_list '$ip,$utm_source,$utm_content,$utm_term' \ # 填写导入的属性列,除了'$ip'必须添加之外, 其他的参数可根据需要进行导入。
     --csv_delimiter '   '                                      # csv 的分隔符,默认是',',可根据具体情况选择是否使用此参数
  3. 至此已将 csv 中所有的渠道追踪数据导入完成,可以在埋点管理中查看是否导入成功。

3.2 iOS App 开启 IDFA 作为 distinct_id

3.3 iOS App 调用 trackInstallation:

3.4 Android App 调用 trackInstallation

4. 短信推广

5. 如何查看渠道追踪

5.1 获取链接点击次数

当用户点击用我们的链接生成工具生成的链接时,会触发 $AppChannelMatching 事件,可通过查询该事件的总次数获取链接的点击次数。 注意: 该事件默认是隐藏的,需要在"元数据"中的“元事件”里勾选“显示所有隐藏事件”,然后将该事件设置为可见。该事件中的 匿名 ID 与 App 中的 匿名 ID 是不相同的,主要是用来统计链接的点击次数,而不能基于 匿名 ID 统计具体某个用户的转化。

该事件中的 distinct_id 取值方式与真实用户的 distinct_id 是不相同的,由 IP 、操作系统版本拼接而成,主要用于统计链接的点击次数,而不能基于该 ID 统计具体某个用户的转化,且不会被写入用户表。

5.2 App 激活用户数

A. 选择“行为事件分析”功能

B. 选择事件:trackInstallation: 接口对应的事件名

C. 选择指标:触发用户数

D. 添加分组:广告系列来源

在工具中填入的“广告系列来源”等渠道信息,在后续的渠道激活事件中会作为事件属性写入,当用户需要在链接中添加更多属性时,可以点击页面中“增加自定义属性”按钮,并在下方输入属性名称和属性值。如果开发者对我们提供的渠道信息有疑惑,请阅读文章 。

注意: 一定不要在调用 trackInstallation: 接口时传入 $utm_ 相关的属性。如果要追踪推广渠道,需要用 App 渠道链接来追踪(推广的渠道链接一般由产品运营人员创建),具体请参考 。

微信推广与 App 通用渠道推广基本一致,唯一的区别就是在微信中无法直接跳转到 App Store 的下载地址页面(目前微信只对应用宝的微下载功能开放了该功能)。所以在构建渠道追踪链接时,建议填写应用宝的微下载地址,这样 iOS 用户不仅可以直接跳转到 App Store 的下载地址页面,而且中间落地页也无需自己判断用户手机系统类型跳转不同的下载页面。iOS 和 Android 端的处理方式与 App 通用渠道推广中的 、 一致。

: 需要替换成实际的神策数据接入地址,如果有指定项目和 Token 参数也需要保留。

打开并登录 ;

广点通要求 Feedback URL 的端口需要为 80 端口,神策默认为 8006 或 8106,故需要配置 80 端口转发,具体配置可;

下载 FormatImporter 。 对于渠道追踪的数据导入,既需要导入事件信息,又需要导入用户信息。

由于csv中的列的名称不符合我们的数据导入规范,需要修改csv中列的名称(您可以自己编写脚本辅助修改)。其中必须将 IP 修改为 $ip;对于 Media Source,Adset,Ad 等相应的列可以通过您的理解修改为相应的 $utm_source,$utm_term,$utm_content,$utm_medium, $utm_campaign, 这些具体的含义参见 页面的最下方。

具体操作方法请参考 。

SDK 版本需要大于等于 1.6.31,请参考 。

SDK 版本需要大于等于 1.6.33,请参考 。

短信推广,一般是在短信里有一个短链接,当用户在浏览器里打开该链接时,会打开一个落地页,然后再根据手机操作系统类型,分别跳转到不同的下载地址页面。剩下的就跟 App 通用渠道推广一致了。具体可以参考。

《如何对付费广告流量进行标记》
构建渠道追踪链接
iOS App 调用 trackInstallation
Android App 调用 trackInstallation
http://xxxx.com:8006
http://e.qq.com/
参考文档
FormatImporter下载方法
神策分析渠道链接生成工具
识别用户
iOS App 调用 trackInstallation:
Android App 调用 trackInstallation
App 通用渠道推广
新版渠道管理功能使用说明
App 通用渠道推广
微信推广
App 内推广
短信推广
image
image
image
image