名前が、開かなくても分かる形になっていた
広告リンクのクリックを数えるために、タグマネージャーに5つのものを足しました。変数が3つ、トリガーが1つ、タグが1つです。
作っている途中で、足そうとしていた変数の1つが、すでにあることに気づきました。一覧を眺めただけで分かりました。
タグマネージャーの中にあるものを、どう名付けているかの話です。3文字の前置きが何を伝えているのか、それが無いとどう困るのか、そして名前が設定の一部になっているという性質について書きます。
3種類のものが、別々の一覧に並んでいる
タグマネージャーには、役割の違うものが3種類あります。
| 種類 | 役割 |
|---|---|
| 変数 | 値を持ってくる。「どの記事か」「どのリンクか」 |
| トリガー | いつ動かすかを決める |
| タグ | 実際に送る |
画面上は別々の一覧になっていますが、お互いを名前で参照し合っています。タグの設定を開くと、こう書かれています。
article_slug {{DLV - article_slug}}
左が送るときの名前、右が値の取り出し元です。右側は変数の名前をそのまま書いた形で、ここに出てくるのは名前だけです。中身は書かれていません。
前置きが、2つのことを伝えている
このサイトでは、3つの前置きを使っています。
| 前置き | 元の言葉 | 意味 |
|---|---|---|
DLV - |
Data Layer Variable | データレイヤーから取る変数 |
CE - |
Custom Event | カスタムイベントのトリガー |
GA4 - |
Google Analytics 4 | GA4へ送るタグ |
どれも、設定画面に出てくる言葉をそのまま縮めたものです。変数を作るときに選ぶ種類が「データレイヤーの変数」、トリガーを作るときに選ぶ種類が「カスタム イベント」。画面の言葉と一致しているので、覚え直す必要がありません。
最初は DL - にしようかとも思いました。短いほうが読みやすいからです。
やめたのは、検索したときに出てこないからです。DLV はタグマネージャーを使う人のあいだで通じている呼び方で、困ったときに調べれば同じ言葉で説明が見つかります。自分だけの略し方は、自分で説明し続けることになります。
実際の名前は、前置きと元の名前をハイフンでつないだ形になります。
DLV - article_slug
CE - affiliate_click
GA4 - affiliate_click
伝えているのは2つです。何の種類かと、値がどこから来るか。
変数には他にも作り方があります。URLから取る、ページの要素から取る、JavaScriptを書いて計算する。DLV - と書いてあれば、サイト側が明示的に渡した値だと分かります。開いて確かめる必要がありません。
DLV - article_slug の後半は、サイト側が dataLayer へ積むときのキーと同じ文字列です。
ここで言い換えると、コードを読む側と設定を読む側で、別の名前を覚えることになります。揃えておけば、片方を見てもう片方が探せます。
気づけたのは、一覧が読めたから
今回、変数を4つ作るつもりでいました。実際に作ったのは3つです。
| 必要だったもの | どうしたか |
|---|---|
affiliate_network |
作った |
affiliate_product |
作った |
affiliate_label |
作った |
article_slug |
すでにあった |
一覧に DLV - article_slug が並んでいました。前置きで種類が分かり、後半でデータレイヤーのどのキーを読むかが分かるので、中身を見るまでもなく同じものだと判断できました。
これが 記事のスラッグ や slug変数 のような名前だったら、開いて確かめるか、面倒で作り直していたと思います。
重複した変数は、作った直後は困りません。困るのは、読み取り方を変えたときです。
片方だけ直すと、それを使っているタグだけが静かに古い動きのまま残ります。エラーにはならず、数字がずれるだけなので、気づく手がかりがありません。
名前は、設定の一部になっている
ここが普通の「分かりやすい名前を付けよう」と違うところでした。
タグマネージャーでは、タグが変数を名前で参照します。{{DLV - article_slug}} という文字列が、そのまま結びつきです。
| 名前を変えると | |
|---|---|
| ふつうのコード | 参照している場所を、まとめて書き換えられる |
| タグマネージャー | 参照を自動で追随させる。ただし名前は手がかりとして残り続ける |
実際には画面側が参照を追いかけてくれるので、名前を変えても壊れません。ただ、後から読む人にとっては名前がすべてです。設定の一覧に並ぶのも、タグの中に出てくるのも、名前だけだからです。
コードならコメントを書けますが、ここには書けません。名前が説明を兼ねています。
送る側の名前と、分ける
もうひとつ気をつけたのが、GA4へ送るときの名前には前置きを付けないことです。
affiliate_network {{DLV - affiliate_network}}
左は送信先であるGA4で見える名前なので、DLV - のような手元の都合を混ぜません。右は手元の名前です。
同じ文字が2回出てきて冗長に見えますが、役割が違う2つがたまたま同じ名前なだけです。GA4側だけ名前を変えたくなる日が来るので、最初から別物として扱っておきます。
今回の学び
まず、一覧に並ぶものは、一覧で判断できる名前にするということ。開いて確かめないと分からない名前だと、確かめるのが面倒で作り直してしまいます。重複は、名前が読めないところから生まれていました。
次に、前置きは、種類と出どころを兼ねられること。3文字で「変数である」と「データレイヤーから来る」の2つを伝えています。どちらも、後ろの名前だけでは分かりません。
そして、コメントが書けない場所では、名前が説明になること。設定画面にはコメント欄がありません。半年後の自分が読むのは名前だけなので、そこに意味を載せておく必要がありました。
この記事を共有する
関連記事

「読み終えた」をどう数えるか
GA4にはスクロール距離の計測が最初からある。それでも使わなかった。スクロール率が測っているのは「画面が下まで移動したか」であって、「読み終えたか」ではないから。サイトにすでにある読了状態を使って、未読から読了に変わった瞬間だけを送るまでの記録。

ページを10枚見ても「1」と数えられる問題
Next.jsはページを読み込み直さない。表示は速いが、計測から見ると「ずっと同じページを見ている」ようにしか映らない。Googleタグマネージャーを挟んでページ内遷移を拾い、さらに初回だけ二重に数えられる問題を止めるまで。

除外しているつもりで、1件も除外していなかった
アクセス解析に、自分のアクセスを入れないための設定があります。ずっと「テスト」のままになっていたので、「有効」に切り替えました。 それでも、何も除外されません。設定がもう一段、奥にありました。 この記事で扱うこと 自分の […]