Skip to content

mikebaldry/rack-track

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rack::Track

On too many projects I've worked on, nobody actually know every tracking pixel we have, what areas/pages they appear on (or should appear on) and it becomes a massive headache when you need to do work around them. This is where Rack::Track comes in to play, providing a DSL to define tracking pixels and the areas they should appear on. It's all in one place, instead of across layouts and pages and it's self documenting.

The only option on pixel is :on, where you identify an area of the site to appear on. Other options are ignored, making it useful to track owners, departments etc who 'own' the pixel.

MyApp::Application.config.middleware.use(Rack::Track) do
  area :confirmation_pages, "/checkout/order_confirmation", "/basket/complete"
  
  pixel "Generic GA", :on => :all_pages, :owner => "Anna Lyst" do
    %Q{
      <!-- GOOGLE ANALYTICS --> 
      blah
      <!-- END GOOGLE ANALYTICS --> 
    }
  end
  
  pixel "Goal GA", :on => :confirmation_pages, :owner => "Anna Lyst" do
    %Q{
      <!-- GOOGLE ANALYTICS --> 
      blah
      <!-- END GOOGLE ANALYTICS --> 
    }
  end
end

These tracking pixels will be inserted in to the page before the body tag closes. This is what most tracking pixels expect. If you require a pixel to be placed in the head tag, or anywhere else, let me know and I'll extend it (or you could clone and submit a pull request with your changes!)

  $ gem install rack-track

  require "rack-track" # or "rack/track", whatever floats your boat.

About

Taking all the pain away from managing Tracking Pixels

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages