广告系列衡量 - Android SDK v2(旧版)

本文档简要介绍了如何使用 Android 版 Google Analytics(分析)SDK v2 来衡量广告系列和流量来源。

概览

通过在 Google Analytics(分析)中衡量广告系列,您可以将广告系列和流量来源归因于应用中的用户活动,从而提高营销渠道的价值。

Android 版 Google Analytics(分析)SDK 提供了几种广告系列衡量方式:

  • Google Play 广告系列衡量 - 查看是哪些广告系列、网站和应用将用户引荐到您应用的 Google Play 商店页面以下载您的应用。
  • 衡量常规广告系列 - 了解是哪些广告系列或流量来源投放了您的应用。
  • 衡量引荐来源 - 了解是哪个引荐流量来源(例如网站或其他应用)在安装您的应用后启动了引荐来源。

下文将介绍何时及如何在您的应用中实现每种广告系列衡量功能。

Google Play 广告系列衡量

利用 Google Play 广告系列衡量功能,您可以了解是哪些广告系列和流量来源将用户引荐到 Google Play 商店下载您的应用。我们建议所有开发者实现 Google Play 商店广告系列衡量功能。

Google Play 广告系列衡量功能的工作原理

Google Play 商店广告系列衡量功能依靠广告系列参数在从 Google Play 商店下载应用时,将广告系列和流量来源信息传递到您的应用。

以下是有关 Google Play 广告系列衡量机制的完整端到端说明:

  1. 用户点击广告、网站或应用中的链接后,会转到应用的 Google Play 商店页面。该链接使用 Campaign 参数进行标记。
  2. 用户下载并安装您的应用后,Google Play 商店会在包含上述广告系列参数的设备上广播一个 INSTALL_REFERRER intent。
  3. 然后,您的应用会使用下方提供的 BroadcastReceiver 对象、读取广告系列参数并使用这些参数更新 Google Analytics(分析)广告系列信息,来响应该 intent。

实现 Google Play 广告系列衡量

要实现 Google Play 商店广告系列衡量功能,请执行以下操作:

1. 将新的 BroadcastReceiver 添加到您的 AndroidManifest.xml 文件中

以下 BroadcastReceiver 允许您的应用在应用安装时响应 Google Play 商店发送的 INSTALL_REFERRER intent。将该文件添加到 AndroidManifest.xml 文件中,如下所示:

<!-- Used for install referral measurement-->
<service android:name="com.google.analytics.tracking.android.CampaignTrackingService"/>
<receiver android:name="com.google.analytics.tracking.android.CampaignTrackingReceiver" android:exported="true">
  <intent-filter>
    <action android:name="com.android.vending.INSTALL_REFERRER" />
  </intent-filter>
</receiver>

2. 向 Google Play 商店链接中添加广告系列参数

广告系列参数用于将用户引荐到您应用的 Google Play 商店页面的广告系列或流量来源的相关信息传递到应用的 Google Analytics(分析)实现中。

如需了解如何构建广告系列参数字符串,请使用 Google Play 网址构建工具,或参阅广告系列参数参考文档部分。

构建广告系列参数字符串后,将其作为 referrer 参数的值添加到您的 Google Play 商店网址,如下例所示:

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

Google Play 商店只会将 referrer 参数的值传递给应用的 Google Analytics(分析)实现,因此请务必确保它存在于您的 Google Play 商店链接中。

衡量常规广告系列

一般广告系列衡量可用于在用户安装应用后将广告系列或流量来源与用户相关联。

例如,如果您投放的是付费广告系列,用来吸引已安装您应用的现有用户,您可以使用常规广告系列衡量功能来衡量哪些应用启动是由该广告系列促成的。

实施常规的广告系列衡量

要为常规广告系列设置广告系列值,请调用 setCampaign() 并将广告系列参数字符串作为参数传递。

典型的实现可能会在应用启动时调用 setCampaign() 并检查启动它的 intent,以查看是否存在有效的广告系列参数:

public class SampleActivity extends Activity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Get the intent that started this Activity.
    Intent intent = this.getIntent();
    Uri uri = intent.getData();

    // Call setContext() here so that we can access EasyTracker
    // to update campaign information before calling activityStart().
    EasyTracker.getInstance().setContext(this);

    if (intent.getData() != null) {
      EasyTracker.getTracker().setCampaign(uri.getPath());
    }
    ... // The rest of your onCreate() code.
  }

  @Override
  public void onStart() {
    super.onStart();
    EasyTracker.getInstance().activityStart(this);
    ... // The rest of your onStart() code.
  }


  @Override
  public void onStop() {
    super.onStop();
    EasyTracker.getInstance().activityStop(this);
    ... // The rest of your onStop() code.
  }
}

衡量引荐流量

引荐衡量与其他类型的广告系列衡量类似,可让您衡量启动了用户设备上的应用的引荐来源。不过,引荐衡量使用的是简单的字符串,如“google.com”或“myOtherApp”,而不是广告系列参数字符串。

当您设置引荐来源(如“google.com”)时,来源维度会设置为“google.com”,而媒介维度会隐式设置为“引荐来源网址”。

与广告系列衡量一样,默认情况下,设置引荐来源会导致下一次发送调用以开始新会话。

在以下代码段中,假设您使用 Google Analytics(分析)广告系列参数或描述引荐来源的简单 referrer 参数标记了会打开应用的所有链接。如果在没有其他广告系列参数的情况下存在 referrer 参数,则系统会使用新的引荐来源更新用户的广告系列信息:

public class SampleActivity extends Activity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Get the intent that started this Activity.
    Intent intent = this.getIntent();
    Uri uri = intent.getData();

    // Call setContext() here so that we can access EasyTracker
    // to update campaign information before activityStart() is called.
    EasyTracker.getInstance().setContext(this);

    if (uri != null) {
      if(uri.getQueryParmeter("utm_source") != null) {    // Use campaign parameters if avaialble.
        EasyTracker.getTracker().setCampaign(uri.getPath());
      } else if (uri.getQueryParameter("referrer") != null) {    // Otherwise, try to find a referrer parameter.
        EasyTracker.getTracker().setReferrer(uri.getQueryParameter("referrer"));
      }
    }
  }


  @Override
    public void onStart() {
    super.onStart();
    EasyTracker.getInstance().activityStart(this);
    ... // The rest of your onStart() code.
  }


  @Override
  public void onStop() {
    super.onStop();
    EasyTracker.getInstance().activityStop(this);
    ... // The rest of your onStop() code.
  }
}

已知问题

  • CampaignTrackingReceiver 的 javadoc 在其用法示例中使用了不正确的类路径。如需了解正确的用法,请参阅实现 Google Play 广告系列衡量
  • 每个应用只能指定一个 BroadcastReceiver 类。如果需要整合来自不同 SDK 的两个或更多 BroadcastReceivers,您需要创建自己的 BroadcastReceiver 类,用于接收所有广播并为每种类型的广播调用适当的 BroadcastReceivers
  • Google Play 广告系列衡量功能目前不支持从 Web Play 商店发起的网站到设备安装。

广告系列参数

广告系列参数用于传递将用户带到您的应用中的流量来源和广告系列的相关信息。

  • 通常情况下,广告系列衡量会将未编码的广告系列参数字符串作为参数传递给 setCampaign()
  • 在 Google Play 广告系列衡量中,系统会将一个以编码的广告系列参数字符串作为其值的 referrer 参数附加到指向您应用的 Play 商店页面的所有网址。

以下是可用于常规广告系列衡量的有效未编码广告系列字符串示例:

"utm_campaign=my_campaign&utm_source=google&utm_medium=cpc&utm_term=my_keyword&utm_content=ad_variation1"

下表列出了可在 Google Play 或常规广告系列衡量功能中使用的可用广告系列参数的完整列表。

参数 说明 示例
utm_campaign 广告系列名称,用于关键字分析,以标识具体的产品推广活动或战略广告系列。 utm_campaign=spring_sale
utm_source 广告系列来源,用于确定具体的搜索引擎、简报或其他来源。 utm_source=google
utm_medium 广告系列媒介,用于确定电子邮件或采用每次点击费用 (CPC) 的广告等媒介。 utm_medium=cpc
utm_term 广告系列字词,用于付费搜索,为广告提供关键字 utm_term=running+shoes
utm_content 广告系列内容,用于 A/B 测试和内容定位广告,以区分指向相同网址的不同广告或链接 utm_content=logolink
utm_content=textlink
gclid Google Ads 自动标记参数,用于衡量 Google Ads。此值会动态生成,请勿修改。

Google Play 网址构建工具

使用 Google Play 网址构建工具为 Google Play 广告系列衡量功能生成网址。