はじめに
Googleタグマネージャー(以下GTMと記載)では2つの変数があります。
「組み込み変数」と「ユーザー定義変数」です。
「組み込み変数」とは
よく利用する値をあらかじめ変数として扱えるようGTM側で用意されたものです。
例えばPage Path(現在のURLのPath)やClick Element(クリックが発生した DOM 要素)など利用頻度が多い値を取得することができます。
「ユーザー定義変数」とは
ユーザーが設定できる変数です。
複数の変数タイプがあり、変数タイプによってさまざまな値を取得することが可能となります。
自由度の高い変数ですので大変便利な変数ですが、変数タイプによってさまざまな戻り値が存在します。
今回のコラムでは、ユーザー定義変数の変数タイプ別に、各種変数の戻り値のチェックを行いました。
GTM設定の際のご参考にしていただければ幸いです。
ユーザー定義変数のタイプ別戻り値一覧
・特に記載がない場合、検証URLは’https://ayudante.jp/’となります。・必ず値が存在するもの、または検証が不可能なもは検証不要となっています。
ナビゲーション
-HTTP参照
要素タイプ | 戻り値がある場合 | 戻り値がない場合 |
---|---|---|
URL全体 | https://ayudante.jp/ | ”(空の文字列) |
クエリ |
検証URL クエリーキー未設定の場合 クエリーキー「keyA」設定の場合 |
URLソース中にクエリーがなく、クエリーキーの指定がない場合 ”(空の文字列)を返します。 URLソース中に指定のクエリキーが存在しなかった場合 未定義値 undefinedを返します。 |
パス | 検証URL https://ayudante.jp/?keyA=valueA →’/’ 検証URL https://ayudante.jp/ →’/’ 検証URL https://ayudante.jp/column →’/column’ 検証URL https://ayudante.jp/profiles-jp.htm →’/profiles-jp.htm’ |
検証不要 |
フラグメント |
検証URL →”(空の文字列) |
”(空の文字列) |
プロトコル | ‘https’ | ”(空の文字列) |
ポート | ‘443’ URL内にポートが含まれていない場合でも、 サーバー設定に応じたポート番号が取得されます。 |
”(空の文字列) |
ホスト名 | ‘ayudante.jp’ | ”(空の文字列) |
-URL
要素タイプ | 戻り値がある場合 | 戻り値がない場合 |
---|---|---|
URL全体 | ‘https://ayudante.jp/’ | 検証不要 |
クエリ | 検証URL https://ayudante.jp/?keyA=valueA&keyB=valueB クエリーキー未設定の場合 →’keyA=valueA&keyB=valueB’ クエリーキー「keyA」設定の場合 →’valueA’ |
URLソース中にクエリーがなく、クエリーキーの指定がない場合 ”(空の文字列)を返します。 URLソース中に指定のクエリキーが存在しなかった場合 未定義値 undefinedを返します。 |
パス | 検証URL https://ayudante.jp/column/2021-01-26/ →’/column/2021-01-26/’ 検証URL https://ayudante.jp/index.html →’/index.html’ |
検証不要 ドメイン名末尾の「/」がなくてもルートディレクトリだと「/」が出ます 。 |
ファイル名の拡張子 | ‘html’ |
”(空の文字列) URLに実際に拡張子が入っていない場合「/」終わりのURLの場合も該当します。 |
フラグメント |
検証URL →’a02′ |
”(空の文字列) |
プロトコル | ‘https’ | 検証不要 |
ポート | ‘443’ URL内にポートが含まれていない場合でも、 サーバー設定に応じたポート番号が取得されます。 |
検証不要 |
ホスト名 | ‘ayudante.jp’ | 検証不要 |
ページ変数
-javascript変数
戻り値がある場合 | 戻り値がない場合 |
---|---|
‘hogehoge’ 数値、true/falseなど文字列以外の場合もあります。 |
未定義値 undefined |
-カスタムJavascript
戻り値がある場合 | 戻り値がない場合 |
---|---|
‘hogehoge’ 数値、true/falseなど文字列以外の場合もあります。 |
未定義値 undefined |
-データレイヤーの変数
戻り値がある場合 | 戻り値がない場合 |
---|---|
‘hogehoge’ 数値、true/falseなど文字列以外の場合もあります。 |
未定義値 undefined |
-ファーストパーティ Cookie
戻り値がある場合 | 戻り値がない場合 |
---|---|
‘hogehoge’ |
未定義値 undefined |
ページ要素
-Dom要素
選択方法 | 戻り値がある場合 | 戻り値がない場合 |
---|---|---|
ID |
属性名の設定がある場合 |
‘null’ |
CSSセレクタ | 属性名の設定がある場合 対象要素および対象属性がある場合の返り値は、 対象要素の対象属性の値となります。 属性名の設定が無い場合はテキストが返ります。 テキストのみが対象です。 (画像が含まれている場合などもalt属性等は無視されます。) |
‘null’ |
-自動イベント変数
選択方法 | 戻り値がある場合 | 戻り値がない場合 |
---|---|---|
要素 |
HTML Object 検証例:Ayudateロゴクリック時 |
未定義値 undefined |
要素ID | 検証例:Ayudateロゴクリック時 ‘top’ |
自動イベント変数が反応するイベント(クリックなど)であれば、 対象要素が該当のデータを持たない場合は空の文字列(”)になります。 自動イベント変数が反応しないイベント(Content Loadedなど)であれば、 未定義値 undefinedを返します。 |
要素URL-URL全体 | 検証例:Ayudateロゴクリック時 ‘https://ayudante.jp/’ |
自動イベント変数が反応するイベント(クリックなど)であれば、 対象要素が該当のデータを持たない場合は空の文字列(”)になります。 自動イベント変数が反応しないイベント(Content Loadedなど)であれば、 未定義値 undefinedを返します。 |
要素URL-アウトバウンド | false/true | false |
要素URL-クエリ | 検証URL https://ayudante.jp/?keyA=valueA&keyB=valueB クエリーキー未設定の場合 →’keyA=valueA&keyB=valueB’ クエリーキー「keyA」設定の場合 →’valueA’ |
URLソース中にクエリーがなく、クエリーキーの指定がない場合 |
要素URL-パス | 検証URL:https://ayudante.jp/?keyA=valueA →’/’ 検証URL:https://ayudante.jp/ →’/’ 検証URL:https://ayudante.jp/column →’/column’ 検証URL:https://ayudante.jp/profiles-jp.htm →’/profiles-jp.htm’ |
検証不要 |
要素URL-ファイル拡張子 | ‘html’ |
”(空の文字列) URLに実際に拡張子が入っていない場合「/」終わりのURLの場合も該当します。 |
要素URL-フラグメント |
検証URL →’a03′ |
”(空の文字列) |
要素URL-プロトコル | ‘https’ | 検証不要 本来取得できないタイミング(Container Loadedなど)では 「https」など「ページのプロトコル」が値になります。 |
要素URL-ポート | ‘443’ | 検証不要 本来取得できないタイミング(Container Loadedなど)では 「ページのポート番号」が値になります。 |
要素URL-ホスト名 | ‘ayudante.jp’ | 検証不要 本来取得できないタイミング(Container Loadedなど)では 「ayudante.jp」など「ページのホスト名」が値になります。 |
要素クラス | ‘hogehoge’ |
自動イベント変数が反応するイベント(クリックなど)であれば、 |
要素ターゲット | ‘_blank’ | 自動イベント変数が反応するイベント(クリックなど)であれば、 対象要素が該当のデータを持たない場合は空の文字列(”)になります。 自動イベント変数が反応しないイベント(Content Loadedなど)であれば、 未定義値undefinedを返します。 |
要素テキスト | ‘hogehoge’ | 自動イベント変数が反応するイベント(クリックなど)であれば、 対象要素が該当のデータを持たない場合は空の文字列(”)になります。 自動イベント変数が反応しないイベント(Content Loadedなど)であれば、 未定義値undefinedになります。 |
要素のタイプ | ‘FORM’ | 未定義値 undefinedを返します。 |
要素の属性 | styleで設定した場合 ‘display: none;’ |
”(空の文字列) |
履歴:古いURLの一部 | ‘hogehoge’ | ”(空の文字列) history API以外のイベントでは未定義値 undefinedを返します。 |
履歴:古いステータス | ‘hogehoge’ | null history API以外のイベントでは未定義値 undefinedを返します。 |
履歴:新しいURLの一部 | ‘hogehoge’ | ”(空の文字列) history API以外のイベントでは未定義値 undefinedを返します。 |
履歴:新しいステータス | ‘hogehoge’ | null history API以外のイベントでは未定義値 undefinedを返します。 |
履歴:変更の参照元 |
‘pushState’ |
history API以外のイベントでは未定義値 undefinedを返します。 |
-要素の視認性
選択方法 | 戻り値がある場合 | 戻り値がない場合 |
---|---|---|
ID | true/false/% | ページに要素が存在しない場合はnullを返します。 |
CSSセレクタ | true/false/% | ページに要素が存在しない場合はnullを返します。 |
ユーティリティ
-Googleアナリティクス設定
戻り値がある場合 | 戻り値がない場合 |
---|---|
object | 検証不要 |
-カスタムイベント
戻り値がある場合 | 戻り値がない場合 |
‘gtm.dom’ | event変数をpushしていないdataLayer.push(Message表記など)は 文字列の’undefined’になります。 |
-ルックアップテーブル
戻り値がある場合 | 戻り値がない場合 |
---|---|
‘hogehoge’ 数値、True/falseなど文字列以外の場合もあります。 戻り値を他変数を参照する設定にしている場合、 指定した変数の型になります。 |
未定義値 undefined |
-環境名
戻り値がある場合 | 戻り値がない場合 |
---|---|
プレビュー モードに表示される環境の名前を返します。 | GTMプレビューに出力されません。 |
-正規表現の表
戻り値がある場合 | 戻り値がない場合 |
---|---|
‘hogehoge’ 戻り値に他の変数を指定した場合、 変数の型が文字列で返ります。 |
未定義値 undefined |
-定数
戻り値がある場合 | 戻り値がない場合 |
---|---|
‘hogehoge’ 戻り値に他の変数を指定した場合、 指定した変数の型になります。 |
検証不要 |
-未定義値
戻り値がある場合 | 戻り値がない場合 |
---|---|
未定義値、undefindを返します。 | 検証不要 |
-乱数
戻り値がある場合 | 戻り値がない場合 |
---|---|
956627976 | 検証不要 |
コンテナデータ
-コンテナID
戻り値がある場合 | 戻り値がない場合 |
---|---|
‘GTM-93FD’ | 検証不要 |
-コンテナのバージョン番号
戻り値がある場合 | 戻り値がない場合 |
---|---|
‘QUICK_PREVIEW’ | 検証不要 |
-デバックモード
戻り値がある場合 | 戻り値がない場合 |
---|---|
true | false |