Roll-Up Property is a single property which aggregates data from multiple source properties. This might be useful for businesses that have multiple websites for different regions. In this case, they can safely track each of the regional sites into a separate Google Analytics property and also have a separate roll-up property to analyze a larger amount of data than you have in single-site properties.

Here is how the Google Analytics account structure would look like in case of using the roll-up property:

As you can see Roll-Up property is just another property in the Google Analytics account. However, this property combines the data included in all individual site properties and therefore has more data. 

In order to track traffic to both to individual properties and to the Roll-Up property, it is necessary to have 2 tracking codes on every page and to send all event and transaction hits to both properties simultaneously. Fortunately, this is quite easy to configure with Google Tag Manager and further in this post, I will explain how to do this. 

Having a roll-up property has the following benefits for businesses with multiple websites:

  • All the data is available in one view. This makes it very easy to check the total number of visitors the business gets and other metrics. 
  • Roll-Up view can help to Identify common issues across websites with a similar audience or product type.
  • Roll-Up view is useful for getting a “bird’s-eye” view of all the traffic sources and their conversion rates.
  • It is helpful to highlight similar behaviour patterns and on-site activity
  • In case both roll-up property and individual properties are configured it’s possible to get reliable data both on traffic sources and navigation of users between the domains
  • Demographic reports are based on a broader online audience so they are more reliable. 

However, there are some drawbacks and limitations connected with the rollup properties:

  • In case you have a lot of traffic you may reach the limit of 10 million hits per property for free Google Analytics accounts.
    Sometimes it’s helpful just to avoid sending some less important high volume events (for example, scrolling events) to the roll-up property.
  • User metric might be overreported in the roll-up property in case users tend to visit different hostnames from different traffic sources (in case they navigate from one hostname to the other cross-domain tracking might be configured to identify the same user on different hostnames)

An alternative to having individual and a Roll-Up property is tracking all the traffic to one single property only. This will work fine for businesses that are far from reaching 10 million hits per month for all of their sites. Google Analytics structure will look like this:

This configuration is also preferable in case you cannot use 2 GA tracking codes on each page or fully configure tracking with GTM (this often happens to Shopify users because of the very limited GTM). As you see this also has views per site and Roll-Up view. But this configuration has the following drawbacks compared to the one using a separate property for Roll-Up:

  • This configuration will reach the limit of 10 million hits per property much faster because all the data is sent to a single property. It’s not possible to track less important events with individual properties only and more important events - with both individual and Roll-Up properties.
  • It will reach the limit of 25 views per property much faster for the same reason.
  • It’s not possible to report Site A, Site B and Site C as referrals in individual site views and to have cross-domain tracking inside the Roll-Up view (in order to report on external traffic sources)

How to Send Data to Roll-Up Property with GTM

In order to use a separate property for Roll-Up reporting, all the hits should be duplicated to it. In case you have a very simple configuration in GTM you can just duplicate all your Google Analytics tags and use Roll-Up UA id for them instead of using individual UA ids. 

But there is a much cleaner way that I normally use for configurations like this. 

First of all, I create a lookup table that selects proper UA id depending on the hostname and use this lookup table in my main Google Analytics setting variable to choose the correct individual UA id each time. 

Secondly, I add customTask field to the Google Analytics setting variable and use JavaScript that duplicates all the hits to Roll-up view as the value of this field.

Here is the code for JS - customTask hit duplicator variable:

function() {
  // Replace newTrackingId value with the UA property to which you want to duplicate this tag
  var newTrackingId = '{{UA - RollUp}}';  
  var globalSendTaskName = '_' + newTrackingId + '_originalSendTask';
  return function(customModel) {
    window[globalSendTaskName] = window[globalSendTaskName] || customModel.get('sendHitTask');
    customModel.set('sendHitTask', function(sendModel) {
      var hitPayload = sendModel.get('hitPayload');
      var trackingId = new RegExp(sendModel.get('trackingId'), 'gi');
      sendModel.set('hitPayload', hitPayload.replace(trackingId, newTrackingId), true);

Using such a configuration it’s possible to send hits to 2 Google Analytics properties with just 1 GTM tag which makes the whole configuration much cleaner and easier to understand. 

I hope this article was useful for you. 

Feel free to contact me in case of any questions about this or help needed. 

Leave a comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.