アプリのバイナリを再ビルドしてマーケットプレイスに再送信する必要がないランタイム変更を Google アナリティクスの実装に反映するには、Google タグ マネージャー(GTM)を使用してアプリにユニバーサル アナリティクス(UA)を実装します。
このガイドでは、ユニバーサル アナリティクス タグと Android 向け Google タグ マネージャー SDK を使用して、以下を行う方法を説明します。
スクリーン ビューを送信する
アプリで新しい画面が開かれるたびにスクリーン ビューを Google アナリティクスに送信する手順は次のとおりです。
- スクリーン名変数を作成する
- オープン画面イベント トリガーを作成する
- ユニバーサル アナリティクスのスクリーン ビュー タグを作成する
- オープン スクリーン イベントとスクリーン名をデータレイヤーにプッシュする
1. スクリーン名変数を作成する
GTM でスクリーン名変数を作成するには:
- Google タグ マネージャー アカウントにログインします。
- モバイル向けのコンテナを選択します。
- 左側のナビゲーション バーで [変数] をクリックします。
- [ユーザー定義変数] で [新規] をクリックします。
- [名前のない変数] をクリックし、変数名を「screen name」と入力します。
- [データレイヤーの変数] を変数タイプとして選択します。
- [データレイヤー変数名] に「screenName」と入力し、デフォルト値の「unknown screen」を設定します。
- [変数を作成] をクリックします。
2. オープン スクリーン イベント トリガーを作成する
ユニバーサル アナリティクスのスクリーン ビュータグを配信するトリガーを GTM で作成するには:
- Google タグ マネージャー アカウントにログインします。
- モバイル向けのコンテナを選択します。
- 左側のナビゲーション バーで、[トリガー] をクリックします。
- [新規] をクリックします。
- [名前のないトリガー] をクリックして、トリガー名を「OpenScreenEvent」と入力します。
- [カスタム] イベントを選択します。
- [配信するタイミング] で、次の条件を入力します。
- [トリガーを作成] をクリックします。
3. ユニバーサル アナリティクスのスクリーン ビュータグを作成する
オープン スクリーン イベントによって配信されるユニバーサル アナリティクスのスクリーン ビュータグを作成するには:
- Google タグ マネージャー アカウントにログインします。
- モバイル向けのコンテナを選択します。
- 左側のナビゲーション バーで [タグ] をクリックします。
- [新規] をクリックします。
- [名前のないタグ] をクリックして、タグ名を「Open Screen」と入力します。
- サービスとして [Google アナリティクス] を選択します。
- トラッキング ID を入力します。
- [トラッキング タイプ] として [アプリビュー] を選択します。
- [詳細設定] をクリックします。
- [設定するフィールド] をクリックします。
- [+ フィールド] を繰り返しクリックして、以下のフィールドを追加します。
- [Continue](続行)をクリックします。
- [配信するタイミング] で [カスタム] をクリックします。
- カスタム トリガーとして「OpenScreenEvent」を選択します。
- [保存] をクリックします。
- [タグを作成] をクリックします。
4. オープン スクリーン イベントとスクリーン名をデータレイヤーにプッシュする
アプリにコードを追加して、openScreen
イベントと screenName
値をデータレイヤーにプッシュします。次に例を示します。
import com.google.tagmanager.DataLayer; import com.google.tagmanager.TagManager; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { private static final String SCREEN_NAME = "Home Screen"; private DataLayer mDataLayer; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(); } @Override public void onStart() { super.onStart(); mDataLayer = TagManager.getInstance(this).getDataLayer(); // Push an openScreen event and a screenName value to the data layer. // This call assumes the container has already been opened, otherwise events // pushed to the data layer will not fire tags in that container. mDataLayer.push(DataLayer.mapOf("event", "openScreen", "screenName", SCREEN_NAME)); } }
イベントを送信する
ユーザーがアプリの UI 項目やコンテンツを操作したときに Google アナリティクスにイベントを送信する手順は次のとおりです。
次の手順は、ユーザーが動画の再生を開始したときに Google アナリティクスにイベントを送信する方法を示しています。
1. (省略可)イベント変数を作成する
イベントでデータレイヤー変数を使用してカテゴリ、アクション、ラベル、または値のフィールドを表す場合は、まずそれらの変数を作成する必要があります。この例では、動画再生イベントタグがデータレイヤー変数を使用して、動画の名前を取得しています。
GTM で動画名変数を作成するには:
- Google タグ マネージャー アカウントにログインします。
- モバイル向けのコンテナを選択します。
- 左側のナビゲーション バーで [変数] をクリックします。
- [ユーザー定義変数] で [新規] をクリックします。
- [名前のない変数] をクリックして、変数名を「video name」と入力します。
- [データレイヤーの変数] を変数タイプとして選択します。
- [データレイヤーの変数名] に「videoName」と入力し、デフォルト値を「不明な動画」に設定します。
- [変数を作成] をクリックします。
2. イベント トリガーを作成する
ユニバーサル アナリティクスのイベントタグを配信するトリガーを GTM で作成するには:
- Google タグ マネージャー アカウントにログインします。
- モバイル向けのコンテナを選択します。
- 左側のナビゲーション バーで、[トリガー] をクリックします。
- [新規] をクリックします。
- [名前のないトリガー] をクリックして、トリガー名を「VideoPlayEvent」と入力します。
- [カスタム] イベントを選択します。
- [配信するタイミング] で、次の条件を入力します。
- [トリガーを作成] をクリックします。
3. ユニバーサル アナリティクスのイベントタグを作成する
動画再生イベントによって配信されるユニバーサル アナリティクスのイベントタグを作成するには:
- Google タグ マネージャー アカウントにログインします。
- モバイル向けのコンテナを選択します。
- 左側のナビゲーション バーで [タグ] をクリックします。
- [新規] をクリックします。
- [名前のないタグ] をクリックして、タグ名を「Video Play Event」と入力します。
- サービスとして [Google アナリティクス] を選択します。
- トラッキング ID を入力します。
- [トラッキング タイプ] として [イベント] を選択します。
- 次のイベント トラッキング パラメータを入力します。
- [詳細設定] をクリックします。
- [設定するフィールド] をクリックします。
- [+ フィールド] を繰り返しクリックして、以下のフィールドを追加します。
- [Continue](続行)をクリックします。
- [配信するタイミング] で [カスタム] をクリックします。
- カスタム トリガーとして「VideoPlayEvent」を選択します。
- [保存] をクリックします。
- [タグを作成] をクリックします。
4. イベントとイベント変数の値をデータレイヤーにプッシュする
次のように、videoPlay
イベントと videoName
値をデータレイヤーにプッシュするコードを記述します。
import com.google.tagmanager.DataLayer; import com.google.tagmanager.TagManager; public class VideoPlayer { // Called when a user starts a video playback. public void onPlay(Video v) { DataLayer dataLayer = TagManager.getInstance(this).getDataLayer(); // Push a videoPlay event and a videoName value to the data layer. // This call assumes the container has already been opened, otherwise events // pushed to the data layer will not fire tags in that container. dataLayer.push(DataLayer.mapOf("event", "videoPlay", "videoName", v.getName()); play(v); } // Rest of the implementation. // ... }
e コマース トランザクションを送信する
ユーザーがアプリ内購入を完了したときに、トランザクションと関連アイテムを Google アナリティクスに送信する手順は次のとおりです。
サポートされているトランザクションとアイテム変数名のリストについては、サポートされている e コマース データレイヤー変数をご覧ください。
1. トランザクション トリガーを作成する
ユニバーサル アナリティクスのトランザクション タグを配信するトランザクション トリガーを GTM で作成するには:
- Google タグ マネージャー アカウントにログインします。
- モバイル向けのコンテナを選択します。
- 左側のナビゲーション バーで、[トリガー] をクリックします。
- [新規] をクリックします。
- [名前のないトリガー] をクリックして、トリガー名を「TransactionCompleted」と入力します。
- [カスタム] イベントを選択します。
- [配信するタイミング] で、次の条件を入力します。
- [トリガーを作成] をクリックします。
2. ユニバーサル アナリティクスのトランザクション タグを作成する
トランザクション イベントによって配信されるユニバーサル アナリティクスのトランザクション タグを作成するには:
- Google タグ マネージャー アカウントにログインします。
- モバイル向けのコンテナを選択します。
- 左側のナビゲーション バーで [タグ] をクリックします。
- [新規] をクリックします。
- [名前のないタグ] をクリックして、タグ名を「Transaction Completed」と入力します。
- サービスとして [Google アナリティクス] を選択します。
- トラッキング ID を入力します。
- [トラッキング タイプ] として [トランザクション] を選択します。
- [詳細設定] をクリックします。
- [設定するフィールド] をクリックします。
- [+ フィールド] を繰り返しクリックして、以下のフィールドを追加します。
- [Continue](続行)をクリックします。
- [配信するタイミング] で [カスタム] をクリックします。
- カスタム トリガーとして「TransactionCompleted」を選択します。
- [保存] をクリックします。
- [タグを作成] をクリックします。
3. トランザクション イベント、トランザクション、アイテムをデータレイヤーにプッシュする
トランザクション イベント、トランザクション、関連アイテムをデータレイヤーにプッシュするコードを作成します。トランザクションとアイテムのデータをデータレイヤーにプッシュするには、サポートされているトランザクションとアイテム変数名を使用する必要があります。例:
// Called when a user completes a transaction. public void onPurchaseCompleted(Purchase p) { DataLayer dataLayer = TagManager.getInstance(this).getDataLayer(); // Put maps of item data into an array to be pushed to the data layer. ArrayList<Map<String, String>> purchasedItems = new ArrayList<Map<String, String>>(); for (Item i : p.items) { HashMap<String, String> currentItem = new HashMap<String, String>(); currentItem.put("name", i.getProductName()); currentItem.put("sku", i.getProductSku()); currentItem.put("category", i.getProductCategory()); currentItem.put("price", i.getProductPrice()); currentItem.put("currency", "USD"); currentItem.put("quantity", i.getProductQty()); purchasedItems.add(currentItem); } // This call assumes the container has already been opened, otherwise events // pushed to the [DataLayer] data layer will not fire tags in that container. dataLayer.push(DataLayer.mapOf("event", "transaction", "transactionId", p.getTransId(), "transactionTotal", p.getTotal(), "transactionAffiliation", "In-app Store", "transactionTax", p.getTax(), "transactionShipping", p.getShippingCost(), "transactionCurrency", "USD", "transactionProducts", purchasedItems)); // Because the data layer is persistent, you should reset fields to null // after you are done pushing the transaction. dataLayer.push(DataLayer.mapOf("transactionId", null, "transactionTotal", null, "transactionAffiliation", null, "transactionTax", null, "transactionShipping", null, "transactionCurrency", null, "transactionProducts", null)); }
Android 向け Google タグ マネージャー SDK を使用してユニバーサル アナリティクスの拡張 e コマース機能を実装する方法について詳しくは、拡張 e コマースをご覧ください。
サポートされている e コマース データレイヤー変数
ユニバーサル トランザクション タグは、以下のトランザクションおよびアイテム変数名をサポートしています。
トランザクション変数
変数名 | 説明 | 種類 | 必須 |
---|---|---|---|
transactionId |
トランザクションに固有の識別子 | string | ○ |
transactionAffiliation |
パートナーや販売店 | string | × |
transactionTotal |
トランザクションの合計 | string | × |
transactionTax |
トランザクションの税額 | string | × |
transactionShipping |
トランザクションの送料 | string | × |
transactionCurrency |
トランザクションの通貨 | string | × |
transactionProducts |
トランザクションで購入されたアイテムのリスト | アイテム変数を含む配列。 | × |
アイテム変数
変数名 | 説明 | 種類 | 必須 |
---|---|---|---|
name |
商品名 | string | ○ |
sku |
商品の SKU | string | × |
category |
商品カテゴリ | string | × |
price |
商品の価格 | string | × |
currency |
price の通貨タイプ |
string | × |
quantity |
アイテムの数量 | string | × |
インストール リファラー アトリビューション
AndroidManifest.xml
ファイルで次のサービスとレシーバーを登録すると、利用可能なインストール リファラー データが、Google アナリティクスのヒットや AdWords リマーケティング ピクセルのリクエストに自動的に含まれます。
<service android:name="com.google.tagmanager.InstallReferrerService" /> <receiver android:name="com.google.tagmanager.InstallReferrerReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver>