Behavior Flow Reports: Tracking a User’s Site Journey

If you’ve a website, chances are you keep track of how many hits or sessions your website gathers over a certain period of time. But what about the journey of the user who visits your website? Wouldn’t you want to know what brought a user to your turf, what sections of the website caught the user’s attention and at which point did the user exit?

Behavior Flow Reports in Google Analytics let you know just that. They visualise the path a user follows on your website.

In this article, you will find a brief introduction to the Behavior Flow Reports and how to read them.


First things first: What is Behavior Flow?

Behavior flow visualizes the path a user follows from one page to the next or from one event to another. A path can be multiple pageviews or just a single pageview during a session. Let’s say a user lands on the “Blog” page, goes to the “Resources” page and then to “Contact Us” before leaving. The user path would then beblog -> resources -> contact us.


Why should you look at Behavior Flow Reports?

Well, here are two reasons why:

  • The reports help you identify the most engaging content on your website.

  • They also help identify problem areas and potential content issues.


Here’s what you need to get Behavior Flow Reports

  1. Ample amounts of data to generate reports.

  2. Have events and content grouping set up before they can appear in the flow reports.


Accessing Behavior Flow Reports

To get to the reports, follow these steps:

In your Reporting Tab, navigate to Behavior >> Behavior Flow

Let’s explore this further and try to understand how to use Behavior Flow Reports..

Now, the good part: Using Behavior Flow Reports

On the top right corner of the Behavior Flow Reports, you can “Select a view type” and see the user flow according to content grouping, automatically grouped pages, events or according to both pages & events.

Let’s find out what each of the view types tell us.  


Content grouping is a characteristic of Google Analytics that lets you organize site pages into different groups so that you can compare metrics aggregated under each group.

To see the flow reports for content groups you have to first create your content grouping by navigating toadmin >> view >> content grouping.

Learn How to Set up Content Grouping in Google Analytics.

When you select “content grouping” as your view type, the Behavior Flow Reports will show you how a user navigates according to the content group you selected. This will in turn tell you which groups are performing well and which ones needs improvement.

In the behavior flow by selecting content grouping as view type, the reports will show you how a user navigates according to your content groups. This will show you which groups are performing well and which needs improvement.

Read more about creating/editing content grouping in Google Analytics here.


To view the user flow according to automatically grouped pages, select the view type as “automatically grouped pages”.



Selecting “Events” as view type shows the user flow based on the events a user completed during his/her visit. It also shows how a user behaves per different event type and the events which are more engaging to the user. For viewing user flow according to “events”, you must have already created events.

Read more about setting up events in Google Analytics.


You can also see the combination of both pages and events in the Behavior Flow Reports. These report will let you differentiate between the performance of events and pages.

On a side note: Nodes, Connections & Exits

In order to better understand user flow, it is important to also understand the structure of behavior flow. The flow report consists of some elements which are necessary to use the report (?).

  • Nodes are points through which traffic flows and each node represents different dimensions according to the view you have chosen.

  • A connection represents the path from one node to the next and the volume of traffic it flows.

  • An exit indicates where the user left the flow.

Read more:Structure of Behavior Flow.

With this, we come to the end of our introduction to the Behavior Flow Reports. Our next article will explore hidden features and the insights we can get from the reports. Follow us on twitter or signup for our newsletter to get an update.

Frequently Asked Questions:

Q. What is the difference between behavior flow and user flow?

A. Behavior Flow Reports visualizes the path a user follows from page to page or from event to event. These reports can display data according to content grouping, events, automatically grouped pages or both pages & events.  

User flow reports compare volumes of traffic from different sources. This shows which marketing channel is driving more traffic to your website.

Q. I don’t see any data in the Behavior Flow Report. What do I do?

A. To view Behavior Flow Reports you should have at least a week or two of data collected in your Google Analytics.

Installing Google Tag Manager In Wordpress Beginners Guide

If you are using a Wordpress website and looking for setting up google tag manager, you landed at the right place. Here is a basic beginners guide to install google tag manager in wordpress using DuracellTomi’s plugin.

First things first! You should know the difference between and For installing duracelltomi’s plugin, you should have a self hosted wordpress website.

Let’s get started by installing Duracelltomi’s Google Tag Manager plugin. Go to your wordpress dashboardPlugins > Add New and search for DuracellTomi’s Google Tag Manager.

You will see this:

Click 'install now' to install the plugin. You can also install it manually by downloading from wordpress siteand add the file into your plugins folder.  

Once the plugin is installed, activate it to start using google tag manager. But wait, this is not just enough or you are done! Now you will be connecting this plugin with google tag manager and google analytics.

From the left menu go to Settings > Google Tag Manager and the plugin should look something like this:

Let’s move to google tag manager now. Open a new tab in your browser and type in press enter. Sign in with your gmail account details; If you don’t have a gmail account then sign up for it.

Note: Remove any other analytics script that you have inserted on your site for proper implementation.

Once you logged into GTM you will have to create an account and a container for your site. The initial account structure will be something like this.

Let’s create our first account by filling the proper details. Type a name for your account in the ‘account name’ field. You can enter your website’s name or your company’s name. Enable the checkbox ‘share data anonymously with Google and others’ and click continue.

Next enter a container name and select ‘Web’ for inserting the container into your wordpress site. Clickcreate and a pop up window will open showing google tag manager terms and conditions. Click yes and you will see a container snippet showing google tag manager code and then click ok to terminate the container.

Now copy the Google Tag Manager tracking ID that was generated after we created the container. You can find this tracking ID on the top navigation bar as shown in the picture below, or in the code snippet container which was popped up after accepting the GTM terms and conditions.

The tracking ID is located on the top navigation bar and is similar to  GTM-XXXXXX. Copy this code and go to your wordpress dashboard.

Now paste this code into the DuracellTomi’s ‘Google Tag Manager ID’ field and click save changes.

Till now you have successfully integrated google tag manager in wordpress using DuracellTomi’s plugin.

Are you done? What’s next?

How to connect Tag Manager to Google Analytics

To view your website reports you will need to connect google analytics account with tag manager. Let’s see what reports are we capable of getting in google analytics account.

If you are new to google analytics please read how to Get started with Analytics. I am considering that you have setup a google analytics account. Follow the steps below for creating a new tag in google tag manager.

  1. Inside your container create a new tag and select Google Analytics tag template.

  2. Select ‘Universal Analytics’

  3. Add google analytics ‘Property ID’ (if you don’t know where it is, read this).

  4. Choose the track type as ‘Page View’ and click continueRead more about what else you can track on your web page.

  5. Enable ‘Display Advertising Features’ checkbox to view demographic reports in your analytics reports.

  6. Choose the firing trigger as ‘All Pages’, which will fire the page view tag on all pages of your site.

  7. Finally click ‘Create tag’.

Your final tag should look similar to this:

This simple tag will allow you to receive google analytics data such as the number of users visiting your site, pages they are viewing, their time on site, bounce rate and much more.

Verify Tag Manager Implementation

The last thing is to verify if we inserted the tracking codes properly. For this, we will install Google Tag Assistant  extension in chrome browser. Once installed, click on the tag icon and enable it. Now reload your site and click on the tag assistant icon, if you have properly followed the steps you should see tag manager icon and analytics icon as shown in the  picture below:

The blue color in analytics icon indicates that there are some minor issues with google analytics code while tag manager is working properly. Google tag assistant help provides more information about queries related to tag manager. Your task is to find out how to resolve the blue color analytics icon issue.

The other way to verify is to open google analytics reporting tab and click Real Time reports. You should see the number of visitors on your site and if you don’t see any, open your site in a new tab and check again.

So far we have successfully implemented Google Tag Manager in Wordpress site and started collecting data in Google analytics. I hope you also succeeded in getting the things done and if you are missing out on something, please let me know. Good Luck! :)

ps. this is the very basic analytics setup which allows you to start seeing pageviews. From here you can do a few things

Create Goals

See which traffic sources are working

Once you've gotten a feel for it you may want to explore tracking revenue or maybe even talk to us to figure out a more customized plan for your needs.

Improving Form Submission tracking in Google Tag Manager

If you have higher number of form submission recorded in Google Analytics or your adwords conversions are greater than actual inquires this should help.

Most forms use some sort of validation to make sure they avoid common typos and get submitted correctly.  In order to make sure we collect accurate data in analytics, we should only track validated form submissions in analytics. This ensures that the data our analytics tools collect matches the actual number of submissions recorded in your system.

Google Tag Manager provides built-in functionality to track validated form submissions but there are some limitations to the approach, so below I discuss two ways to implement validation to improve conversion tracking.


Building form validation within website is a good practice as it ensures that user fills out correct information. This saves time of waiting for an http response and also saves server from dealing with bad form input. This is a common feature of most form plugin as seen in the below image.

Even with validation embedded in website code, GTM by default, fires the form submission whenever the form is submitted, regardless of incomplete form inputs and at times, empty forms.


To ensure that form is validated Google has created form validation within the website, which ensures that Form Tag is only fired when form successfully submits.

Does “Check Validation” Validate All Forms?

We can see Check Validation box under Configure Trigger. But this validation is limited to validating certain elements, like where the form is located on the site, and not the actual field validation that is required to actually validate form.


Tracking form submission with GTM is quite different and it tracks whenever the form is submitted. Best practice to form validation is to utilize custom Javascript code and apply it as required triggering condition. To do so, we create a Custom Javascript Variable within Tag Manager.

-- Please note this requires familiarity with javascript if that is not what you are used to share this with your developer --

Under Container Tab in GTM select Variable from left navigation, 
Scroll-down to User-Defined Variables 
click New button
Select Custom JavaScript as required type.  

Here we can write any kind of validations required before successful submission.


In case of above example I have a simple user feedback form.There are three fields with id input1, input2 and input 3 respectively. Following code can be used for simple validation.

var ContactForm = jQuery('#gform_3'); 

&& emailReg.test((ContactForm.find('#input2').val()))
&& ContactForm.find('#input3').val().length>0)
return true;
return false;

The code makes sure that there are no empty fields as form is submitted. 
It also validates that email input is in correct format. 

You can extend code by further validating data type of Name field or put checks for any other validation, its upto you. Make Sure to Match GTM Validation with Site Validation. Once this variable is created, we can integrate it in our Form tag.

 Here we see, under Fire On section we have included additional conditioncontactFormValidation(Custom Javascript Variable) to be true to trigger Form Submission. Once Tag updated and published, we don’t have to worry about Form Validation anymore.

If you have multiple forms you’ll need to create a validation variable for each one based on fields in the form.

Once this trigger is ready you can apply this to any tag that is triggered based on form submission and it will ensure that the data becomes accurate by only firing on valid conversions.