Google Analytics 统计广告来源

最近项目有个需求,就是统计统计安装来源,而且还得传相关参数给新安装的用户,之前项目已经加了这一块的功能(CampaignTrackingReceiver),但是看运维那边一直没有反馈过这个功能.
趁这机会研究一下

实现原理

当您的应用在 Google Play 商店中被下载时,Play 商店应用会在您的应用安装期间向其广播一条 INSTALL_REFERRER Intent。此 Intent 中包含 referrer 参数的值(如果有),此参数来自将用户引荐到您应用的 Google Play 商店页面的链接。

为了将某次应用下载归因到某个广告系列,您需要在指向 Google Play 商店的所有链接中添加 referrer 参数,并在您的应用中添加一个 BroadcastReceiver,以便使用您的 Google Analytics(分析)跟踪器来接收并设置 Intent 中所包含的广告系列信息。

代码

  1. 将 Google Analytics(分析)接收器添加到 AndroidManifest.xml 文件

    
    
        
            
        
    
    


  1. 将 Google Analytics(分析)广告系列参数添加到 Google Play 网址

接下来,请将 referrer 参数添加到直接指向 Google Play 商店的所有网址,并将该参数的值设置为用来描述来源的 Google Analytics(分析)广告系列参数字符串,如下例所示:

https://play.google.com/store/apps/details?id=com.example.application
&referrer=utm_source%3Dgoogle
%26utm_medium%3Dcpc
%26utm_term%3Drunning%252Bshoes
%26utm_content%3Dlogolink
%26utm_campaign%3Dspring_sale

这里Google提供了构建工具.Google Play 网址构建工具

  1. 测试

使用adb工具

adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n [包名]/[CampaignTrackingReceiver路径] --es "referrer" "utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign"

官方上说如果配置正确的话就会返回:

Broadcasting: Intent { act=com.android.vending.INSTALL_REFERRER cmp=[包名]/[CampaignTrackingReceiver路径] (has extras) }
Broadcast completed: result=0

ps:但是我这边不管怎么修改都会返回这个,后面还是上传了一个测试的包到Google Play验证了一下

验证广告系列数据已收到

logcat输出会显示下面这个:

GAv4: Found relevant installation campaign: source=testSource

  1. 怎么获取参数

我这边自定义了一个BroadcastReceiver

 public class TrackingReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {

        /**
         *
         * utm_source=google&utm_medium=cpc&utm_term=test1&utm_content=test2&utm_campaign=test3&anid=admob
         *
         * anid:广告网络
         * utm_source:广告系列来源(原始引荐来源,例如 google、citysearch、newsletter4)
         * utm_medium:广告系列媒介(营销媒介,例如 cpc、banner、email)
         * utm_term:广告系列字词(付费关键字,例如 running+shoes)
         * utm_content:广告系列内容(广告特有的内容,用于区分不同的广告)
         * utm_campaign:广告系列名称(产品、促销代码或标语)
         */
        String referrer = intent == null ? null : intent.getStringExtra("referrer");
        Log.d("ga_referrer", referrer == null ? "null" : referrer);

        com.google.android.gms.analytics.CampaignTrackingReceiver googleReceiver = new com.google.android.gms.analytics.CampaignTrackingReceiver();
        googleReceiver.onReceive(context, intent);
    

参考

analytics

你可能感兴趣的:(Google Analytics 统计广告来源)