So basically the idea is (when requested the integration) to generate a GTM container and associate it with a GA property in order to give users A LOT of access and control over what we can measure on our notebooks.

You should evaluate the pros and cons but the options are:

1. Use a default implementation for every notebook.

2. Let the users manage GTM.

As an introduction here is a quick explain of what is GTM and how it works:

You can use GTM as a better, fastest and easiest solution to GA on site code. First, you paste a script on the site and thats all. From that point on u dont need to change anything on the page code you just set everything from the GTM platform. By default, as soon as u add the script u ll have a global variable called dataLayer (can be renamed) which is a array that has a listener so every time something is push into it u can detect it and act based on that. There are 3 by default events push into this array: Page View (as soon as the scripts loads), DOM Ready (self explaining), Windows Loaded (page fully loaded). You can create tags por page tracking (basically the only thing you are doing with the GA integration) and events. (there are a lot more for timing, pixels, inject HTM).

Basically on the GTM console u have 3 components: Tags (the combined information send to GA) , Triggers (the rules for the Tags activation) and Variables (values from the dataLayer or the DOM or … u append on each field of the Tag).

Just simple but maybe interesting ideas: you can fire events for measuring clicks, links, videos, visibility of elements, scroll depth, changes on the history, javascript errors, timers, custom events and a couple more

This allows you to take advantage of a lot of GA tools that more companies doesnt even know about like page grouping, custom dimensions, custom metrics, calculated metrics and a couple more

Hope you like the idea!