This module allows you to restrict Google Tag Manager tracking to users from a specific geographic location, such as Switzerland. It uses a cookie and a dataLayer event to manage this functionality.
This module adds the capability to only track visitors from a certain geographic location (Switzerland) with the Google Tag Manager. It sets a cookie (gtl) and fires a dataLayer event (gtl_allowed) when a trackable user is first identified.
Dependecies
smart_ip(for IP geo lookup)google_tag(or similiar for GTM integration)
Installation
- Setup the smart_ip module.
- Install an IP datasource (e.g. MaxMind GeoIP2 Lite Country database)
- Roles to Geolocate: anonymous and authenticated users
- Acquire/update user's geolocation on specific Drupal native pages:
/tracking/check
- Install this module
- Enable the
/tracking/check:GETREST endpoint and allow access for anonymous visitors as well as authenticated users (in/admin/config/services/rest). - Setup the Google Tag Manager container to support the new functionality
Google Tag Manager Setup
- Create a first-party cookie variable for the cookie name
gtl. - Create a custom event trigger for the event name
gtl_allowed. - Add the first-party cookie to existing triggers as a condition so that the trigger is only fired if the cookie
valuematches1. Apply this to all triggers that are only allowed to fire for trackable visitors. (e.g. PDF link clicks) - Add the custom event trigger to existing tags that only fire once per page visit. (e.g. Google Analytics pageview).
Ask your assistant about Geo Tracking Limit
Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works
Depends on
Dependencies of the latest stable release
- smart_ip Drupal core
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.