キャンペーンの測定 - 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 ストアは、referrer パラメータの値をアプリの Google アナリティクス実装にのみ渡します。したがって、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.
  }
}

参照の測定

参照測定は、ユーザーのデバイスでアプリを起動した参照ソースを測定できるという点で、他のタイプのキャンペーン測定と似ています。キャンペーン測定の文字列ではなく、「&googlet.google.com"」や「myOtherApp"」のような単純な文字列を使用します。

参照元(例: 「google.com」など)を設定すると、参照元のディメンションは「google.com」に設定され、メディアのディメンションは暗黙的に「referrer」に設定されます。

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

次のコード スニペットでは、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 を生成します。