gtm_rails Build Status Gem Version

Simply embed Google Tag Manager container snippet into Rails application.


Add these lines to your application's Gemfile:

gem 'gtm_rails'

And then execute:

$ bundle

Or install it yourself as:

$ gem install gtm_rails


Create config/google_tag_manager.yml in your Rails application.

  foo: GTM-YourGtmId1
  bar: GTM-YourGtmId2
  baz: GTM-YourGtmId3
  foo: GTM-YourGtmId4
  bar: GTM-YourGtmId5
  baz: GTM-YourGtmId6

The above is a sample. foo, bar, baz are arbitrary label names, and replacing GTM-XXXX with your container ID.

In view, use two helper methods. (Click here to read more)

First, following method as close to the opening <head> tag as possible on every page of your website.

<%= google_tag_manager_script_tag(:foo) %>

Second, following method immediately after the opening <body> tag on every page of your website.

<%= google_tag_manager_noscript_tag(:foo) %>

These method arguments are a label name specified in config/google_tag_manager.yml.

Google Tag Manager container snippet will be expanded based on Rails.env and label name. If there is no match, a blank string is returned.


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request


gtm_rails is released under the MIT License.