Google タグ マネージャーでカスタムのモバイル用ユーザー定義変数を作成すると、組み込み変数では未対応の特定の要件に合わせることができます。
新しいユーザー定義変数を作成するには:
- 編集するタグ マネージャーのコンテナを開きます。
- 左側のナビゲーションにある [ワークスペース] タブで、[変数] をクリックします。
- [ユーザー定義変数] で [新規] をクリックします。
- [変数の設定] をクリックし、目的の変数タイプを選択します。
- 選択した変数タイプの必要事項をすべて指定します。
- 変数に名前を付けます。変数の機能をわかりやすく説明する命名規則を使用してください(例: データレイヤー変数 - 商品名)。
- [保存] をクリックします。
タグ マネージャーは、モバイル用に次のタイプのユーザー定義変数をサポートしています。
Firebase
イベント名
値は、アプリで次のコードが実行された場合に「eventNameXYZ」に設定されます。
Android:
FirebaseAnalytics.getInstance(mContext).logEvent("eventNameXYZ", null);
iOS:
[FIRAnalytics logEventWithName:@"eventNameXYZ" parameters:parameters];
ほとんどの場合、同じ組み込み変数を使用することをおすすめします。
イベント パラメータ
値は、指定されたキーの Google アナリティクス(Firebase)イベント パラメータの値に設定されます。
Firebase ユーザー プロパティ
値は、指定されたキーの Google アナリティクス(Firebase)ユーザー プロパティ値に設定されます。
ユーティリティ
広告主のトラッキングが有効
Android では、広告のトラッキングが有効な場合に true が返され、ユーザーがインタレスト ベース広告の表示を無効にしている場合に false が返されます。詳しくは、Android Developer Center をご覧ください。v4 より前のバージョンの SDK では常に false を返します。iOS バージョン 6 以上の場合、値は advertisingTrackingEnabled プロパティに設定されます。それ以外の場合、値は true に設定されます。ほとんどの場合、同じ組み込み変数を使用することをおすすめします。
定数
値は指定した文字列に設定されます。
ルックアップ テーブル
値は、ルックアップ テーブルの指示に従って設定されます。ルックアップ テーブルには以下の 2 つの列があります(この後でデータが使用される方法を説明するために、テーブルは空白になっています)。
| [変数を選択] の値 | [この変数] の設定 |
|---|
ルックアップ テーブルでは、別の変数の値に基づいて値が異なる変数を作成できます。これは、アプリのバージョン コードやその他の要素に、別の値(コンバージョン トラッキング ID など)が対応している場合に便利です。この例では、コンバージョン ID という変数が作成されます。アプリのバージョン コードが 1.0 の場合は値は「12345」に設定され、バージョン コードが 1.1 の場合は「34567」に設定されます。ルックアップ テーブル内の行数に制限はありません。フィールドでは大文字と小文字が区別されます。
| {{App Version Code}} の値 | {{Conversion ID}} を以下に設定 |
|---|---|
| 1.0 | 12345 |
| 1.1 | 34567 |
| 1.2 | 56789 |
乱数
値は、0~2147483647 の乱数に設定されます。ほとんどの場合、同じ組み込み変数を使用することをおすすめします。
コンテナデータ
コンテナ ID
値はコンテナの公開 ID です(例: GTM-ABC42)。ほとんどの場合、同じ組み込み変数を使用することをおすすめします。
コンテナのバージョン番号
コンテナがプレビュー モードの場合は、プレビュー時のバージョン番号に設定されます。それ以外の場合は、コンテナの公開時のバージョン番号になります。ほとんどの場合、同じ組み込み変数を使用することをおすすめします。
アプリ
アプリ ID
値は、パッケージ名(Android の場合)または App ID(iOS の場合)に設定されます。ほとんどの場合、同じ組み込み変数を使用することをおすすめします。
アプリ名
値はアプリ名に設定されます。ほとんどの場合、同じ組み込み変数を使用することをおすすめします。
アプリ バージョン コード
値は、実行中のアプリのバージョンに設定されます。ほとんどの場合、同じ組み込み変数を使用することをおすすめします。
広告用 ID
Android の場合、値は広告 ID に設定されます。バージョン 4 より前の SDK では、必ず空の文字列が返されます。iOS バージョン 6 以上の場合、値は広告識別子(IDFA)に設定されます。それ以外の場合は、値は空の文字列に設定されます。
SDK のバージョン
値は、アプリがインストールされている OS の SDK のバージョンに設定されます。ほとんどの場合、同じ組み込み変数を使用することをおすすめします。
デバイス
デバイス名
値は、現在アプリが動作しているデバイスの名前に設定されます(例: 「Samsung Android」、「Pixel 2」)。ほとんどの場合、同じ組み込み変数を使用することをおすすめします。
言語
値は、ユーザーが設定したデバイスの言語を表す 2 文字の言語コードに設定されます。ほとんどの場合、同じ組み込み変数を使用することをおすすめします。
OS のバージョン
値は、アプリがインストールされている OS のバージョンに設定されます。ほとんどの場合、同じ組み込み変数を使用することをおすすめします。
プラットフォーム
値は、現在アプリが動作しているプラットフォームに設定されます(例: 「Android」、「iOS」)。ほとんどの場合、同じ組み込み変数を使用することをおすすめします。
画面の解像度
値は、現在アプリが動作しているデバイスの画面解像度に設定されます。形式は「画面の幅×高さ」(例: 「1920×1080」)です。ほとんどの場合、同じ組み込み変数を使用することをおすすめします。
その他
関数呼び出し
値は、登録済みの関数の呼び出しに対する戻り値に設定されます。詳しくは、SDK のドキュメント(Android または iOS)をご覧ください。
値コレクション(従来のコンテナのみ)
この変数には、Key-Value ペアのセットが JSON 形式で含まれます。値コレクションでは、アプリの設定値を指定できます。たとえば、カーレースのゲームアプリの場合は、値コレクション型の変数を「App settings」変数として次のように定義できます。
{
"fuel-burn-rate": 20
}
モバイルアプリは、このキーを指定することでこの変数の値を取得できます。次に例を示します。
public class MainActivity {
// 公開するコンテナ ID を追加します。
private static final String CONTAINER_ID = "XXX-YYY";
// コンテナ構成値のキー。値を取得するために
// 後で使用します。
private static final String MAX_FUEL_KEY = "max-fuel";
private static final String INIT_FUEL_KEY = "init-fuel";
private static final String FUEL_BURN_KEY = "fuel-burn-rate";
// その他の onCreate コードです。
}
}
/*
* Google タグ マネージャーのコンテナを使用して
* ゲームの設定値を更新するメソッドです
*/
public void updateConfigurationFromContainer(Container container) {
// コンテナを参照します。
Container container = mFutureContainer.get();
// コンテナ構成値のキーを使用して
// ゲームの設定を更新します。
maxFuel = mContainer.getDoubleValue(MAX_FUEL_KEY);
startingFuel = mContainer.getDoubleValue(INIT_FUEL_KEY);
burnRate = mContainer.getDoubleValue(FUEL_BURN_KEY);
}
値のコレクション型の変数にはトリガーが設定されています。アプリのすべてのインスタンスとバージョンに適用する設定値は、有効化トリガーを既定の「常時」に設定します。値コレクション型の変数の使用方法については、デベロッパー向けドキュメント(Android または iOS)をご覧ください。