Data layer

Rename the data layer

The default name of the data layer by the global site tag is dataLayer, to use a different name:

  • Update all instances of "dataLayer" in the global site tag snippet to the new name.
  • Add an query parameter named l to the URL to set the new data layer name.
<!-- Global site tag (gtag.js) -->
<script async src=""></script>
  window.gDataLayer = window.gDataLayer || [];
  function gtag(){gDataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'GA_MEASUREMENT_ID');

Custom data layer methods

If you push a function to the data layer, it will be invoked with this set to an abstract data model. This abstract data model can get and set values to a key value store, and also exposes a way to reset the data layer.


The get function on the abstract data model lets you retrieve values that were set.

window.dataLayer.push(function() {
  const existingTime = this.get('time');
  if (existingTime !== null) {
    // Change behavior based on whether or not this value exists...
  } else {
    // ...


The set function on the abstract data model lets you set values to retrieve through get.

window.dataLayer.push(function() {
  this.set('time', new Date());


The reset function on the abstract data model lets you reset the data in the data layer. This is most useful in a long-living page where the data layer size continues to grow over time. To reset the data layer, use the following code:

window.dataLayer.push(function() {