CONTENTS OF THIS FILE --------------------- * Introduction * Requirements * Installation * Configuration * Troubleshooting * Maintainers INTRODUCTION ------------ This project integrates the site with the Google Tag Manager (GTM) application. GTM allows you to deploy analytics and measurement tag configurations from a web-based user interface (hosted by Google) instead of requiring administrative access to your website. * For a full description, visit the project page: https://www.drupal.org/project/google_tag * To submit bug reports and feature suggestions, or to track changes: https://www.drupal.org/project/issues/google_tag REQUIREMENTS ------------ Sign up for GTM and obtain a 'container ID' for your website. Enter the 'container ID' on the settings form for this module (see Configuration). * https://tagmanager.google.com/ INSTALLATION ------------ Place the project files in an appropriate modules directory and enable the module as you would any other contributed module. For further information see: * https://www.drupal.org/node/895232 CONFIGURATION ------------- Users in roles with the 'Administer Google Tag Manager' permission will be able to manage the module settings and containers for the site. Configure permissions as usual at: * Administration » People » Permissions * admin/people/permissions From the module settings page, configure the snippet URI and the default conditions on which the tags are inserted on a page response. Conditions exist for: page paths, user roles, response statuses, and variable realms. See: * Administration » Configuration » System » Google Tag Manager * admin/config/system/google_tag/settings From the container management page, manage the containers to be inserted on a page response. Add one or more containers with separate container IDs and the snippet insertion conditions. See: * Administration » Configuration » System » Google Tag Manager * admin/config/system/google_tag The module does NOT implement the Variable API, but does include a realm setting so that containers may be separately configured by realm, thus enabling support for multiple languages and domains. If these features are needed, then review the other projects at: * https://www.drupal.org/project/variable * https://www.drupal.org/project/18n * https://www.drupal.org/project/domain_variable For development purposes, create a GTM environment for your website and enter the 'environment ID' on the 'Advanced' tab of the settings form. * https://tagmanager.google.com/#/admin For additional data layer management, consider the dataLayer module. It supports the default name for the data layer. To use a non-default name, apply a patch to the code from that module module. * https://www.drupal.org/project/dataLayer TROUBLESHOOTING --------------- If the JavaScript snippets are not present in the HTML output, try the following steps to debug the situation: * Confirm the snippet files exist at the snippet base URI shown on the module settings page. By default this is public://google_tag/ which on most sites equates to sites/default/files/google_tag/. If missing or stale, then invoke a cache rebuild (see note below) or visit the container management page, edit each container, and submit the form to recreate the snippet files for the container. The need to do this may arise if the project is deployed from one environment to another (e.g. development to production) but the snippet files are not deployed. NOTE: Snippet files will only be recreated on cache rebuild if the 'Recreate snippets on cache rebuild' setting is enabled (this is the default). A cache rebuild can be triggered from the command line using drush or from the site performance administration page. * Enable debug output on the module settings page to display the result of each snippet insertion condition in the message area. Modify the insertion conditions as needed. If you retain the default module setting to 'Include the snippet as a file', then the Google Search Console will report that the site is NOT setup to use the Tag Manager. This report is a FALSE POSITIVE as the bot only checks for inline code on the script tag. It does not load the snippet file and inspect the code therein. Instead of relying on this bot, check whether the GTM snippets are loaded as a result of the snippet added by this project. MAINTAINERS ----------- Current maintainer: * Jim Berry (https://www.drupal.org/u/solotandem)