In a tiny nutshell

Conceptual model:
Development guides:
- https://developers.google.com/analytics/devguides/collection/analyticsjs/pages
- https://developers.google.com/tag-manager/devguide
Roughly explained:
- Google Analytics
- Google Tag Manager
- Google Tag Manager Data Layer is a JavaScript array that holds tag/triggers/variables
- There are two ways, how to add data to the Data Layer (cool external reference):
- (DO NOT USE) By adding dataLayer snippet above the GTM container snippet. This is called “Data Layer declaration”
- Or by pushing data with dataLayer.push method.