Drupal 7 had the Tracking Code module that did the following:

A module that allows admins to create tracking code snippets and control their visibility similar to the core Drupal block module. It can be used to inject arbitrary code into the <head>, and at the beginning and end of the <body> tag, the most common placement for tracking code.

This module allows you to name your various tracking code snippets and organize them by weight and region. Configuration of a single snippet provides visibility settings similar to the core Drupal block module: white/black list by Drupal path, content type, and user role.

Currently there are three possible regions to inject your tracking code snippets:

  • Inside <HEAD> - Code is added using drupal_add_html_head()
  • After <BODY> - Code is added to $page['page_top'] using hook_page_alter()
  • Before </BODY> - Code is added to $page['content_bottom'] using hook_page_alter()

We're thinking of porting this module. But, I am wondering if there is a better way to accomplish the same thing that does not require porting another module?