Google Tag Manager のスニペットタグ (というかそれに含んだ GTM のコンテナ ID) の出し分けということをしたくなったので、それように作ったもの。近いものとして、google-tag-manager-rails があるが、グローバルにひとつの GTM のコンテナ ID (GTM-XXXX といったもの) を持つ仕組みだったので今回の用途には向かなかった。
ということで作ったのは、複数の GTM のコンテナ ID を設定できる YAML をベースに、ラベル名と Rails.env の値をもとに Google Tag Manager のスニペットタグを出力するというシンプルなもの。
使い方
Rails アプリケーションの config/google_tag_manager.yml を配置する。例としてはこんな感じになる。
staging: foo: GTM-YourGtmId1 bar: GTM-YourGtmId2 baz: GTM-YourGtmId3 production: foo: GTM-YourGtmId4 bar: GTM-YourGtmId5 baz: GTM-YourGtmId6
foo
, bar
, baz
は任意のラベル名を付ける。
ビューには google_tag_manager_script_tag
というヘルパーメソッドと、google_tag_manager_noscript_tag
というヘルパーメソッドの2つが追加される。引数には config/google_tag_manager.yml
で指定したラベル名を指定する。
<%= google_tag_manager_script_tag(:foo) %>
は Web ページの<head>
タグの上の方で呼んでおくヘルパーメソッドとなる<%= google_tag_manager_noscript_tag(:foo) %>
は Web ページの<body>
タグの上の方で呼んでおくヘルパーメソッドとなる
それぞれ戻り値として、環境変数 RAILS_ENV
に応じた Google Tag Manager のスニペットタグが返る。一致するものがない場合は空文字が返る。
設置場所については、公式ガイド に書かれているとおりなので、そちらも参照すると良いと思う。
設定ファイルのジェネレータがあった方がいいだろうとか、テストが足りていなかったりなど、手が届いていないところがあるので、しばらくちょくちょく手を入れると思う。
最新情報は README.md に記している。
2017.01.27: gtm_rails バージョン 0.3.0 に合わせて内容を改訂した