Edited at

Google Tag Manager のタグ、トリガー、変数の命名規則を考えてみた [設計編]

More than 3 years have passed since last update.

今のプロジェクトで Google Analytics (以下GA)から Google Tag Manager (以下GTM)に移行しました。移行の際に GTM の命名規則をルール化したので、何回かに分けて紹介します。


GTM の簡単な説明

GTMは、ウェブページに埋め込んだ各種スクリプトを GTM の管理画面で設定し、配信することができるサービスです。ウェブページにたくさんのスクリプトを入れている場合、GTM で一元管理できるので、管理がより楽になります。

GTM の管理画面


命名規則を決めるに至った過程

今のプロジェクトには、既に幾つかのスクリプトが実装されていて、移行可能なスクリプトの全てを GTM で管理すると数が多くなるので、管理できなくなることは想定できることでした。

どうやって管理していけばいいか検討していた時に、GTM のサポートページに、Naming conventions and setup tips というページを発見しました。

名前に命名規則を設け、それが担う役割を名前として表現するやり方が紹介されていて、このやり方を参考に命名していくことにしました。


命名規則のルール

命名規則として以下のものをルールとして定めました。


  • プロダクト(Google Analytics や Google AdSense をはじめとした GTM がサポートしているもの)に依存するものは後述するプロダクトコードをプレフィックスとして名前に持ちます。

  • ページビューは Pageview、イベントは Event、トリガーは Trigger、変数は Variable 等のように自身の役割を名前に持ち、詳細を見なくても何をするためのものか把握できるようにします。

  • 名前に使用する文字列はキャメルケースで、名前を構成する各単語を - を使って一つの名前として命名します。また、単語は全て英語表記で統一しました。


プロダクトコード

以下のプロダクトが標準で選択可能で、これらに属するタグ、トリガー、変数は名前の一番最初にプレフィックスを付けて命名しています。



  • GA: Google Analytics


  • AS: Google AdSense


  • AW: Google AdWords


フォルダ構成

フォルダ構成と各フォルダの役割は以下の通りです。

今回は GA の移行だったので、GA をプレフィックスとして持つフォルダを作成し、GA に関するタグ、トリガー、変数等を入れて分類しています。

フォルダ名
フォルダの役割

Unifiled Items
未分類のタグ、トリガー、変数が入るところ。

Triggers
共通で使うトリガーを入れるフォルダ

Variables
共通で使う変数を入れるフォルダ

GA - Pageviews
GAのページビューのタグを入れるフォルダ

GA - Events
GAでイベントのタグを入れるフォルダ

GA - Socials
GAでソーシャルのタグを入れるフォルダ

GA - Triggers
GAでのみ使うトリガーを入れるフォルダ

GA - Variables
GAでのみ使う変数を入れるフォルダ

新規で作成したタグ、トリガー、変数はフォルダを選択しないと Unifiled Items に入ってしまうので、必ずどこかのフォルダに所属させ、極力 Unifiled Items に放置されないようにしています。


共通のトリガー、変数

プロダクトにかかわらず全体で使いまわし可能なトリガー、変数は共通のものとして扱います。共通で使うのでプロダクトコードは名前に含まれていません。


共通で使うトリガーの命名規則

共通で使うトリガーは、Triggers フォルダに入れて分類していて、以下の命名規則を持ちます。

Trigger - [Event] - [Conditions|Event Name|Trigger Type]

ConditionsEvent Name 等は選択した [Event] によって設定する項目が違うので柔軟に命名しています(ただし、トリガー名を見て何をしているか推測できるように命名しています)。


Event


  • Page View

  • Click

  • Form Submission

  • History Change

  • Custom Event

  • JavaScript Error

  • Timer


トリガー名の例


  • Trigger - Custom Event - Match - All Event

  • Trigger - Pageview - Match - Index Page


共通で使う変数の命名規則

共通で使う変数は、Variables フォルダに入れて分類していて、以下の命名規則を持ちます。

Variable - [Variable Name]


変数名の例


  • Variable - Domain

  • Variable - Page Title

  • Variable - User Agent

  • Variable - Search Query


GAのタグ、トリガー、変数

次に、ここでは GA で使うタグ、トリガー、変数を紹介しますが、他のプロダクトでも名前の付け方は同じ要領で行います。

GA のタグ、トリガー、変数は全て GA のプレフィックスを持ち、フォルダも GA 用に用意したフォルダに入れます。


GA で使うタグの命名規則

タグを作成する時に以下のトラッキングタイプが選択可能で、数が多くなるのでトラッキングタイプ毎にフォルダを分けています。


トラッキングタイプの種類


  • ページビュー (Pageview)

  • イベント (Event)

  • トランザクション (Transaction)

  • ソーシャル (Social)

  • 速度 (Timing)

  • リンクをデコレート (Decorate Link)

  • フォームをデコレート (Decorate Form)


GA で使うページビュータグの命名規則

GA で使うページビュータグは、GA - Pageviews フォルダに入れて分類していて、以下の命名規則を持ちます。

GA - Pageview - [Page Name]

[Page Name] は各ページ名前付けしていて、トップページだと Index Page としていて、

GA - Pageview - Index Page

のようなタグ名になります。



  • GA - Pageview - Index Page

  • GA - Pageview - Article Detail Page

  • GA - Pageview - Contact Page


GA で使うイベントタグの命名規則

GA で使うイベントタグは、GA - Events フォルダに入れて分類していて、以下の命名規則を持ちます。

GA - Event - [Event Category] - [Event Action]

イベントラベル等はイベント毎に差がでるところなので規則に含めていません。


Event Category


  • Header - Logo (ヘッダー内のロゴ)

  • Header - Menu (ヘッダー内のメニュー)

  • Contact Link (お問い合わせフォームへのリンク)

  • Outbound Link (外部サイトへのリンク)

  • Inbound Link (回遊リンク)

  • Facebook Page (Facebook Page プラグイン)

  • Carousel (カルーセルモジュール)


Event Action


  • Click (押下)

  • Fan (Facebook Page プラグインのいいね)

  • Flick (カルーセルモジュールのフリック)



  • GA - Event - Header Logo - Click

  • GA - Event - Outbound Link - Click

  • GA - Event - Facebook Page - Fan

  • GA - Event - Carousel - Flick


GA で使うソーシャルタグの命名規則

GA で使うソーシャルタグは、GA - Socials フォルダに入れて分類していて、以下の命名規則を持ちます。

GA - Social - [Network] - [Action]


Network


  • Facebook

  • Twitter

  • Line


Action


  • Like

  • Share

  • Follow

  • Send



  • GA - Social - Facebook - Like

  • GA - Social - Facebook - Share

  • GA - Social - Twitter - Follow

  • GA - Social - Line - Send


GA で使うトリガーの命名規則

GA のプレフィックスを持ち、それ以外は共通で使うトリガーの命名規則と同じです。

GA - Trigger - [Event] - [Conditions|Event Name|Trigger Type]



  • GA - Trigger - Custom Event - Facebook - Like

  • GA - Trigger - Custom Event - Virtual Page View


GA で使う変数の命名規則

GA - Variable - [Variable Name]



  • GA - Variable - Tracking ID

  • GA - Variable - Virtual Page View

  • GA - Variable - Utm Source

  • GA - Variable - Utm Campaign

  • GA - Variable - Utm Content

  • GA - Variable - Utm Medium

  • GA - Variable - Utm Term

  • GA - Variable - Social Network - Facebook

  • GA - Variable - Social Action - Like


最後に

以上、GTM 移行をする際に決めた命名規則でした。他にもこういうルールがあったほうがいいかもとかあればコメント等で教えてもらえると取り込みたいと思います。


参考