We have a site where users login to access technical information. Before accessing the information, they also have to enter a set of filter options. Different filter options result in different information displayed on different pages but the url is the same.
For example, a user will get the following URL when accessing a specific document, regardless of what filter options set:
www.site.com/fr/category/document/
Depending on the filter options, different sections of the document will be visible.
Currently, no information in GA tells us what filters were used when visiting the page. We do not want to add filter parameters to the URL. At least not for the visitor, but maybe add it in the tracking somehow?
What would be the optimal/correct way to track that kind of information?
Best solution may depends how your site works etc. But how about using custom dimensions assigned to "hit" (pageview) scope? Maybe they will help in your case? Documentation: https://developers.google.com/analytics/devguides/collection/analyticsjs/custom-dims-mets (code in documentation depends how your GA is implemented of course). Thanks to them you can send with pageviews hit additional (custom) information (e.g which filters were used).
Other way could be just sending google analytics event (https://developers.google.com/analytics/devguides/collection/analyticsjs/events) with information which filters were used before pageview hit. Then just in Google Analytics panel you can create custom segment with sequence where 2 events occurred:
Click (or use filters) - event
See specific URL - pageview
Or of course you can implement both solutions (custom dimensions for pageview and events).
Related
I am not sure of the best way to handle this, however I am sure it is possible to implement with Google Analytics.
I currently have 1 Google Analytics account with all the data.
I would like to create 3 additional "views" within Google Analytics to filter each part of my app accordingly.
The sections are:
the landing pages landing (sales pitch)
the application pages app (the product we offer)
the customer portal pages portal (the product we offer to our user which thier users view).
So dimensions/views (unsure of the terminology here) are;
landing app and portal.
Currently I am using code like the following;
function gtag() {
dataLayer.push(arguments)
}
window.dataLayer = window.dataLayer || [], gtag("js", new Date), gtag("config", "UA-XXXXXXXXX-1", {
custom_map: {
dimension1: "website_segment"
},
website_segment: "landing"
});
I was then expecting to see these values in;
View > Filters > Custom
However they don't exist.
Please note:
I do not wish to utilize separate GA accounts to achieve this.
I cannot utilize the URL scheme with regex to achieve this.
Custom Dimensions should be available in your list of fields when you're setting up a filter for your GA view.
It looks like you're sending info to GA with the code you provided, but have you defined the Custom Dimension in your GA settings? You'll need to do that as a first step.
Access Property > Custom Definitions > Custom Dimensions, add a custom dimension, and set the scope (you'll want a Hit scope for your use case). Then ensure your code is configured to send to the dimension you just created.
See https://support.google.com/analytics/answer/2709828#Lifecycle for an overview of Custom Dimensions - though it looks like the code snippets there are out-of-date, depending on which version of GA you're using.
As far as I understand your need, it absolutely seems feasible. You collect your data in one Analytics property, and you would like to create separate views for various site content, where content is identified by a custom dimension, instead of the page path.
First, make sure, you have enabled custom dimension 1 in your property settings. As you are collecting this data on hit level, you need to set the custom dimension to hit level as well.
Second, you need to deploy your code to send this data to Google Analytics. I assume, you can substitute the proper value (landing/app/portal) for the website_segment key. Please let me know, if this is also part of your question, how to assign the proper value to the defined custom dimension.
To check if data is sent, you can use Google Analytics Debugger Chrome extension, or you can inspect the call to www.google-analytics.com in developer console / Network tab, whether cd1 parameter is set.
To verify if data is available in Google Analytics, the easiest way is to open the Behavior / Content / All pages report, and to add your custom dimension as a secondary dimension for a period, which should already contain data.
Third, you need to create your new views and your filters within Google Analytics. Please note, that you won't see any available values here, but you can still select your custom dimension, and define a filter.
I created 3 custom dimensions through Google Tag Manager (added them as Data Layer Variables). Then, I added custom fields to my pages for these 3 custom dimensions.
After waiting about 24 hours, I checked the three custom dimensions on Google Analytics and two of them have showed up for all of the pages. The last one is showing up for maybe 4-5 pages, but not all of them. It's now been more than two days and the other pages still haven't populated with the last custom dimension.
Is there a quicker way to see if this third custom dimension is showing up for all of the pages with the designated custom field?
Since this is being done on a test site, most pages have not been visited a ton. Not sure if this can also matter for how long it takes Google Analytics to populate the data.
Get the chrome extension 'GA debugger' and go yourself to the site. On the console you ll see each hit sent to GA and all the fields that are being populated.
PS: Custom dimensions ll show up as 'cdX' where X is the number of the dimension.
I think you are passing the custom dimensions along with pageveiw. you can check the GA tags that are firing in network tab of your browser only to validate
In your browser access inspect element by right cliking on website and select network tab you can check the screenshot mentioned in the below URL to make all setting required to see GA tags in network tab
http://imarunkumar.blogspot.in/2016/08/blog-post.html
And then reload the page and you can see the Google analytics tags firing, check your tags if custom dimensions are being sent in the tags.
I hope you have provided the right custom dimension index number in GTM while creating the tags. Assume you are sending data to custom dimension 1,2,3 the in tag you can see the values sent.
cd1:xxxxxx
cd2:xxxxxx
cd3:xxxxxx
This confirms that Custom dimension tags are being captured on the page and sent through GA tags to Google analytics.
What if you can see these custom dimension beign sent through the tags but you cannot see the same in reports.
Here the custom dimension configuration you did on the analytics property needs to be reviewed.
As you are collecting all the custom dimension at every page the scope for these custom dimensions should be set at "HIT" level.
Let me know if you are facing any issue in checking them according to the instructions provided above.
I've set up e-mail tracking following this manual:
https://developers.google.com/analytics/devguides/collection/protocol/v1/email
My tracking URL is valid and seems to work since it shows up in Google Analytics (Realtime->Events), but it is showing up in the wrong view.
My Google Analytics account has an 'account' with 12 'properties' which has 3 'views'. The tracked events only show up in the first view listed (which I use for a subdomain), my 'main' view for the root domain is the second one listed and the events are not tracked in this view.
I noticed these views have a 'view ID', but I can not find a parameter in the Measurement Protocol manual that allows me to set it:
https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters
How can I switch the view in which my email tracking events are stored? Or perhaps enable the tracking in my other views as well?
Data is collected on the property level, that's why there is no parameter for the measurement protocol to set the view. Views merely filter and display the data from the property.
So the events should show up by default, if not you have probably some filter that excludes the data from those particular views (e.g. something like a hostname filter, since your measurement protocol calls won't have a hostname set).
We've accidentally placed the same Google Analytics tracking code on two different domains.
www.y.com
www.x.com
We've rectified the issue now but retrospectively, is there any way to filter that data going to the specific domain name www.x.com for example?
Note: this is not a duplicate of Google Analytics: Track two domains as one
You could add a filter to the view (profile) in question. That will remove the data that you don't want. Another option if you don't want to loose the data in the view would be to create a custom segment that you could use when ever you want to split the data out.
Update from Google+
You can search with regex
^/app/
in the small search bar (custom segment) in your page reports (e.g. Behavior -> Site Content -> All Pages), after which you can look at the aggregate metrics for all pages which start with /app/ (i.e. all the pages with different parameters).
If all the /app/.* have the same page title, you can look at the Behavior > Overview report, but choose Page Title as the dimension.
I embed custom links into each resume I send out, so I can see who as clicked on the links. I then take the custom value (passed through a url parameter) and pass it into Google Analytics as a session level custom variable. What I want to do is create a report that will show me all the typical information I can normally see (pages visited, time, etc), but filtered down by custom variables. i.e. I want to see that people form company X have looked at these parts of my website. I've been reading through all the documentation and feel like a custom report is the right way to go, but I'm not really sure. Any suggestions, links, instructions would be appreciated.
Create a custom report. Play around with some configuration like the following: