Non-Interaction Events in Google Analytics Explained
In this article, I am going to talk about non-interaction events in Google Analytics.
We will see why we need to pass non-interaction events in Google Analytics, how we can set them using different methods, and also how to debug them.
Introduction to non-interaction events
When it comes to Google Analytics events, you can track each and every activity that a user performs on the website. But what about the events that are system generated (events defined by you that don’t need a user interaction, such as click or scroll)? This is where the concept of non-interaction events comes into the picture.
Let’s take an example. Suppose you run an ecommerce website and you have lots of promotions displayed on the web page. You would definitely like to see how many times the promotional banner was displayed to users (to check the performance of internal promotion campaigns) and you would set up an event for this.
Since displaying a promotion banner is not a user initiated interaction, these events are called non-interaction events. Long story short, non-interaction events are the events which you would like to track but are not initiated by the user on the website.
While setting up the events in Google Analytics, you get an option to select the non-interaction hit parameter to ‘true’ or ‘false’.
If the non-interaction hit parameter is set to ‘true’ then Google Analytics will consider that the corresponding event is not initiated by the user and it will not affect the bounce rate metric in Google Analytics.
If the non-interaction hit parameter is set to ‘false’, Google Analytics will consider such events as being initiated by the user on the website, and will set that particular page’s bounce rate to zero for the corresponding session.
Why you need non-interaction events
In order to understand the need for non-interaction events in Google Analytics, you must be familiar with the concept of bounce rate.
Bounce rate is the percentage of single page visits (or sessions) in which a person leaves your website from the landing page without browsing any further or performing any action.
A high bounce rate is not always bad, and sometimes even a very low bounce rate can be bad. For example, it is common for blogs to have a high bounce rate as people read the blog post and then leave the website. In other words, a bounce is defined as a session containing only one interaction hit.
If the bounce rate of your website is very low, for example 10%, then that must be because of some technical issues. There could be some issue with your tracking code implementation or maybe some other website events which are resulting in more than one interaction hit request being sent to GA server in a single page web session. This implies that by default, every event hit is considered as an interaction hit, even if such an event is not initiated by the user.
Now if your page contains any such events which are not initiated by the users you would need to set the non-interaction hit to ‘true’, which will not affect bounce rate of the page.
Let’s look at the below image to understand it more. The image is divided into three sections explaining each section by the activities.
Section 1: Here, user A lands on page A of the website and exits without browsing any further or performing any action. This will be counted as a bounce for page A in Google Analytics.
Section 2 with non-interaction event: Here, user A lands on page A of the website and a non-interaction event is fired. Then user A exits without browsing any further or performing any action. This will be also counted as a bounce for page A in Google Analytics because the event is set with the non-interaction parameter to ‘True’.
Section 3 with interaction event: Here user A lands on page A of the website and an interaction event is fired (even if it is not initiated by the user). Then user A exits without browsing any further or performing any action. In this case it will not count as bounce for page A in Google Analytics because the event is set with the non-interaction parameter to ‘False’.
There are many scenarios where users on the website do not initiate any interaction but still you want to measure a few events. In such cases you can send events with a non-interaction parameter set to ‘true’ without affecting the bounce rate of the page.
Below, I have listed a few scenarios where you may decide to set the non-interaction hit to ‘true’.
- Measuring internal promotion view (like on the home page or product category page).
- Scroll tracking events on website that sends an event at 25%, 50%, 75% and 100% – but many of pages on the website by default scroll past 25% when it loads
- Page load events which fire as soon as the webpage is completely loaded.
Caveat: If you set the non-interaction hit parameter to ‘true’ for user initiated events as well, then Google Analytics will count it as a bounce, and it may affect the bounce rate of the page.
Note: By default, an event hit in Google Analytics is considered an interaction hit and it is included in bounce rate calculations.
How to set non-interaction events using Google Tag Manager
If you are using Google Tag Manager for setting up events on your website, you can follow the below steps to set non-interaction hit parameters.
Step-1: Navigate to your Google Tag Manager container and click on ‘Tags’.
Step-2: Select the Google Analytics event tag for which you want to set the non-interaction hit parameter. As an example, I am selecting the ‘Ecommerce Internal Promotion View’ tag since this tag fires on custom events whenever the promotional banner is displayed to the user (event is not initiated by user).
Step-3: An overlay will appear like below. Now click on the pencil icon to edit the tag configuration.
Step-4: Now click on the drop-down under ‘Non-interaction hit’.
Note: The default value for ‘Non-interaction hit’ is set to ‘False’ which means that the current event is included in bounce rate calculations.
Step-5: Select ‘True’ from the list.
Step-6: Click on ‘Save’ in the upper right corner.
Your tag will look like below:
Congratulations! You have successfully set a non-interaction event using Google Tag Manager.
How to set non-interaction events using Global Site Tag (gtag.js) and Google Analytics Tag (analytics.js)
If you you are using Global Site Tag (gtag.js) for Google Analytics implementations you can modify the code by adding the parameter:
'non_interaction': true
The sample code will look like below:
gtag('event', 'view_internal_promotion', {
'event_label': 'promotional name',
'event_category': 'ecommerce',
'event_action': 'view_internal_promotion',
'non_interaction': true
});
Note: If you do not add the parameter ‘non_interaction’: true then the default value for non-interaction hit is set to ‘False’ which implies that the current event is included in bounce rate calculations.
If you you are using Google Analytics Tag (analytics.js) for Google Analytics implementations you can modify the code by adding the parameter:
nonInteraction: true
The sample code will look like below:
ga('send', 'event', 'ecommerce', 'view_internal_promotion', 'promotional name', {
nonInteraction: true
});
Note: If you do not add the parameter ‘nonInteraction: true’ then the default value for non-interaction hits is set to ‘False’ which implies that current event is included in bounce rate calculations.
Debugging non-interaction events
Once you set the non-interaction events, follow the below steps to debug and validate it.
Step-1: Load the webpage of your website where the non-interaction event is set up. As an example, I am going to validate the internal promotion event (not initiated by user) fired on my website home page.
Step-2: Right-click on a web page and select ‘Inspect’ (in the Chrome web browser).
This action will open the developer console at the bottom of the web page:
Step-3: Go to the ‘Network’ tab in the console. You will see a screen like the one below.
Step-4: Make sure the ‘Preserve Log’ and ‘Disable cache’ checkboxes are selected.
Disable cache (while developer console is open)
This option will disable browser caching for the page you are visiting while the developer console is still open.
You need to disable the cache so that your browser does not keep loading the previous version of your web page while you are making changes to it for testing purposes.
Preserve log upon navigation
If this option is kept disabled, you will lose debug information as you navigate from one from one web page to another.
Preserving the log will come handy when you are testing event tracking code.
Step-5: Type ‘Collect?’ in the filter on the left-hand side and refresh the page.
Step-6: You will see multiple collect calls after the page refreshes. Select the event call for which you have set ‘non-interaction Hit’ to ‘True’. You should see the ‘ni’ parameter is set to 1. This implies that this event is a non-interaction event and it will not affect the bounce rate of the page.
In general, events where the non-interaction hit is set to ‘false’ will not have the ‘ni’ parameter.
This is how you can set and debug non-interaction events.
Frequently asked questions about non-interaction events in Google Analytics Explained
What is an interaction hit in Google Analytics?
Any activity on the website that triggers the tracking code and sends data to the Google Analytics server is called an interaction hit in Google Analytics. Common hit types include page tracking hits, event tracking hits, and ecommerce hits.
What is a non-interaction hit in Google Analytics?
Non-interaction hits (events) are hits which you would like to track but are not initiated by the user on the website.
If the non-interaction hit parameter is set to ‘true’, Google Analytics will consider the corresponding event is not initiated by the user and it will not affect bounce rate metric in Google Analytics.
If the non-interaction hit parameter is set to ‘false’, Google Analytics will consider such events are initiated by the user on the website, which will set the particular page’s bounce rate to zero.
Why is bounce rate affected by events?
By default, every event hit is considered as an interaction hit, even if such an event is not initiated by the user.
If your page contains events which are not initiated by the users you but still need to track some of the key activities such as internal promotion view, the default value for non-interaction Hit is set to ‘False’ which implies that current event is included in bounce rate calculations. Since such events are not initiated by the users you would like to set non-interaction hit to ‘true’ which will not affect bounce rate of the page.
In this article, I am going to talk about non-interaction events in Google Analytics.
We will see why we need to pass non-interaction events in Google Analytics, how we can set them using different methods, and also how to debug them.
Introduction to non-interaction events
When it comes to Google Analytics events, you can track each and every activity that a user performs on the website. But what about the events that are system generated (events defined by you that don’t need a user interaction, such as click or scroll)? This is where the concept of non-interaction events comes into the picture.
Let’s take an example. Suppose you run an ecommerce website and you have lots of promotions displayed on the web page. You would definitely like to see how many times the promotional banner was displayed to users (to check the performance of internal promotion campaigns) and you would set up an event for this.
Since displaying a promotion banner is not a user initiated interaction, these events are called non-interaction events. Long story short, non-interaction events are the events which you would like to track but are not initiated by the user on the website.
While setting up the events in Google Analytics, you get an option to select the non-interaction hit parameter to ‘true’ or ‘false’.
If the non-interaction hit parameter is set to ‘true’ then Google Analytics will consider that the corresponding event is not initiated by the user and it will not affect the bounce rate metric in Google Analytics.
If the non-interaction hit parameter is set to ‘false’, Google Analytics will consider such events as being initiated by the user on the website, and will set that particular page’s bounce rate to zero for the corresponding session.
Why you need non-interaction events
In order to understand the need for non-interaction events in Google Analytics, you must be familiar with the concept of bounce rate.
Bounce rate is the percentage of single page visits (or sessions) in which a person leaves your website from the landing page without browsing any further or performing any action.
A high bounce rate is not always bad, and sometimes even a very low bounce rate can be bad. For example, it is common for blogs to have a high bounce rate as people read the blog post and then leave the website. In other words, a bounce is defined as a session containing only one interaction hit.
If the bounce rate of your website is very low, for example 10%, then that must be because of some technical issues. There could be some issue with your tracking code implementation or maybe some other website events which are resulting in more than one interaction hit request being sent to GA server in a single page web session. This implies that by default, every event hit is considered as an interaction hit, even if such an event is not initiated by the user.
Now if your page contains any such events which are not initiated by the users you would need to set the non-interaction hit to ‘true’, which will not affect bounce rate of the page.
Let’s look at the below image to understand it more. The image is divided into three sections explaining each section by the activities.
Section 1: Here, user A lands on page A of the website and exits without browsing any further or performing any action. This will be counted as a bounce for page A in Google Analytics.
Section 2 with non-interaction event: Here, user A lands on page A of the website and a non-interaction event is fired. Then user A exits without browsing any further or performing any action. This will be also counted as a bounce for page A in Google Analytics because the event is set with the non-interaction parameter to ‘True’.
Section 3 with interaction event: Here user A lands on page A of the website and an interaction event is fired (even if it is not initiated by the user). Then user A exits without browsing any further or performing any action. In this case it will not count as bounce for page A in Google Analytics because the event is set with the non-interaction parameter to ‘False’.
There are many scenarios where users on the website do not initiate any interaction but still you want to measure a few events. In such cases you can send events with a non-interaction parameter set to ‘true’ without affecting the bounce rate of the page.
Below, I have listed a few scenarios where you may decide to set the non-interaction hit to ‘true’.
- Measuring internal promotion view (like on the home page or product category page).
- Scroll tracking events on website that sends an event at 25%, 50%, 75% and 100% – but many of pages on the website by default scroll past 25% when it loads
- Page load events which fire as soon as the webpage is completely loaded.
Caveat: If you set the non-interaction hit parameter to ‘true’ for user initiated events as well, then Google Analytics will count it as a bounce, and it may affect the bounce rate of the page.
Note: By default, an event hit in Google Analytics is considered an interaction hit and it is included in bounce rate calculations.
How to set non-interaction events using Google Tag Manager
If you are using Google Tag Manager for setting up events on your website, you can follow the below steps to set non-interaction hit parameters.
Step-1: Navigate to your Google Tag Manager container and click on ‘Tags’.
Step-2: Select the Google Analytics event tag for which you want to set the non-interaction hit parameter. As an example, I am selecting the ‘Ecommerce Internal Promotion View’ tag since this tag fires on custom events whenever the promotional banner is displayed to the user (event is not initiated by user).
Step-3: An overlay will appear like below. Now click on the pencil icon to edit the tag configuration.
Step-4: Now click on the drop-down under ‘Non-interaction hit’.
Note: The default value for ‘Non-interaction hit’ is set to ‘False’ which means that the current event is included in bounce rate calculations.
Step-5: Select ‘True’ from the list.
Step-6: Click on ‘Save’ in the upper right corner.
Your tag will look like below:
Congratulations! You have successfully set a non-interaction event using Google Tag Manager.
How to set non-interaction events using Global Site Tag (gtag.js) and Google Analytics Tag (analytics.js)
If you you are using Global Site Tag (gtag.js) for Google Analytics implementations you can modify the code by adding the parameter:
'non_interaction': true
The sample code will look like below:
gtag('event', 'view_internal_promotion', { 'event_label': 'promotional name', 'event_category': 'ecommerce', 'event_action': 'view_internal_promotion', 'non_interaction': true });
Note: If you do not add the parameter ‘non_interaction’: true then the default value for non-interaction hit is set to ‘False’ which implies that the current event is included in bounce rate calculations.
If you you are using Google Analytics Tag (analytics.js) for Google Analytics implementations you can modify the code by adding the parameter:
nonInteraction: true
The sample code will look like below:
ga('send', 'event', 'ecommerce', 'view_internal_promotion', 'promotional name', { nonInteraction: true });
Note: If you do not add the parameter ‘nonInteraction: true’ then the default value for non-interaction hits is set to ‘False’ which implies that current event is included in bounce rate calculations.
Debugging non-interaction events
Once you set the non-interaction events, follow the below steps to debug and validate it.
Step-1: Load the webpage of your website where the non-interaction event is set up. As an example, I am going to validate the internal promotion event (not initiated by user) fired on my website home page.
Step-2: Right-click on a web page and select ‘Inspect’ (in the Chrome web browser).
This action will open the developer console at the bottom of the web page:
Step-3: Go to the ‘Network’ tab in the console. You will see a screen like the one below.
Step-4: Make sure the ‘Preserve Log’ and ‘Disable cache’ checkboxes are selected.
Disable cache (while developer console is open)
This option will disable browser caching for the page you are visiting while the developer console is still open.
You need to disable the cache so that your browser does not keep loading the previous version of your web page while you are making changes to it for testing purposes.
Preserve log upon navigation
If this option is kept disabled, you will lose debug information as you navigate from one from one web page to another.
Preserving the log will come handy when you are testing event tracking code.
Step-5: Type ‘Collect?’ in the filter on the left-hand side and refresh the page.
Step-6: You will see multiple collect calls after the page refreshes. Select the event call for which you have set ‘non-interaction Hit’ to ‘True’. You should see the ‘ni’ parameter is set to 1. This implies that this event is a non-interaction event and it will not affect the bounce rate of the page.
In general, events where the non-interaction hit is set to ‘false’ will not have the ‘ni’ parameter.
This is how you can set and debug non-interaction events.
Frequently asked questions about non-interaction events in Google Analytics Explained
What is an interaction hit in Google Analytics?
Any activity on the website that triggers the tracking code and sends data to the Google Analytics server is called an interaction hit in Google Analytics. Common hit types include page tracking hits, event tracking hits, and ecommerce hits.
What is a non-interaction hit in Google Analytics?
Non-interaction hits (events) are hits which you would like to track but are not initiated by the user on the website.
If the non-interaction hit parameter is set to ‘true’, Google Analytics will consider the corresponding event is not initiated by the user and it will not affect bounce rate metric in Google Analytics.
If the non-interaction hit parameter is set to ‘false’, Google Analytics will consider such events are initiated by the user on the website, which will set the particular page’s bounce rate to zero.
Why is bounce rate affected by events?
By default, every event hit is considered as an interaction hit, even if such an event is not initiated by the user.
If your page contains events which are not initiated by the users you but still need to track some of the key activities such as internal promotion view, the default value for non-interaction Hit is set to ‘False’ which implies that current event is included in bounce rate calculations. Since such events are not initiated by the users you would like to set non-interaction hit to ‘true’ which will not affect bounce rate of the page.
My best selling books on Digital Analytics and Conversion Optimization
Maths and Stats for Web Analytics and Conversion Optimization
This expert guide will teach you how to leverage the knowledge of maths and statistics in order to accurately interpret data and take actions, which can quickly improve the bottom-line of your online business.
Master the Essentials of Email Marketing Analytics
This book focuses solely on the ‘analytics’ that power your email marketing optimization program and will help you dramatically reduce your cost per acquisition and increase marketing ROI by tracking the performance of the various KPIs and metrics used for email marketing.
Attribution Modelling in Google Analytics and BeyondSECOND EDITION OUT NOW!
Attribution modelling is the process of determining the most effective marketing channels for investment. This book has been written to help you implement attribution modelling. It will teach you how to leverage the knowledge of attribution modelling in order to allocate marketing budget and understand buying behaviour.
Attribution Modelling in Google Ads and Facebook
This book has been written to help you implement attribution modelling in Google Ads (Google AdWords) and Facebook. It will teach you, how to leverage the knowledge of attribution modelling in order to understand the customer purchasing journey and determine the most effective marketing channels for investment.