Virtual Pageview shows the interaction with a website which is equivalent to a normal page view in Google Analytics but is not reported by Google Analytics pixel. Using Google Tag Manager (GTM), virtual pageview can be easily implemented and tracked in Google Analytics. On top of that, virtual pageview can also be used for different purposes such as retargeting.
Consider a virtual pageview as a micro-conversion then remarket to the audience which has shown or performed any virtual pageview. In this blog, we will see different use cases and the effects of virtual pageviews on your analytics. Here are some of the examples of the virtual page view.
Page Contents
Virtual PageViews
- Someone filling subscription or any other information using popup
- Downloading a file
- Carousel gallery surfing
- Accordion expansion on a page
- Automatic reload of content during checkout process etc.
There are multiple advantages of setting up the virtual pageview:
- You can use a virtual pageview in the funnel in Google Analytics, you cannot use an event in the funnel
- Virtual PageView can help you adjust your bounce rate closer to reality
- You can use virtual PageView to create remarketing audience and share in Google Ads to target closer to the bottom of the funnel audience
1. Tracking Virtual Page view of a popup in GTM
In this case, I am counting the event when someone looks at the subscription form pop-up as a virtual pageview. It does not matter if they filled up the subscription form pop-up or closed it. Pop-up visibility on the screen can be implemented using a trigger called element visibility trigger in Google Tag Manager. In order to implement the element visibility trigger in GTM, I needed some element identification. It could be element ID or through CSS selector. I used element ID.

Email Subscription Form element ID
I got the element ID of the email subscription form as shown above by inspecting the element. Using this ID, I am going to create an element visibility trigger in GTM.
You have to select the trigger type as element visibility.
Selection Method
There are two selection methods here – element ID and CSS Selector. The former uses document.getElementById to match the first element in the page with the given ID. The latter uses CSS Selectors to match the element or a group of elements on the page.
When to fire this trigger
There are three options for firing a trigger
- Once per page – this trigger will only fire once on the current page. The moment is when the first element that matches the ID or the selector string enters the viewport.
- Once per element – this trigger will fire just once if an element with a specific ID appears in the viewport (even if multiple elements share the same ID, in which case it will fire just for the first one). However, when using CSS selectors, this setting will fire once for each element matched by the selector(s). In other words, this would be the setting to use if you wanted to create a trigger that fires when different parts of the page enter the viewport!
- Every time an element appears on-screen – this trigger fires whenever any matched element appears in the viewport and will do so each time the element reappears.
Other options are self-explanatory here. And the other most important one is
Observe DOM changes
In case, there is a pop up which comes up after filling up a form, or your pop up comes after some time or there are some other conditions which happen later in the scene after the page loads then check this option. In the case of my example, the email subscription form loads after a certain amount of time, so I have to check this option in order to track the form visibility.
Create a tag for Popup element visibility
This is an important part of tracking virtual pageviews. In this step, you define all the attributes related to virtual pageviews. Let us see how to do it.

Tag for virtual Pageview
In the above tag, follow the following steps:
- Select tag type as Universal Analytics
- Select track type as a pageview
- Anable overriding settings in the tag
- Select field names of page and title and put in the value of your choice
- For example, for page value, I like to put the URL value starting with /virtual
- And the same goes for the title
Once you go into the preview mode, you can see those pages in real time. Here is a screenshot from my travel blog.

Virtual Page Live Preview
Similarly, you can create a virtual page view of each of the user interaction which you have might be tracking right now as an event.
2. Setting up Google Analytics remarketing audience based on virtual pageview
- Go to your google analytics admin
- Click on Audience under Audience Definitions under Property
- Create an audience based on the page title or URL as you please and,
- Share the audience with Google Ads account

Create a remarketing audience from virtual pageviews
Now the above audience becomes available in your Google ads Account as well. Since a virtual pageview represents a kind of micro conversions, if you target these audiences, you might get a better conversion rate and cost per lead.
3. Setup Virtual Pageview on Facebook through events
Currently, Facebook does not provide such option of tracking virtual pageviews however, you can use the same trigger to create an event on the Facebook Platform. Follow the steps below in order to create virtual pageview on Facebook through events:
- Create a trigger in GTM for the user interaction that you want to track
- Install the Facebook base pixel
- Associate a Facebook standard event with that trigger
- Create a remarketing audience on Facebook using the standard event
Example of Virtual Pageview on Facebook:
In the below example, I am firing a Facebook standard event called “CompleteRegistration” on two triggers as shown in the picture below. One trigger type is pageview and another trigger type is Element Visibility.
- Now, go to the Audience in the Facebook Ads Manager.
- Create a custom audience
- Use your source as website traffic and under the drop down option, select events as shown below

Create a custom audience based on events
- You can even further refine your audience by certain parameters
- Now you can retarget this custom audience in any Facebook campaign or in any AdSets
- Further, you can also create a lookalike audience out of the above custom audience and target them in any campaign.
On top of this, you can use the trigger to extend and create a remarketing audience on any other platform.
Virtual Pageview effects on Analytics Data
Virtual pageview might affect your Google Analytics data negatively. for example, virtual pageviews are short-lived and will have a short session duration as well as a high bounce rate. Here is a screenshot:
In the above screenshot, you can see that the page session is 00:00 and also, the bounce rate is 0%. It, kind of, contradicts the way Google Analytics works. So, after the implementation of virtual pageviews in your Google Analytics, you might see major or minor changes in GA data depending on the number of page views you have implemented and their traffic along with magnitude.
Negate virtual pageview effect on GA Data
- Select a view in Google Analytics where you want the filtered data to come in. As for me, I like the filtered data to come into Master view.
- Create a filter as shown below
- Name your filter
- Select the filter as the custom type
- Select the filter field as page title and exclude all the pages which contain the word “virtual – ” in their page title
- You might want to be more careful with the page title
- You can also select the filter field as the page URL
- Once you are setting up the filter, save the filter
- Here is the screenshot as shown below of the filter created to exclude virtual pageview traffic

Filter based on the page title
You can still see your unfiltered data in raw view of your Google analytics if you have set everything right.