渠道追踪常见问题
|
收藏
1. 如何判断成功调用trackAppInstall接口
首先需要您们开发人员在您们的 App 中 ,调用 trackAppInstall 接口 ,用来采集 $AppInstall 事件。iOS 和 Android 文档: App 渠道追踪
注:
(1)如果使用精准匹配,iOS 端需要开启获取 IDFA 权限(您的 App 里需要引入 AdSupport 库);Android 端需要在代码里开启获取 IMEI 权限(即 Android SDK 文档中动态申请 android.permission.READ_PHONE_STATE )。
(2)不可以直接在 trackAppInstall 接口中给 utm_soure 等 utm 属性赋值。如果添加了这些赋值代码,App 激活时,就不会进行渠道匹配,而是使用代码中填写的渠道信息设置属性值。
(3)可把渠道包信息,直接设置为 $AppInstall 事件的属性,比如渠道属性 downloadChannel:huawei。
对于 Android 可以给应用商店上传带有标记的渠道包( apk 包),便于区分每个渠道的下载量。可以使用 DownloadChannel 来记录下载商店的渠道。这里 DownloadChannel 只是一个示例,如果需要多个字段来标记渠道包,请按业务实际需要添加。
XML
AndroidManifest.xml 中:
<meta-data android:name="YOUR_DOWNLOAD_CHANNEL" android:value="应用宝" />
1.1. Android 端
初始化 SDK 后,可以调用 trackAppInstall() 方法记录激活事件,多次调用此方法只会在第一次调用时触发激活事件:
JAVA
// 记录激活事件,无自定义属性
try {
// 触发激活事件
SensorsDataAPI.sharedInstance().trackAppInstall();
} catch (Exception e) {
e.printStackTrace();
}
// 记录激活事件,有自定义属性
try {
JSONObject properties = new JSONObject();
//这里的 DownloadChannel 负责记录下载商店的渠道,值应传入具体应用商店包的标记。如果没有为不同商店打多渠道包,则可以忽略该属性的代码示例。
properties.put("DownloadChannel", "XXX");
// 触发激活事件
SensorsDataAPI.sharedInstance().trackAppInstall(properties);
} catch (Exception e) {
e.printStackTrace();
}
1.2. iOS 端
初始化 SDK 后,可以调用 - trackAppInstall 方法记录激活事件,多次调用此方法只会在第一次调用时触发激活事件:
// 记录激活事件,无自定义属性
[[SensorsAnalyticsSDK sharedInstance] trackAppInstall];
// 记录激活事件,有自定义属性
[[SensorsAnalyticsSDK sharedInstance] trackAppInstallWithProperties:@{@"DownloadChannel": @"AppStore"}];
注意: 一定不要在调用 trackAppInstall 接口时传入 $utm_
相关的属性。如果要追踪推广渠道,需要用 App 渠道链接来追踪(推广的渠道链接一般由产品运营人员创建)
$AppInstall 事件采集成功后,可以在神策系统查看是否有相应的 AppInstall 事件(即 App 激活事件):
2. 如何切换 trackAppInstall 接口
2.1. Android 端
由 trackInstallation 接口改为 trackAppInstall() 接口记录激活事件,多次调用此方法只会在第一次调用时触发激活事件:
// 记录激活事件,无自定义属性
try {
// 触发激活事件
SensorsDataAPI.sharedInstance().trackAppInstall();
} catch (Exception e) {
e.printStackTrace();
}
// 记录激活事件,有自定义属性
try {
JSONObject properties = new JSONObject();
//这里的 DownloadChannel 负责记录下载商店的渠道,值应传入具体应用商店包的标记。如果没有为不同商店打多渠道包,则可以忽略该属性的代码示例。
properties.put("DownloadChannel", "XXX");
// 触发激活事件
SensorsDataAPI.sharedInstance().trackAppInstall(properties);
} catch (Exception e) {
e.printStackTrace();
}
2.2. iOS 端
由- trackInstallation: 接口改为- trackAppInstall 接口记录激活事件,多次调用此方法只会在第一次调用时触发激活事件:
// 记录激活事件,无自定义属性
[[SensorsAnalyticsSDK sharedInstance] trackAppInstall];
// 记录激活事件,有自定义属性
[[SensorsAnalyticsSDK sharedInstance] trackAppInstallWithProperties:@{@"DownloadChannel": @"AppStore"}];
2.3. 事件名修改
事件名由自定义事件 AppInstall 改为预置事件 $AppInstall 事件
若用原记录的激活事件名不是 $AppInstall,需要使用虚拟事件将原激活事件和 $AppInstall 合并分析数据,具体咨询神策技术支持
3. 如何在神策查询渠道匹配成功对应的 App 激活事件?
在神策分析的对应项目中,选择 AppInstall 或 App 激活事件,按以下方式查看
App 激活事件匹配成功查询结果应如下显示正确的 utm 渠道参数值,并且渠道追踪匹配模式为精确匹配。如果两者没有同时显示,比如广告系列来源为【未知】、渠道追踪匹配模式为模糊匹配或【未知】,说明渠道追踪精准匹配失败,请联系神策值班同学,进一步排查精准匹配失败原因。
4. UTM参数相关问题
1、utm参数可以使用中文吗?
UTM参数通常用于跟踪链接的来源、媒介、关键词、内容等信息,这些参数需要添加到网址中。
- 理论可行性:UTM参数值可以是中文,但在某些广告投放平台或场景中,可能需要填写经过URL编码(urlencode)处理后的URL。这意味着,虽然中文参数值在技术上可行,但在实际应用中可能会受到一定限制。
- 实践建议:为了避免潜在的编码问题和兼容性问题,建议尽量避免在UTM参数中使用中文。由于技术标准和兼容性的原因,UTM参数通常使用英文字符,包括字母、数字和一些特定的符号。如果使用中文字符,可能会导致链接无法正确解析或跟踪,从而影响数据分析的准确性。
2、utm参数重能用特殊字符吗?
- 空格:在UTM参数中,应避免使用空格。因为空格在URL中有特定的含义,它会被视为参数之间的分隔符。如果参数值中包含空格,可能会导致参数解析错误或链接失效。
- 特殊字符:除了空格外,其他特殊字符(如“&”、“#”、“%”等)也可能导致URL解析错误或链接失效。因此,在UTM参数中应避免使用这些特殊字符。如果确实需要使用这些字符来描述参数值,可以事先进行URL编码处理。
注:本文档内容为神策产品使用和技术细节说明文档,不包含适销类条款;具体企业采购产品和技术服务内容,以商业采购合同为准。