How to set up demographics and interests reports in Google Analytics

Demographics and interests reports in Google Analytics give you additional insight about your users, allowing you to do analysis based on age, gender and interest categories. You get a much better idea of who your users are and the setup is so quick to do, there's no reason not to. To get this information, you need to do minor tweaks to your Google Analytics and Google Tag Manager. Those changes will allow Google to share anonymised data about your site or app visitors, and once set up, you can use this information to understand the behaviour patterns of your users by different profiles. You will be able to see: If a particular age group converts more Whether you get more visits from males or females from a particular country or city If your users are more into travelling, movies or social media You'll also be able to: Build remarketing lists Build segments for more detailed information about your users Target your ads to specific users What reports will you get? Demographics Overview: snapshot view of your users by age and gender Age: Acquisition, Behaviour and Conversions metrics by age group (below 18 are not included) Gender: Acquisition, Behavior and Conversions metrics by gender Interests Overview: top 10 interests of your users in 3 areas: Affinity Categories, In-Market Segments and Other Categories Affinity Categories (reach): view of users by their lifestyle with Acquisition, Behaviour and Conversions metrics broken down by Affinity Categories In-Market Segments: view of users by their product-purchasing interests with Acquisition, Behaviour and Conversions metrics broken down by In-Market Segments Other Categories: more specific view of users with Acquisition, Behaviour and Conversions metrics broken down by Other Categories How does Google get this data? Google collects demographics and interests data from the third-party DoubleClick cookie for web traffic and anonymous identifiers for mobile app activity, like the Android Advertising ID and the iOS Identifier for Advertisers. But Google is unable to collect this data if the cookie or anonymous identifier isn't present, or if there's no profile information available. As a result, this data may only be available for a subset of your users. This will be shown on the report as a % of traffic the report represents. When is threshold applied? There are occasions when data is withheld from your reports to ensure the anonymity of users. For example, this might happen when you don’t have enough data for a particular age range or gender. When the threshold has been applied, you will see a notification below the report title. 3 simple steps to set this up 1. Enable the feature in Google Analytics Go to Admin > Property > Property Settings. Scroll down to Advertising Features, and set the option to Enable Demographics and Interests Reports to ON. Now save. 2. Enable the feature in Google Tag Manager Go to edit your GA pageview tag > Configure Tag. Under the tracking ID, tick the Enable Display Advertising Features box. Save the tag, and you've got one last step to do. 3. Enable the report in Google Analytics For this go to Audience > Demographics > Overview report. Click Enable, and you're all set. You should see your demographics and interests data within 24 hours of enabling the feature. We also provide consultancy services if you need help with more advanced setup.   Further reading: Tracking registered users with Google Analytics and GTM V2 How to use demographic targeting in AdWords  

2015-12-18

How to track registered users with Google Analytics and Google Tag Manager V2

Wondering if Samsung Galaxy is more popular than iPhone when engaging with your content? Then set up the User-ID view to see your logged in users’ activity and evaluate behaviour by the device. With the activity data you collect in the registered users view, you can improve the analysis of your customers' behaviour by seeing which devices are used to sign up and access your website. To summarise the benefits: You get access to the Cross-Device reports, which allow you to analyse which devices your users use to engage with your content. See what the Cross-Device reports look like. You improve your understanding of logged in users who often engage with the site's content differently than those who aren't registered. You get a more accurate user count. In your standard analytics view, a new user is counted every time your site visitor switches to a new device or starts a new session. With the registered user view, you give each user a unique ID, which helps to stitch together various activities carried out by the user. You can find out which devices users prefer for different engagement activities across multiple sessions. This helps with tailoring your campaign and content to different devices and activities. To set this up, you need to have the user ID stored in the data layer. If you don't have it set up, scroll to the bottom for an advanced hack. Now let’s look at how to set up the tracking by using Google Analytics and Google Tag Manager V2. Looking to implement the User-ID in your tracking code? Check Google’s guidance. Enable the feature in Google Analytics Firstly, enable the User-ID feature by going to  Admin > Property > Tracking info > User-ID. Read through the short policy on what you’re allowed to track and not. Google is very strict about tracking personally identifiable information so you are not allowed to send any personally identifiable information, such as names and email addresses. But numbered IDs or hashed emails are fine to use. To agree to the terms, follow the steps and click ‘create.’ Create the variable in Google Tag Manager Now go to GTM variables and click 'new'. Select Data Layer Variable type and use the name stored in your data layer, e.g. uid or user ID Add the variable to your pageview tag Go to edit your pageview tag and click on More settings > Fields to set. Click Add field, enter the field name as &uid and select the variable you’ve just created - eg {{uid}} or {{userID}}. Test you're seeing activity in the newly created registered users view with your login, or a test one if you have it. Don't forget to publish your GTM container for tracking to work. Advanced hack If for some reason you can't get your developer to store a user ID in the data layer, there is a way around it. We've created a javascript variable to get a username off the page and hash it prior to sending it to GA. For this, you need to pick a custom Javascript type variable and enter the script below into the custom javascript field. This javascript requires either your developer or you to customise it to work on your page (see the notes in the second and third lines). function() { //dependent on using Jquery selectors //replace '.menuTitle small a' with the selector for your username var name = $('.menuTitle small a').text(); var hash = 0, i, chr, len; if (name.length == 0) return hash; for (i = 0, len = name.length; i < len; i++) { chr = name.charCodeAt(i); hash = ((hash << 5) - hash) + chr; hash |= 0; // Convert to 32bit integer } return hash; }; If you need help with any of the above, don't hesitate to comment below or get in touch!

2015-08-19

Tracking web forms in Google Tag Manager V2

Do you know how many people start completing forms on your website, but don't complete them? Do you know which fields cause them difficulties? This is a guide to field-by-field form tracking using GTM. By tracking each element of the form separately, you will see how many people start filling out the form but then decide not to submit it. Once you understand where people drop off you will be able to identify any parts of the form that may need improving. The enquiry form on our website has four elements that I am going to track: the name, email and subject fields, and the button to submit the query. In summary, the set up will work like this: Create a trigger that will act as the firing rule for the tag Create a tag to track clicks on the field Repeat for each field So to set up the tracking of form fields and submits in GTM V2, follow these steps. Enable built in variables Firstly, you will need to enable built in variables. You will need Form ID variable and if similarly to our site you have the same enquiry form placed on several pages, then Page Path variable as well. These variables will allow you to track clicks on the form and on which pages the form was clicked on. The page path variable returns the URL part that comes after your main domain, eg /blog. Create the trigger For your trigger, you will need to find out the field ID you want to track. To find out the ID, if you are using Chrome browser, right-click on the field and select ‘Inspect Element’ It will look something like id=”name” so name here is the unique ID that you need to use with the trigger. If you do not have a unique ID associated with the field you want to track, ask your developers to add it in. This will make the tracking much easier. Now in GTM, go to Triggers tab on the left and click 'New'. You are creating a 'click' trigger, which you want to fire on 'all elements'. Save the trigger. Create the tag Go to Tags tab and click 'New'. Select Google Analytics and tag type 'Universal Analytics'. I send the following event tracking parameters to GA: Category: Enquiry form Action: Click on name Label: {{Page Path}} Now select 'Click' to select the trigger ‘Click on name’ as your firing rule. If there are any pages where you don’t want this tracked, then you will need to create a separate blocking trigger. Here is an example of a trigger for a contact us page that I want to exclude from tracking here. You can create your blocking trigger in a pop up window without leaving the tag. Repeat Follow the steps above to create the trigger and tag for each following field, and amend form ID’s and event field values for each. Test your tags in GTM debug mode and GA real time to make sure the details sent through are what you want. Once tested, publish your container and if you need any further help with any of the above, leave a comment below.   Further reading: How to track file downloads in Google Tag Manager V2 Tracking registered users with Google Analytics and GTM V2

2015-07-17

How to track file downloads in Google Tag Manager V2

Setting up tracking of file downloads in GTM V2 is much easier thanks to the new configuration wizard. It is more intuitive and takes you through the set up step-by-step. Let’s have a look at the basic configuration for sending tracking of file downloads from Google Tag Manager to Google Analytics as events. To set up this events tag you need to firstly create a trigger. Create a trigger This trigger will recognise every time someone clicks to download the file you want to track. In the given example I am using a simple regular expression to capture a number of file types I want to track -.(zip|exe|pdf|doc*|xls*|ppt*|mp3)$ Here the * means it will capture any repetitions of the file types it is next to, ie it will include file types doc and docx for Word documents, xls and xlsx for Excel spreadsheets, ppt and pptx for PowerPoint presentations. Save the trigger and create a new tag. Create a new tag Give your tag a meaningful name so you can easily recognise what the tag is for. We have previously created a variable (formerly known as macro) that stores our GA tracking code, which I use in the configuration settings. This way I do not have to re-enter the GA property ID every time I need it. This variable does all the work. Select your track type as 'Event' and insert your tracking parameters. Here I use the following but modify the fields based on what works for your business: Category is Download Action is Click Label is {{element url} Element url in the label field will store the URL of the file that was downloaded. Advanced tracking For advanced tracking, you can create a custom javascript variable with a code that will strip out the title of the downloaded file and store it in your GA. Have a look at Simo's example of returning file name. Set your tag to fire Last step is to add a firing rule, ie select a trigger that will fire your tag. Select the previously created trigger 'Click to Download' and you're all set. Test For extra care, test the tag both in GTM debug mode and GA real time. Publish Now publish the container with your newly created tag. If you need any further help, do leave a comment below.   Further reading: Tracking registered users with Google Analytics and GTM V2 Tracking web forms in Google Tag Manager V2

2015-06-04

How to audit your Web Analytics Ecommerce tracking

Most companies will see a discrepancy between the transaction volumes recorded via web analytics and those recorded via internal sales or financial database. This article focuses on how to find and reduce that discrepancy, to give greater credibility to your web analytics data. Following on from our article on common Google Analytics setup problems, we are often asked why Google Analytics ecommerce tracking is not a 100% match with other records, and what is an acceptable level of difference. Inspired by a talk from Richard Pickett at Ensighten, here is a checklist to run through to reduce the sources of mismatch. The focus here is Google Analytics Ecommerce tracking, but it could apply to other systems. In summary, you wouldn’t ever expect there to be a 1:1 match, due to the different paths the two events take over the internet. The general consensus is that anything less than 4% of difference in transaction volumes is good, but could sometimes persist up to 10%. Factors that affect this target rate include how many users have got ad blockers or disable Google Analytics (popular in Germany, for example), what proportion are on mobile devices (which suffer from more network interruptions) and how the purchase thank you / confirmation page is built. So on to the list. 1. Are other Javascript errors on the page blocking the ecommerce event in certain situations? The most common reason for the tracking script not executing in the browser is that another bug on your page has blocked it (see GDS research). The bug may only be affecting certain older browsers (like Internet Explorer 7), and have missed your own QA process, so the best approach is to use Google Tag Manager to listen for any Javascript error events on the confirmation page and send these to Google Analytics as custom events. That way your users do the testing for you, and you can drill into exactly which browsers and versions the bugs are affecting. 2. Is the tracking code as far up the page as it could be? If the user drops their internet connection before the whole page loads then the ecommerce event data won’t get a chance to fire. The best approach is to load the script at the bottom of the <head> element or top of the <body>.  The Google Analytics script itself won't block the page load, and arguably in this one purchase confirmation page, the tracking is more important than the user experience. 3. Is the tracking code firing before all the page data has loaded? The inverse of the previous problem: you may need to delay firing the tracking code until the data is ready. This is particularly an issue if your ecommerce transaction data is ‘scraped’ from the HTML elements via Google Tag Manager. If the page elements in question have not loaded before the ecommerce tracking script runs, then the product names, SKUs and prices will be empty – or returning an error. 4. Is the problem only your ecommerce tracking script or just page tracking is general? It could be that the way you are sending the transaction data (e.g. product name, price, quantity) is the problem, or that the page tracking overall is failing in some cases. You can pinpoint where the problem lies by comparing the pageviews of the confirmation page, with the number of ecommerce events tracked. Caveat: on many sites, there’s another route to seeing the purchase confirmation page, which doesn’t involve purchasing (for example as a receipt of a historic purchase). In that case, you may need to capture a unique purchase event, which only fires when a new purchase is confirmed – but without any information on the transaction or products. 5. Are events from your test site excluded? Most companies will have a development, staging or user acceptance testing server to where the website is tested, and test users can purchase.  Are you blocking the tracking from these test sites? Some possible ways to block the test site(s) would be: Set up sub-domain specific blocking rules in Google Tag Manager (or better) Divert the tracking from your test subdomains to a test Google Analytics account, using a lookup macro/variable Set up filters in the Google Analytics view to exclude 6. Is your tag set with a high priority? Tag manager only. If you use Google Tag Manager and have multiple tags firing on the tracking page it’s possible that other tags are blocking your ecommerce data tag from firing. Under ‘Advanced settings’ in the tag editor, you can set a higher priority number for tag firing; I assume the ecommerce data to Google Analytics is always the first priority. 7. Are any strings in the product name properly escaped? A common problem is apostrophes: if your product name contains a quote mark character, then it will break the following Javascript. See Pete’s bunnies – the strings in yellow are valid, and everything after the stray apostrophe will be misinterpreted. The solution is to run a script across any text field to either strip out the quotation marks or replace any quotes with their HTML equivalent (eg &quot;). 8. Are your quantities all integers? One of our clients was selling time slots, and so had the ‘quantity’ of the ecommerce tracking data equivalent to a number of hours. Timeslots sold in half-hours (e.g. 1.5 hours) were not tracking… because Google Analytics only recognises a quantity which is a whole number, so sending ‘1.05’ will not be recognised as 1. 9. Are any possible ‘undefined’ values handled? It may be that the data on your products is incomplete, and some products that people buy do not have a name, price or SKU. The safest approach is to have some fall-back values in your Javascript tracking code to look for undefined or non-text variables and post a default value to Google Analytics. E.g. If ‘product name’ is undefined then post ‘No product name’, or for price, the default should be ‘0.00’. These will then clearly show up in your Ecommerce Product performance reports and the data can be cleaned up. 10. Are users reloading the page and firing duplicate tracking events? Check whether this is a problem for your site by using our duplicate transactions custom report to see multiple events with the same transaction ID. A solution is to set a ‘has tracked’ cookie after the ecommerce tracking has been sent the first time, and then check whether the cookie is set before sending again. 11. Are users going back to the page and firing the tracking at a later date? The sessions column in the transactionID report in step 9 should give you an idea of whether the problem is repeat page loads in one session, or users revisiting the page in another session. If you see duplicate transaction IDs appearing in other sessions there are a couple of possibilities to investigate: Could users be seeing the page again by clicking on a link to an email, or from a list of historic orders? Are there any back-end admin pages that might link to the confirmation page as a receipt? In both cases, the solution is to have a different URL for the receipt that the one where the ecommerce tracking is fired. If there are any other troubleshooting steps you have found helpful, please let us know in the comments or get in touch!  

2015-03-17

6 helpful Google Analytics guides

I've been improving my knowledge of Google Analytics this month but found that documentation provided by Google and other heavy research can be difficult to absorb. So here are 6 guides and tools that I found useful in the last month. How to set up campaign tracking Expertise level: Newbie Social media analytics: How to track your marketing campaigns by Cory Rosenfield. When you run an ad, email or social promotion, you want to see which channel is most effective in acquiring visitors. By gathering this information through tracking your campaigns you will be able to focus on winning strategies and make adjustments to less performing ones. Cory’s how to guide takes you through the basics of how to set up campaign tracking with relevant explanations and practical examples. It’s as easy as it gets. What metadata needs fixing Expertise level: Beginner Introducing the Meta and Rich Snippet Tester by Bill Sebald. This tester from RankTank compares your site’s meta and rich snippet data to what you have in your site’s code. You will be able to see mismatches between how you have set your titles and descriptions against what is actually displayed in search results. Want to make sure rich snippets are working correctly or Google doesn’t replace missing meta tags with something unsuitable? Then this tool is for you. How to do keyword research effectively Expertise level: Intermediate Keyword research in 90 minutes by Jeremy Gottlieb. Keyword research for improved content targeting can take a lot of time but it doesn’t have to. Jeremy’s plan splits it into a 4-stage process, full of handy tips on how to spend your time effectively. Especially useful for when planning topics for your blog posts and finding words that are most relevant to include in your product descriptions. Setting up alerts for site errors Expertise level: Intermediate Google Analytics custom alerts which you must always use by Himanshu Sharma. How can you find errors and problems on your website with minimum manual labour? Set up custom alerts in your Google Analytics account with Himanshu's guide. You can create notifications for tracking and shopping cart issues, and any unusual changes in your bounce rate and traffic. How to improve multiscreen experience Expertise level: Advanced Enabling multiscreen tracking with Google Analytics by James Rosewell. This step by step guide by James shows how to get better data on the use of your site across various mobile devices. You will be able to make informed decisions on optimising your site whilst taking into consideration screen sizes and layouts. This means improved experience for customers on bigger smartphones and smaller tablets. Source: Infinium.co What were the different variables again? Expertise level: Advanced Variable guide for Google Tag Manager by Simo Ahava. Variables in Google Tag Manager can be powerful, once you get to grips with them. Simo's comprehensive guide is a useful reference that covers everything you need to know from technical details to set ups and debugging. Source: SimoAhava.com Need some help with Google Analytics? Get in touch with our experts!

2015-01-30

Try the top-rated Google Analytics app for Shopify stores

Get a 30-day free trial of Littledata for Google Analytics or Segment