キャンペーンの測定 - Android SDK v2(従来版)

このドキュメントでは、Android 向け Google アナリティクス SDK v2 を使ってキャンペーンとトラフィック ソースを測定する方法の概要を説明します。

概要

Google アナリティクスでキャンペーンを測定すると、キャンペーンとトラフィック ソースをアプリケーション内のユーザー アクティビティに関連付けて、マーケティング チャネルの価値を改善できます。

Android 向け Google アナリティクス SDK では、さまざまな種類のキャンペーン測定を利用できます。

  • Google Play キャンペーンの測定 - どのキャンペーン、ウェブサイト、アプリが、アプリをダウンロードするためにアプリの Google Play ストア ページにユーザーを誘導したかを確認します。
  • 一般的なキャンペーンの測定 - どのキャンペーンやトラフィック ソースでアプリのインストールが開始されたかを確認できます。
  • 参照の測定 - アプリのインストール後にアプリを起動した参照トラフィック ソース(ウェブサイトや他のアプリ)を確認できます。

次のセクションでは、各種のキャンペーンをアプリで測定するタイミングと方法を説明します。

Google Play キャンペーンの測定

Google Play キャンペーンの測定機能を実装すると、Google Play ストアにユーザーを送り込んでアプリのダウンロードに貢献したキャンペーンとトラフィックの参照元を把握できます。すべてのデベロッパーに、Google Play ストア キャンペーンの測定機能を実装することをおすすめします。

Google Play キャンペーンの測定の仕組み

Google Play ストア キャンペーンの測定では、アプリが Google Play ストアからダウンロードされたときに、キャンペーン パラメータを使用して、キャンペーンとトラフィックのソースの情報をアプリに渡します。

以下では、Google Play キャンペーン測定の仕組みを詳しく説明します。

  1. ユーザーが広告、ウェブサイト、アプリからリンクをクリックし、アプリの Google Play ストア ページに誘導します。リンクにはキャンペーン パラメータのタグが設定されています。
  2. ユーザーがアプリをダウンロードしてインストールすると、Google Play ストアは、同じキャンペーン パラメータを含む INSTALL_REFERRER インテントをデバイスにブロードキャストします。
  3. するとアプリはそのインテントに応答し、下記の BroadcastReceiver オブジェクトを使ってキャンペーン パラメータを読み取り、そのパラメータを使って Google アナリティクスのキャンペーン情報を更新します。

Google Play キャンペーンの測定機能を実装する

Google Play ストア キャンペーンの測定機能を実装するには:

1. AndroidManifest.xml ファイルに新しい BroadcastReceiver を追加する

次の BroadcastReceiver を使用すると、アプリのインストール時に Google Play ストアからブロードキャストされた INSTALL_REFERRER インテントに応答できます。これを次のように 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 アナリティクス実装に渡すために使用されます。

キャンペーン パラメータの文字列を作成する方法については、Google Play URL 生成ツールを使用するか、キャンペーン パラメータのリファレンス セクションをご覧ください。

キャンペーン パラメータ文字列を作成したら、次の例のように、referrer パラメータの値として Google Play ストア URL に追加します。

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 ストアは、アプリの Google アナリティクス実装にのみ referrer パラメータの値を渡すため、このパラメータが Google Play ストアのリンクに存在することが重要です。

一般的なキャンペーンの測定

一般的なキャンペーンの測定では、アプリをインストール済みのユーザーにキャンペーンやトラフィック ソースを関連付けることができます。

たとえば、すでにアプリをインストールしている既存のユーザーにリーチする有料キャンペーンを実施している場合、一般的なキャンペーンの測定を使用して、そのキャンペーンの結果であるアプリの起動を測定できます。

一般的なキャンペーン測定の実装

一般的なキャンペーンのキャンペーン値を設定するには、setCampaign() を呼び出し、引数としてキャンペーン パラメータ文字列を渡します。

一般的な実装では、アプリの起動時に setCampaign() を呼び出し、アプリを起動したインテントをチェックして、有効なキャンペーン パラメータが存在するかどうかを確認します。

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」に設定され、メディア ディメンションは暗黙的に「リファラー」に設定されます。

キャンペーンの測定と同様に、参照ソースを設定すると、デフォルトでは、次の send の呼び出しで新しいセッションが開始されます。

以下のコード スニペットでは、アプリを開くリンクに、Google アナリティクスのキャンペーン パラメータか、参照元を示すシンプルな 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 クラスはアプリごとに 1 つだけ指定できます。異なる SDK から 2 つ以上の BroadcastReceivers を組み込む必要がある場合は、すべてのブロードキャストを受信する独自の BroadcastReceiver クラスを作成し、ブロードキャストのタイプごとに適切な BroadcastReceivers を呼び出す必要があります。
  • 現在、Google Play キャンペーンの測定では、ウェブの Play ストアから行われるウェブからデバイスへのインストールはサポートされていません。

キャンペーンのパラメータ

キャンペーンのパラメータは、アプリにユーザーを送り込んだトラフィックの参照元とキャンペーンに関する情報を渡すために使用します。

  • 一般的なキャンペーン測定では、エンコードされていないキャンペーン パラメータ文字列が引数として setCampaign() に渡されます。
  • Google Play キャンペーンの測定では、エンコードされたキャンペーン パラメータ文字列を値として持つ referrer パラメータが、アプリの Play ストア ページを指すすべての URL に追加されます。

以下は、一般的なキャンペーン測定に使用できる、エンコードされていない有効なキャンペーン文字列の例です。

"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 テストやコンテンツ ターゲット広告で、同じ URL を参照する広告やリンクを区別するために使用します。 utm_content=logolink
utm_content=textlink
gclid Google 広告の自動タグ設定パラメータ: Google 広告の測定に使用します。この値は動的に生成され、変更することはできません。

Google Play URL 生成ツール

Google Play キャンペーン測定用の URL を生成するには、Google Play URL 生成ツールを使用します。