<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Analytics Talk</title>
	<atom:link href="http://cutroni.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://cutroni.com/blog</link>
	<description>Digital Analytics for Business</description>
	<lastBuildDate>Mon, 09 Feb 2015 18:17:06 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.6.2</generator>
	<item>
		<title>Understanding the Google Analytics Cohort Report</title>
		<link>http://cutroni.com/blog/2015/02/06/using-cohort-report/</link>
					<comments>http://cutroni.com/blog/2015/02/06/using-cohort-report/#comments</comments>
		
		<dc:creator><![CDATA[Justin Cutroni]]></dc:creator>
		<pubDate>Fri, 06 Feb 2015 23:02:30 +0000</pubDate>
				<category><![CDATA[Analysis]]></category>
		<category><![CDATA[cohort]]></category>
		<category><![CDATA[insights]]></category>
		<category><![CDATA[reporting]]></category>
		<guid isPermaLink="false">http://cutroni.com/blog/?p=3957</guid>

					<description><![CDATA[A very common data analysis technique is called Cohort Analysis. A Cohort is simply a segment of users which is based on a date. For example, a cohort could be all users based on their Acquisition Date (in Google Analytics this is really the Date of First Session). Another cohort might be all users that [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2015-02-06_19-03-16.png" alt="Google Analytics Cohort Report" width="268" height="113" class="alignright size-full wp-image-3977" /></p>
<p>A very common data analysis technique is called Cohort Analysis. </p>
<p>A Cohort is simply a segment of users which is based on a date. For example, a cohort could be all users based on their Acquisition Date (in Google Analytics this  is really the Date of First Session).</p>
<p>Another cohort might be all users that completed their first transaction during a specific time period. This is a very common cohort used in ecommerce businesses. You&#8217;ll commonly hear ecommerce companies talk about the performance of new customers acquired during the holiday shopping season. This is simply a cohort. It&#8217;s all customers whose first transaction occurred between thanksgiving and Christmas (or some day before Christmas). </p>
<p>I&#8217;ve written about <a href="http://cutroni.com/blog/2012/12/11/cohort-analysis-with-google-analytics/" title="Cohort Analysis with Google Analytics">cohorts</a> before. But to be honest, a lot of other analytics tools have been hard on Google Analytics for it&#8217;s lack Cohort functionality &#8211; and that was well deserved! For a long time the only way to do cohort analysis in Google Analytics was via segmentation &#8211; but that was really a hack.</p>
<p>Now Google Analytics has a real Cohort report that makes it much easier to perform cohort analysis.</p>
<h1>Explaining the Cohort report</h1>
<p>Let&#8217;s look at the various parts of the Cohort report. There are three main sections of the report: the report settings, the data over time graph and the tabular data.</p>
<div id="attachment_3960" style="width: 634px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/5D194C1C-05A7-36C3-0F96-DF7DF1483E09.jpg"><img aria-describedby="caption-attachment-3960" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/t_5D194C1C-05A7-36C3-0F96-DF7DF1483E09.jpg" alt="There are three parts to the Cohort report." width="624" height="644" class="size-full wp-image-3960" srcset="http://cutroni.com/blog/wp-content/uploads/t_5D194C1C-05A7-36C3-0F96-DF7DF1483E09.jpg 624w, http://cutroni.com/blog/wp-content/uploads/t_5D194C1C-05A7-36C3-0F96-DF7DF1483E09-291x300.jpg 291w" sizes="(max-width: 624px) 100vw, 624px" /></a><p id="caption-attachment-3960" class="wp-caption-text">[Click to enlarge] There are three parts to the Cohort report.</p></div>
<p>Now let’s talk about how to configure a Cohort report.</p>
<p>There are four main choices that you need to make when creating a Cohort report.</p>
<p><strong>Cohort Type:</strong> Again, a cohort is segment based on a date. The Cohort Type is where you specify which date you want Google Analytics to use to create the cohort. Right now you probably noticed there is just one option here &#8211; Acquisition Date. This dimension is the date that the user first visited your site or used your app. It&#8217;s basically the Date of First Session.</p>
<p>I know &#8211; you&#8217;re probably all groaning that there is only one option. Me too! But stay tuned :)</p>
<p><strong>Cohort Size:</strong> The cohort size is the time window that you want to use when looking at the Cohort type. So, choosing a day would mean &#8220;I want to see all users that have the same acquisition day.&#8221;</p>
<p>If you choose a Cohort Size of a week then it means &#8220;I want to see users whose acquisition date was within the same seven day period.&#8221;</p>
<p>Metric: This is the actual data that you will see in the report. There are aggregated metrics, like pageviews, and there are a number of per-user metrics, like sessions and revenue.</p>
<p>Remember, the analysis technique is to look at a specific metric for a cohort (a segment!) and see how that metric performs over time. The idea is to see if there are any dramatic changes to the metric between the different cohorts. </p>
<p>Date Range: This is the date range used to construct the cohort. When Google Analytics builds a cohort it uses the Date Range to evaluate the date specified in the cohort type &#8211; in this case Acquisition Date. </p>
<p>If I choose a Cohort Date Range of Last 7 days, and today is February 6, Google Analytics will look from Jan 30 to Feb 6 and align the data based on each user’s Acquisition Date. Here’s how Google Analytics would create the various ‘Days’ of data based on a user Acquisition date of January 30.</p>
<p>Day 0 = Jan 30<br />
Day 1 = Jan 31<br />
Day 2 = Feb 01<br />
Day 3 = Feb 02<br />
Day 4 = Feb 03<br />
Day 5 = Feb 04<br />
Day 6 = Feb 05<br />
Day 7 = Feb 06</p>
<div id="attachment_3962" style="width: 634px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/F444A103-002B-131B-FB06-F45DA1B1ECE5.jpg"><img aria-describedby="caption-attachment-3962" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/t_F444A103-002B-131B-FB06-F45DA1B1ECE5.jpg" alt="How Google Analytics creates Cohorts based on date." width="624" height="281" class="size-full wp-image-3962" srcset="http://cutroni.com/blog/wp-content/uploads/t_F444A103-002B-131B-FB06-F45DA1B1ECE5.jpg 624w, http://cutroni.com/blog/wp-content/uploads/t_F444A103-002B-131B-FB06-F45DA1B1ECE5-300x135.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><p id="caption-attachment-3962" class="wp-caption-text">How Google Analytics creates Cohorts based on date.</p></div>
<p>And here’s how the ‘day’ data would break down for each cohort in the data table. Notice how each cell of data is for a different group of users on a different day?:</p>
<div id="attachment_3964" style="width: 634px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/4EBCD8AC-3621-3C42-FC9A-C1F01232D078.jpg"><img aria-describedby="caption-attachment-3964" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/t_4EBCD8AC-3621-3C42-FC9A-C1F01232D078.jpg" alt="Daily data by cohort" width="624" height="336" class="size-full wp-image-3964" srcset="http://cutroni.com/blog/wp-content/uploads/t_4EBCD8AC-3621-3C42-FC9A-C1F01232D078.jpg 624w, http://cutroni.com/blog/wp-content/uploads/t_4EBCD8AC-3621-3C42-FC9A-C1F01232D078-300x162.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><p id="caption-attachment-3964" class="wp-caption-text">[Click to enlarge] Daily data by cohort</p></div>
<p>Remember, we&#8217;re talking about days here because we chose the Cohort Size to be Day. If we had chosen Week we would have seen Weeks in the graph; in that case, a week would be a 7 day period starting from yesterday backwards.</p>
<p>You&#8217;ll also notice that this time range is also represented in the tabular data.</p>
<p><strong>NOTE: </strong>You will ALWAYS see 12 columns of data in this data table. It does not matter if you choose a cohort size of day, week or month. There will always be 12 columns. Why?</p>
<p>Most people will assume that if you choose a daily cohort for a 30 day time period you would see 30 columns and 30 rows, one for each cohort. But we found that most people don’t look at every single combination. For example, there are very little insights to be gained for the 17th day cohort 22 days from their initial visit.</p>
<p>However, if you do need to do that type of analysis it is possible to switch to a larger cohort size, like week, to observe what happened.</p>
<p>The amount of data in the cohort report depends on the cohort size and the date range that you choose. </p>
<p>When you choose a daily cohort (cohort size = by day) then you are limited to a 30 day lookback window.</p>
<p>When you choose a weekly cohort (cohort size = by week) then you are limited to a 12-week lookback window.</p>
<p>When you choose a monthly cohort (cohort size = by month) then you are limited to a 3-month lookback window.</p>
<h1>Cohort Analysis Workflow</h1>
<p>Ok, now that we&#8217;ve talked about the parts of a Cohort report, let&#8217;s look at a common workflow. Let&#8217;s say I&#8217;m a blogger (or publisher) and I want to understand the behavior of my weekly active users.</p>
<p>From a business perspective, I want people to come back to my site (or app!) very often. Knowing how many people are active within a week is really useful.</p>
<p>First I choose my Cohort Type &#8211; Acquisition Date because I can&#8217;t do anything else right now :) </p>
<p>Next, because I publish a lot of content, I want to set Cohort Size to daily. Now, for the metric, I am going to choose User Retention. This is the percentage of users that returned to my site (or app!) on a given day.</p>
<p>Finally, I&#8217;m going to set the date range to Last 7 days.</p>
<p>Now I have a report to look at!</p>
<p>To analyze this data I&#8217;m going to skip to the tabular data under the time trend.</p>
<p>Each row of data represents a different Cohort. I chose a daily Cohort, so each row represents a day. There will be 8 rows of data because my date range was 7 days and the EIGHTH row is the All Sessions data.</p>
<p>The tabular data shows the retention rate for each cohort for the past 7 days. To analyze the data I&#8217;m looking for any cells in the table that are a dark color. Or you can just look at the actual numbers to identify numbers that are abnormally high. But I&#8217;m lazy, so I&#8217;m just going to look at the color.</p>
<p>Here, in this report, I can see that users who first visited the site on Jan 27 returned at a much higher rate one day after their initial visit &#8211; much higher than all the other cohorts.</p>
<div id="attachment_3966" style="width: 634px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/AEAD5A0D-E5F6-2B28-AF3F-F92CB0044941.jpg"><img aria-describedby="caption-attachment-3966" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/t_85F76E6B-1167-13EA-BEA6-BD7646C5F521.jpg" alt="Analyzing the data in a Google Analytics Cohort report." width="624" height="644" class="size-full wp-image-3966" srcset="http://cutroni.com/blog/wp-content/uploads/t_85F76E6B-1167-13EA-BEA6-BD7646C5F521.jpg 624w, http://cutroni.com/blog/wp-content/uploads/t_85F76E6B-1167-13EA-BEA6-BD7646C5F521-291x300.jpg 291w" sizes="(max-width: 624px) 100vw, 624px" /></a><p id="caption-attachment-3966" class="wp-caption-text">[Click to enlarge] Analyzing the data in a Google Analytics Cohort report.</p></div>
<p>What happened to these users? Why is their behavior different? Great question!</p>
<p>You need to add some of your own business context to this data as you scan the table. Think about your marketing activities. Were you running any specific campaigns that might have impacted the date?</p>
<p>It may be that you have no idea why this happened. Have no fear &#8211; Segmentation to the rescue!</p>
<h1>Segmenting the Cohort Report</h1>
<p>One thing that I really like about the new Cohort report is the ability to segment the data. You can apply up to four segments to this report. Each segment will create a new table of data below the &#8220;All Sessions&#8221; table.</p>
<p>Remember, a cohort is just a segment based on a date. So when you apply a standard GA segment you&#8217;re introducing another layer of segmentation. Here’s what the data would look like if I segment by Mobile and Tablet Traffic.</p>
<div id="attachment_3970" style="width: 634px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/3CABEA65-1475-5214-3FD4-0F7120BA6F05.jpg"><img aria-describedby="caption-attachment-3970" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/t_3CABEA65-1475-5214-3FD4-0F7120BA6F05.jpg" alt="Applying a segment to the Google Analytics Cohort report." width="624" height="313" class="size-full wp-image-3970" srcset="http://cutroni.com/blog/wp-content/uploads/t_3CABEA65-1475-5214-3FD4-0F7120BA6F05.jpg 624w, http://cutroni.com/blog/wp-content/uploads/t_3CABEA65-1475-5214-3FD4-0F7120BA6F05-300x150.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><p id="caption-attachment-3970" class="wp-caption-text">[Click to enlarge] Applying a segment to the Google Analytics Cohort report.</p></div>
<p>To analyze the data I like to compare the data from each segment to the All Sessions data. I&#8217;m looking for any segmented cohorts that perform differently than all of the sessions. </p>
<p>I also recommend segmenting by traffic source or specific campaign. This is especially important given that the only Cohort Type is currently Acquisition Date.</p>
<h1>Which Cohorts should you choose?</h1>
<p>Hopefully by now you have a good idea of how this report works and how you can use it. You’ve probably noticed that this is not something that you will need to use every day. Let’s look at a few common cohorts based on different business models, that you can create.</p>
<p>Remember, we’re a bit limited right now due to a singular cohort type &#8211; acquisition based cohorts. </p>
<p><strong>Ecommerce</strong></p>
<p>There are some really cool ecommerce-specific metrics that we can analyze with the Cohorts report. Things like Revenue per User, Transactions per User and total Revenue.</p>
<p>The key here is to remember that the cohort will be based on the date the customer first visited the site or app.</p>
<p>Also remember the granularity of the cohort and your customer buying cycle. </p>
<p>Analyzing customers who purchase expensive items, that are purchased less frequently, over a 7 day date range, will not yield many insights. Try switching to a weekly cohort over 10+ weeks.</p>
<p>Weekly Cohort, User revenue, last 12 weeks<br />
Weekly Cohort, Transactions per User, last 12 weeks</p>
<p>If your customers purchase less expensive items, then they might purchase more frequently. Try switching to a daily cohort over 30 days.</p>
<p>Daily Cohort, User revenue, last 30 days<br />
Daily Cohort, Transactions per User, last 30 days</p>
<p>Try adding some product segmentation. Here I added a segment based on a specific product and found that the revenue per users spiked 5 days after the first visit. </p>
<div id="attachment_3972" style="width: 634px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/8AED6E02-511E-4760-9C70-B6234042F761.jpg"><img aria-describedby="caption-attachment-3972" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/t_8AED6E02-511E-4760-9C70-B6234042F761.jpg" alt="Looking at a single segment in the Google Analytics Cohort report." width="624" height="159" class="size-full wp-image-3972" srcset="http://cutroni.com/blog/wp-content/uploads/t_8AED6E02-511E-4760-9C70-B6234042F761.jpg 624w, http://cutroni.com/blog/wp-content/uploads/t_8AED6E02-511E-4760-9C70-B6234042F761-300x76.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><p id="caption-attachment-3972" class="wp-caption-text">[Click to enlarge] Looking at a single segment in the Google Analytics Cohort report.</p></div>
<p>Also, try applying a segment for user-based revenue. Look at high-value customers and lower-value customer. How does their behavior, over time, change based on the acquisition date?</p>
<p><strong>In App Purchases</strong></p>
<p>This is one area where the cohorts report will really shine. This is a FANTASTIC way to understand user behavior after they initially launch your app for the first time. </p>
<p>The in app purchase model is very different than traditional ecommerce &#8211; In app purchases are MUCH smaller and usually very frequent. I would look at cohorts like:</p>
<p>Daily Cohort, User revenue, last 7/14/30 days<br />
Daily Cohort, Transactions per User, last 7/14/30 days</p>
<p>I would also look at user-engagement cohorts for those that do NOT purchase. It will help me understand if users are actually using the app. Create the following cohorts:</p>
<p>Daily Cohort, Sessions per Users, last 7/14/30 days<br />
Daily Cohort, Session Duration per User, last 7/14/30 days</p>
<p>Then apply a segment of Revenue per User = 0:</p>
<p><strong>Publishers (Desktop &#038; Mobile)</strong></p>
<p>For publishing I want to better understand user engagement over time. Luckily there are a number of metrics that we can use when building cohorts. Try the following:</p>
<p>Daily Cohort, Sessions per User, last 7/14/30 days<br />
Daily Cohort, User Retention, last 7/14/30 days<br />
Daily Cohort, Pageviews per User, last 7/14/30 days<br />
Daily Cohort, Sessions Duration per User, last 7/14/30 days</p>
<p>If you have revenue data in Google Analytics, from AdSense or some other calculation, I would suggest looking at cohorts similar to in-app purchase.</p>
<p>Also keep in mind your publishing schedule. If you’re the New York Times or Wall Street Journal you publish a lot of content every day. A 7-day date range is very helpful. But if you’re a blogger that only publishes twice a month, you might want to look at a 21 or 30 day date range.</p>
<p><strong>Lead Gen</strong></p>
<p>Similar to the previous items, your lead gen cohorts will really depend on how long it normally takes to get a lead. If you’re selling something expensive, look at a weekly cohort over a long time period. If you’re selling something less-expensive, look at daily cohort over a shorter time period.</p>
<p>One of the challenges here is that there is no metric for a single goal conversion. You could use the metric Goal Completions, but that looks at ALL your configured goals, and I’m assuming that most of you have more than one goal configured.</p>
<p>So your best bet for lead gen is to look at some engagement metrics. Look for cohorts that are showing lots of engagement based on time and sessions per user. This may indicate<br />
A Final Tip</p>
<p>Hopefully this clears up why you should do Cohort analysis and how to do it with Google Analytics. </p>
<p>Here’s one more tip.</p>
<p>Use Shortcuts to save your specific cohort reports. This is a HUGE timesaver! You probably noticed that you need to configure the Cohorts report. If you look at a cohorts report often take the time to save your version using a shortcut. Then you can access it with one click in Google Analytics.</p>
<div id="attachment_3974" style="width: 634px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/5CE18F3B-444D-E068-9511-5E26959BE90F.jpg"><img aria-describedby="caption-attachment-3974" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/t_5CE18F3B-444D-E068-9511-5E26959BE90F.jpg" alt="Create a shortcut to make it easier to access your Cohort reports." width="624" height="228" class="size-full wp-image-3974" srcset="http://cutroni.com/blog/wp-content/uploads/t_5CE18F3B-444D-E068-9511-5E26959BE90F.jpg 624w, http://cutroni.com/blog/wp-content/uploads/t_5CE18F3B-444D-E068-9511-5E26959BE90F-300x110.jpg 300w" sizes="(max-width: 624px) 100vw, 624px" /></a><p id="caption-attachment-3974" class="wp-caption-text">[Click to enlarge] Create a shortcut to make it easier to access your Cohort reports.</p></div>
<p>Cohort analysis is a useful way to understand how groups of users perform based on a common date attribute. I hope you will try cohort analysis and found this post useful.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://cutroni.com/blog/2015/02/06/using-cohort-report/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Using Offline and Online data to drive Google Analytics Remarketing</title>
		<link>http://cutroni.com/blog/2014/07/15/using-offline-and-online-data-to-drive-google-analytics-remarketing/</link>
					<comments>http://cutroni.com/blog/2014/07/15/using-offline-and-online-data-to-drive-google-analytics-remarketing/#respond</comments>
		
		<dc:creator><![CDATA[Justin Cutroni]]></dc:creator>
		<pubDate>Tue, 15 Jul 2014 11:34:43 +0000</pubDate>
				<category><![CDATA[Event Tracking]]></category>
		<category><![CDATA[Remarketing]]></category>
		<category><![CDATA[Tracking]]></category>
		<category><![CDATA[advanced]]></category>
		<category><![CDATA[measurement protocol]]></category>
		<category><![CDATA[remarketing]]></category>
		<category><![CDATA[universal analytics]]></category>
		<guid isPermaLink="false">http://cutroni.com/blog/?p=3923</guid>

					<description><![CDATA[The Google Analytics platform has been changing from a web analytics tool to a user-centric digital measurement tool (we&#8217;ve been calling it Universal Analytics). This evolution includes a number of changes to the system and completely new features. But what can you do when you put all of these pieces together? I wanted to write [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>The Google Analytics platform has been changing from a web analytics tool to a user-centric digital measurement tool (we&#8217;ve been calling it <a href="http://cutroni.com/blog/2014/04/02/universal-analytics-now-beta/" title="Universal Analytics: Now out of beta!">Universal Analytics</a>). This evolution includes a number of changes to the system and completely new features. But what can you do when you put all of these pieces together?</p>
<p>I wanted to write a quick post about how a business could use the entire platform to better market to users on the web based on non-website activities. We&#8217;ll explore how to use offline and online data to create remarketing lists in Google Analytics.</p>
<p>Before I start a hat-tip to my buddy <a href="https://twitter.com/stonemit" target="_blank">Dan Stone</a> &#8211; a product manager at Google Analytics who often talks about this type of usage. </p>
<h2>Influencing Display Advertising using Email Behavior</h2>
<p>Businesses interact with users via many different channels &#8211; search, display, social, email, etc. And they&#8217;re always looking to better understand how one channel impacts another channel. That&#8217;s why we have <a href="https://support.google.com/analytics/answer/1662518?hl=en">attribution modeling</a>.</p>
<p>But sometime we want to take direct action, or even automated action, in a channel based on user behavior in a <em>separate</em> channel. </p>
<p>For example, I may want to change my search or display strategy for users on my email list. Perhaps I want them to see different display ads because I have a better relationship with them. </p>
<p>Here&#8217;s an example.</p>
<p>With Analytics we can collect data from email marketing tools, send it to Google Analytics and then use that information to change display campaigns.</p>
<div id="attachment_3929" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3929" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-07-14_10-26-30.png" alt="We can send data from email marketing tools, to Google Analytics, then use the data to drive Remarketing." width="600" height="150" class="size-full wp-image-3929" srcset="http://cutroni.com/blog/wp-content/uploads/2014-07-14_10-26-30.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-07-14_10-26-30-300x75.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3929" class="wp-caption-text">We can send data from email marketing tools, to Google Analytics, then use the data to drive Remarketing.</p></div>
<h2>The Implementation</h2>
<p>With some of the new features in Google Analytics it is very possible to change a user&#8217;s display advertising experience based on behavior in other digital environments.</p>
<p>The first thing we need to do is bind the data in Google Analytics to the data in our own systems. This might be the data in a CRM or some other customer system. We&#8217;re going to use an old-school method that I describe in the post <a href="http://cutroni.com/blog/2009/03/18/updated-integrating-google-analytics-with-a-crm/" title="UPDATED: Integrating Google Analytics with a CRM">integrating Google Analytics with a CRM</a>. </p>
<p>Here&#8217;s a summary&#8230;</p>
<p>When a user visits your site (or your app) Google Analytics sets a unique, anonymous identifier. This identifier is called the Client ID or <code>cid</code> for short.</p>
<p>What we need to do is extract the client ID value from the Google Analytics cookies and pass it to your CRM system. Once it&#8217;s in your systems you should be able to join your internal customer IDs with the GA ID. I should note &#8211; this is not some task you finish in an afternoon. You need some nerd help and it could take a while.</p>
<div id="attachment_3943" style="width: 457px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3943" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-07-15_07-05-29.png" alt="You can extract the GA identifier from the tracking cookie and send it to your own system." width="447" height="383" class="size-full wp-image-3943" srcset="http://cutroni.com/blog/wp-content/uploads/2014-07-15_07-05-29.png 447w, http://cutroni.com/blog/wp-content/uploads/2014-07-15_07-05-29-300x257.png 300w" sizes="(max-width: 447px) 100vw, 447px" /><p id="caption-attachment-3943" class="wp-caption-text">You can extract the GA identifier from the tracking cookie and send it to your own system.</p></div>
<p>Make sure you check out these two posts for more information:<br />
<a href="http://cutroni.com/blog/2009/03/18/updated-integrating-google-analytics-with-a-crm/" title="UPDATED: Integrating Google Analytics with a CRM">Integrating Google Analytics with a CRM</a><br />
<a href="http://cutroni.com/blog/2014/04/10/understanding-cross-device-measurement-and-the-user-id/" target="_blank">Understanding Cross Device Measurement and the User-ID<br />
</a></p>
<p>Now that we have the two data sets joined we can do something really cool &#8211; we can send user-specific data to Google Analytics from other systems. This means that when we send out an email, or some other user-specific actions happens in our system, we can send that behavioral data to Google Analytics. How?</p>
<p>To send data to GA from other systems we use the measurement protocol. This technology let&#8217;s us send data to Google Analytics from any system that can connect to the internet. It defines how to send data to GA. We&#8217;ll use the <a href="https://developers.google.com/analytics/devguides/collection/protocol/v1/">measurement protocol</a> to send data about email activities.</p>
<p>When we send an email to a user we will also send a measurement protocol hit to Google Analytics. </p>
<div id="attachment_3945" style="width: 613px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3945" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-07-15_07-08-55.png" alt="When an email is sent from your system, you can send a hit to Google Analytics using the measurement protocol." width="603" height="387" class="size-full wp-image-3945" srcset="http://cutroni.com/blog/wp-content/uploads/2014-07-15_07-08-55.png 603w, http://cutroni.com/blog/wp-content/uploads/2014-07-15_07-08-55-300x192.png 300w" sizes="(max-width: 603px) 100vw, 603px" /><p id="caption-attachment-3945" class="wp-caption-text">When an email is sent from your system, you can send a hit to Google Analytics using the measurement protocol.</p></div>
<p>Specifically, we&#8217;ll send an <a href="https://support.google.com/analytics/answer/1033068?hl=en" target="_blank">event</a> piece of data. The event will indicate that an email was sent to this user and the type of email:</p>
<p><code>www.google-analytics.com/collect?v=1&tid=UA-XX-Y&cid [UniqueID]&t=event&ec=Email&ea=Send&el=BackToSchool2014</code></p>
<p>If we want to be really fancy then we can also send a second hit to Google Analytics when the user receives the email and another hit when the user opens the email. For example, if the user opens the email then we can trigger a pixel within the email that sends a hit to Google Analytics.</p>
<p><code>www.google-analytics.com/collect?v=1&tid=UA-XX-Y&cid=[UniqueID]&t=event&ec=Email&ea=Open&el=BackToSchool2014<br />
</code></p>
<p>I need to stress, you need to write a bunch of code that generates these hits. The implementation will really depend on your systems.</p>
<p>The data in the above hits indicates that this email was part of the BackToSchool2014 campaign (look for the event data <code>ec</code> for Event Category, <code>el</code> for Event Label, <code>ea</code> for Event Actions. If we looked in Google Analytics the data would look something like this:</p>
<div id="attachment_3925" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3925" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-07-14_09-01-52.png" alt="Offline email actions can be captured with the measurement protocol as events." width="600" height="346" class="size-full wp-image-3925" srcset="http://cutroni.com/blog/wp-content/uploads/2014-07-14_09-01-52.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-07-14_09-01-52-300x173.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3925" class="wp-caption-text">Offline email actions can be captured with the measurement protocol as events.</p></div>
<p>All of these hits include a specific parameter named <code>cid</code>. This is the Client ID for the particular recipient of the email that I discussed earlier. When Google Analytics processes these hits they will be merged with the dame user data from the website &#8211; because they have the same <code>cid</code> value.</p>
<p>OK, now we have user data coming from two separate systems and Goole Analytics is merging it together.</p>
<p>Here&#8217;s where the fun comes in.</p>
<p>Because all of this data is in one place, we can <a href="http://cutroni.com/blog/2013/07/16/google-analytics-segmentation/" title="Google Analytics Segmentation: Updated for Better Analysis" target="_blank">segment users</a> in Analytics based on behavior, then use that list of users for remarketing.</p>
<div id="attachment_3937" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3937" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-07-14_19-52-09.png" alt="You can join the Google Analytics ID, called CID, with your own ID. But then you can collect off-site actions in GA and tie them to other GA data." width="600" height="299" class="size-full wp-image-3937" srcset="http://cutroni.com/blog/wp-content/uploads/2014-07-14_19-52-09.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-07-14_19-52-09-300x149.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3937" class="wp-caption-text">after all of our work, we&#8217;re using the GA data measuring sent emails to create a remarketing list.</p></div>
<p>For those that have not use Remarketing, this is one of my favorite features in Google Analytics. <a href="http://cutroni.com/blog/2012/11/20/getting-started-with-google-analytics-remarketing/">Remarketing</a> let&#8217;s you segment user on your website then send that list of users to Google AdWords (or DoubleClick if you use Analytics Premium) for use as a remarketing list.</p>
<p>The remarketing segment would look like this:</p>
<div id="attachment_3927" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3927" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-07-14_09-04-59.png" alt="Segmenting users that received and opened an email." width="600" height="224" class="size-full wp-image-3927" srcset="http://cutroni.com/blog/wp-content/uploads/2014-07-14_09-04-59.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-07-14_09-04-59-300x112.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3927" class="wp-caption-text">Segmenting users that received and opened an email.</p></div>
<p>This segment is all users that opened the back-to-school email. I could also add a condition that the user received the email, but that&#8217;s not really necessary.</p>
<p>Now we can use this list of users in <a href="https://support.google.com/analytics/answer/2611291?hl=en&#038;ref_topic=2611283">AdWords</a>. How? I may want to use the same creative for their ads. Or perhaps I offer them the same deal that was in the email.</p>
<p>This technique is not just for email &#8211; you can use the measurement protocol to send data from any system. That means behavioral information from other digital experiences can be used to drive remarketing lists.</p>
<p>Hopefully this example gives you some idea of how multiple Google Analytics features can be used together to drive real business results.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://cutroni.com/blog/2014/07/15/using-offline-and-online-data-to-drive-google-analytics-remarketing/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Understanding Cross Device Measurement and the User-ID</title>
		<link>http://cutroni.com/blog/2014/04/10/understanding-cross-device-measurement-and-the-user-id/</link>
					<comments>http://cutroni.com/blog/2014/04/10/understanding-cross-device-measurement-and-the-user-id/#comments</comments>
		
		<dc:creator><![CDATA[Justin Cutroni]]></dc:creator>
		<pubDate>Thu, 10 Apr 2014 14:12:35 +0000</pubDate>
				<category><![CDATA[About Google Analytics]]></category>
		<category><![CDATA[Universal Analytics]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[cross device]]></category>
		<category><![CDATA[universal analytics]]></category>
		<category><![CDATA[user centric]]></category>
		<guid isPermaLink="false">http://cutroni.com/blog/?p=3838</guid>

					<description><![CDATA[One of the fundamental new features of Universal Analytics is user-centric measurement. This includes measurement across multiple devices &#8211; computers, smart phones, tablets, kiosks, etc. But this change introduces a number of new challenges for analysts and marketers. In order to do cross device measurement you need to understand some of the challenges and limitation. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>One of the fundamental new features of Universal Analytics is user-centric measurement. This includes measurement across multiple devices &#8211; computers, smart phones, tablets, kiosks, etc. </p>
<p><img loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-01_21-01-36.png" alt="The User-ID feature let&#039;s you measure the user journey across multiple devices - and even in stores." width="451" height="237" class="size-full wp-image-3849" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-01_21-01-36.png 451w, http://cutroni.com/blog/wp-content/uploads/2014-04-01_21-01-36-300x157.png 300w" sizes="(max-width: 451px) 100vw, 451px" /></p>
<p>But this change introduces a number of new challenges for analysts and marketers. In order to do cross device measurement you need to understand some of the challenges and limitation. Let&#8217;s begin our exploration of cross device data with a discussion about how it works.</p>
<h2>How Cross Device Measurement Works</h2>
<p>You&#8217;ll recall that most analytics tools set an anonymous identifier to measure users. On websites the JavaScript code creates the identifier and stores it in a cookie. On mobile apps the SDK creates the identifier and stores it in a database on the device. (We call this default ID the Client-ID).</p>
<p>We actually discussed this concept in our <a href="https://analyticsacademy.withgoogle.com/course02/course" target="_blank">Google Analytics Platform Principles course</a>. Skip to 21 seconds for details &#8211; but the whole video is helpful :)</p>
<p><iframe width="560" height="315" src="//www.youtube.com/embed/RsrAcxIsQHU?start=21" frameborder="0" allowfullscreen></iframe></p>
<p>The User-ID feature lets you override this default behavior. So rather than letting the tracking code create the a Client-ID, YOU can create and use your own identifier. How do you do that? </p>
<p>Well, your business needs to have some way of identifying users. Don&#8217;t worry, most businesses do. A CRM system or customer database usually has a User-ID that you can use. </p>
<p>The important thing is that you can create the technology that moves the ID from your database into your website, app or other digital experience where your users interact with your content. </p>
<div id="attachment_3854" style="width: 608px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3854" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-01_21-25-03.png" alt="The User-ID value must originate from your systems. It must eventually appear in the tracking code on your site or in your app. The User-ID will then be sent to Google Analytics  with each data hit." width="598" height="164" class="size-full wp-image-3854" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-01_21-25-03.png 598w, http://cutroni.com/blog/wp-content/uploads/2014-04-01_21-25-03-300x82.png 300w" sizes="(max-width: 598px) 100vw, 598px" /><p id="caption-attachment-3854" class="wp-caption-text">The User-ID value must originate from your systems. It must eventually appear in the tracking code on your site or in your app. The User-ID will then be sent to Google Analytics  with each data hit.</p></div>
<p>In the above diagram the company would need to create code that pulls the User-ID from the database, then passes it through the web servers, and finally places it in the Google Analytics Tracking code that appears on the website.</p>
<p>I know &#8211; that seems like a lot of work! But a good tech person can make this happen.</p>
<p>After you add all the necessary code, and set up the User-ID feature in Google Analytics, then the actual id value that you supply is sent to Google Analytics with each hit (see my post on <a href="http://cutroni.com/blog/2014/02/05/understanding-digital-analytics-data/">hits, sessions and users</a> to learn about all the different hit types in Google Analytics.) </p>
<p>Then, as Google Analytics processes the data, it groups hits with the same User-ID together. It does not matter if the hits come from a website, mobile app or some other device.</p>
<div id="attachment_3747" style="width: 610px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/2014-02-03_18-21-09.png"><img aria-describedby="caption-attachment-3747" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-02-03_18-21-09.png" alt="Hits from the same user can be grouped together as long as each hit has the same User-ID. " width="600" height="391" class="size-full wp-image-3747" srcset="http://cutroni.com/blog/wp-content/uploads/2014-02-03_18-21-09.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-02-03_18-21-09-300x195.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a><p id="caption-attachment-3747" class="wp-caption-text">Hits from the same user can be grouped together as long as each hit has the same User-ID.</p></div>
<p>In the above image there would be three unique users &#8211; one user with a <code>User-ID=1</code>, one user with a <code>User-ID=2</code> and one user with a <code>User-ID=5</code>. Again &#8211; it doesn&#8217;t matter where the hits come from (mobile, web, kiosk, etc.).</p>
<p>But what about instances when the User-ID is not present? For example, what if the user is not logged in and we can not retrieve the User-ID? Good question.</p>
<p>In this case, Google Analytics will go back to its default behavior and generate it&#8217;s own User-ID (again, this is called a Client-ID, because the ID is specific to the client or device). Obviously this ID can not be used to measure across devices as it will only exist on the device where it is set.</p>
<p>But now we have a scenario where a user might have two different User-ID numbers for a single user? Isn’t this going to have an impact on the data? Aren’t we trying to avoid that? This sucks!</p>
<p>Well &#8211; it’s not that simple. Let’s talk about something called Session Unification.</p>
<h2>Session Unification</h2>
<p>The above scenario is very common. You will not always be able to set the User-ID in Google Analytics &#8211; even for known users. The result is some hits and sessions will have a User-ID value, and some with an automatically generated User-ID value.</p>
<div id="attachment_3861" style="width: 611px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3861" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-02_10-10-27.png" alt="It&#039;s not always possible to send your own User-ID to Google Analytics." width="601" height="282" class="size-full wp-image-3861" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-02_10-10-27.png 601w, http://cutroni.com/blog/wp-content/uploads/2014-04-02_10-10-27-300x140.png 300w" sizes="(max-width: 601px) 100vw, 601px" /><p id="caption-attachment-3861" class="wp-caption-text">It&#8217;s not always possible to send your own User-ID to Google Analytics.</p></div>
<p>Google Analytics has a feature called Session Unification. When activated, it will unify, or group, hits with the manually set User-ID and hits with an auto-generated User-ID together.  This means that Google Analytics can associate <em>some</em> hits that were received prior to setting the User-ID. </p>
<p>Here&#8217;s the definition of Session Unification from the Google Analytics Help center (I think it&#8217;s pretty good!):</p>
<blockquote><p>Session unification allows hits collected before the User-ID is assigned to be associated with the ID, <em>as long as those hits happen within the same session</em> in which a specific ID value is assigned for the first time.</p></blockquote>
<p>This means that Google Analytics will only associate hits collected in the same session AND it must be in the first session where the User-ID is set. </p>
<p>This functionality is sometimes called “stitching” &#8211; and it differs from one tool to another. </p>
<p>Google Analytics will not go back in time and stitch every single session from a given user together. I can hear the groans now &#8211; and the comparisons to other tools. I hope to write about session unification in a later post. But I think a lot of people that are going to complain about this are missing the point. It&#8217;s not &#8220;can we stitch data together&#8221; it&#8217;s &#8220;should we stitch data together?&#8221;. Rant over.</p>
<p>So how does Session Unification impact the data? Well, to understand that we need to talk about another topic the User-ID View and reports.</p>
<h2>The User-ID View</h2>
<p>We all know the basic hierarchy of a Google Analytics account. Within your account you can create a number of properties. Under a property you can create a number of views &#8211; which were formerly called profiles.</p>
<p>Now you can designate certain views as User-ID views. This means that the view will be filtered and the only data in this view is data that contains hits where you set the User-ID value.</p>
<div id="attachment_3895" style="width: 606px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3895" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-09_11-40-22.png" alt="Only a Google Analytics view with User-ID enabled will display information about cross-device users." width="596" height="391" class="size-full wp-image-3895" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-09_11-40-22.png 596w, http://cutroni.com/blog/wp-content/uploads/2014-04-09_11-40-22-300x196.png 300w" sizes="(max-width: 596px) 100vw, 596px" /><p id="caption-attachment-3895" class="wp-caption-text">Only a Google Analytics view with User-ID enabled will display information about cross-device users.</p></div>
<p>Obviously this view will have less data than a standard view where the User-ID is not enabled. But the idea is that this view will be able to provide deeper insights into how users who are logged in &#8211; a VERY valuable segment of your users &#8211; interact with your business across multiple devices.</p>
<p>To view all of the data, hits with and without a User-ID, you would use a standard view.</p>
<p>Let’s also consider the scenario from above &#8211; when a manually set User-ID is present in some sessions, but not others. The result is that the data from sessions without your User-ID will not be in the User-ID view. </p>
<div id="attachment_3860" style="width: 620px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3860" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-02_10-10-01.png" alt="Only hits that contain a manually set User-ID will be included in a User-ID view." width="610" height="280" class="size-full wp-image-3860" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-02_10-10-01.png 610w, http://cutroni.com/blog/wp-content/uploads/2014-04-02_10-10-01-300x137.png 300w" sizes="(max-width: 610px) 100vw, 610px" /><p id="caption-attachment-3860" class="wp-caption-text">Only hits that contain a manually set User-ID will be included in a User-ID view.</p></div>
<p>There are also some other significant differences between views that do, and do not, have User-ID feature enabled.</p>
<p><strong>1. Certain metrics are calculated differently.</strong> Obviously if a User-ID view contains different data, then certain metrics will be calculated differently. </p>
<p>For example, the number of Users is calculated based on the number of unique User-ID values. This will provide a fairly accurate view of the number of users. It will probably be less than the number of users in a standard view because that that view will also include users where you do not set a User-ID.</p>
<p><strong>2. Cross device reports.</strong> This is the HUGE benefit of a User-ID view. These reports provide some awesome insights into how users access your content from multiple devices. More info about the reports below.</p>
<p><strong>3. Limited date range.</strong> When working with a User-ID view you can only change the date range to the past 90 days. This is consistent with the standard 90-day user look-back window in other features, like Multi-Channel Funnels and <a href="http://cutroni.com/blog/2013/07/16/google-analytics-segmentation/" title="Google Analytics Segmentation: Updated for Better Analysis" target="_blank">user segments</a>.</p>
<h2>Implementing Cross Device Measurement</h2>
<p>Implementing the User-ID feature can be involved, depending on your specific infrastructure. Here&#8217;s a brief overview of the process.</p>
<p>1. First, you need to &#8220;turn on&#8221; the user ID feature for a given property.</p>
<p>2. Second, you need to add the actual user ID value to the data collection. For website, this means you need to modify the JavaScript tracking code. For mobile apps you need to change the SDK.</p>
<p>3. Third, create a User-ID view. This is a special data view that includes new reports.</p>
<p>Let&#8217;s get into a bit more detail.</p>
<p><strong>1. Enable User-ID Feature</strong></p>
<p>This is really important to read and understand the terms. For example, it&#8217;s important to note that you can not use personally identifiable information as the User-ID. This includes an email address, name, etc.</p>
<div id="attachment_3845" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3845" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-01_11-25-46.png" alt="To use the User-ID feature you must read the User-ID policy and agree to the terms." width="600" height="637" class="size-full wp-image-3845" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-01_11-25-46.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-04-01_11-25-46-282x300.png 282w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3845" class="wp-caption-text">To use the User-ID feature you must read the User-ID policy and agree to the terms.</p></div>
<p>You also really need to take a look at your own privacy policy and make sure it complies with the following:</p>
<blockquote><p>You will give your end users proper notice about the implementations and features of Google Analytics you use (e.g. notice about what data you will collect via Google Analytics, and whether this data can be connected to other data you have about the end user). You will either get consent from your end users, or provide them with the opportunity to opt-out from the implementations and features you use.</p></blockquote>
<p><strong>2. Implement User-ID in your Tracking Code</strong></p>
<p>Now for the coding! Go get your nerds and Red Bull! Just kidding. </p>
<p>As I mentioned above, the User-ID value must come from you. You must generate the ID from one of your systems. Once you do that you must place it inside the tracking code. The hard part is writing the code that moves the User-ID from your systems and puts it in {{ USER_ID }} in the code snippets below..  </p>
<p>Let&#8217;s look at some of the most common code formats.</p>
<p><strong>Adding the User-ID to website tracking</strong></p>
<p>Adding a User-ID to the JavaScript code is fairly easy &#8211; it’s a single line.<br />
<code><br />
ga('create', 'UA-XXXX-Y', 'auto');<br />
ga('set', '&uid', {{ USER_ID }});<br />
ga('send', 'pageview');<br />
</code><br />
Remember, the User-ID needs to be set before any hits are sent to Google Analytics. So make sure you call the <code>set</code> command before a pageview, event, transaction, etc. is sent.</p>
<p>It’s also recommended that you include the set method on ALL of the pages, not just one page.</p>
<p><a href="https://developers.google.com/analytics/devguides/collection/analyticsjs/user-id" target="_blank">See the developer docs for more about JavaScript information</a>.</p>
<p><strong>Adding the User-ID to the Android SDK</strong><br />
<code><br />
t.set("&uid", {{ USER_ID }});<br />
</code></p>
<p><a href="https://developers.google.com/analytics/devguides/collection/android/v4/user-id" target="_blank">See the developer docs for more Android information.</a></p>
<p><strong>Adding the User-ID to the iOS SDK</strong><br />
<code><br />
[tracker set:@"&uid" value:{{ USER_ID }}];<br />
</code></p>
<p><a href="https://developers.google.com/analytics/devguides/collection/ios/v3/user-id" target="_blank">See the developer docs for more iOS information.</a></p>
<p>For both the Android code and the iOS code, you only need to set the User-ID once. Once it is set once the User-ID will be sent with all subsequent hits. But try to set it before any hit is sent to Google Analytics. </p>
<p><strong>Adding the User-ID to the Measurement Protocol</strong></p>
<p>Adding the User-ID to a measurement protocol hit is actually really easy. All you need to do is add the <code>uid</code> parameter in each hit. So a hit might look something like this:</p>
<p><code>http://www.google-analytics.com/collect?v=1&_v=j16&a=164718749&t=pageview&_s=1&dl=http%3A%2F%2Fcutroni.com%2F&ul=en-us&<strong>uid=hsjfy4782jduyth6k4</strong></code></p>
<p><strong>Adding the User-ID via Google Tag Manager</strong></p>
<p>A quick note that you can also set the <a href="https://support.google.com/tagmanager/answer/4565987" target="_blank">User-ID with Google Tag Manager</a>. You&#8217;ll find the setting in the &#8216;More Settings > Fields to set&#8217;. You&#8217;ll also need to create a <a href="https://support.google.com/tagmanager/answer/2644341?hl=en&#038;ref_topic=3441647" target="_blank">macro</a> to pull the actual User-ID value from a cookie or the <a href="http://cutroni.com/blog/2012/05/14/make-analytics-better-with-tag-management-and-a-data-layer/" title="Make Analytics Better with Tag Management and a Data Layer" target="_blank">data layer</a>.</p>
<div id="attachment_3890" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3890" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-03_21-05-041.png" alt="You can set the User-ID value with Google Tag Manager." width="600" height="460" class="size-full wp-image-3890" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-03_21-05-041.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-04-03_21-05-041-300x230.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3890" class="wp-caption-text">You can set the User-ID value with Google Tag Manager.</p></div>
<p>In addition to adding the User-ID to your data collection code, you must also choose if you want to use Session Unification. See above for more information on session unification.</p>
<div id="attachment_3846" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3846" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-01_11-25-58.png" alt="The second step in setting up the User-ID is to add the actual identifier to the tracking code for your site or app." width="600" height="767" class="size-full wp-image-3846" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-01_11-25-58.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-04-01_11-25-58-234x300.png 234w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3846" class="wp-caption-text">The second step in setting up the User-ID is to add the actual identifier to the tracking code for your site or app AND configuring the session unification setting.</p></div>
<p>Now it’s time to add a User-ID view.</p>
<p><strong>3. Create a User ID View</strong></p>
<p>As mentioned above, a User-ID view is a filtered view of your data. It only includes hits in which you have set the User-ID value. This view also contains reports that show cross device usage and other user-centric metrics.</p>
<p>Please note, this view is in ADDITION to the other views that you have for a property. This means that you will need to configure things like goals, filters custom reports, dashboards, etc. on this new view. </p>
<div id="attachment_3897" style="width: 610px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/2014-04-01_11-26-22.png"><img aria-describedby="caption-attachment-3897" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-01_11-26-22.png" alt="You must create a new User-ID view to see the Google Analytics cross device reports." width="600" height="489" class="size-full wp-image-3897" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-01_11-26-22.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-04-01_11-26-22-300x244.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a><p id="caption-attachment-3897" class="wp-caption-text">You must create a new User-ID view to see the Google Analytics cross device reports.</p></div>
<p>That’s really it. I don’t want to oversimplify the implementation. But most of the work is really creating the code that pulls your User-ID from your systems and then places it in the correct tracking code.</p>
<h2>Data and Reports</h2>
<p>We finally made it, let&#8217;s look at some data and figure out how we can use this.</p>
<p>Remember, in all of these reports we&#8217;re trying to understand the behavior of our users. And we&#8217;re not just looking at the behavior of everyone &#8211; we&#8217;re looking at the behavior of those users that have self identified. This is really important as this group is naturally very valuable.</p>
<p><strong>User-ID Coverage</strong></p>
<p>Let&#8217;s start by understanding what percentage of our users are actually logged in. </p>
<p>Remember, you&#8217;ll have two different profiles with data. One profile will just be all of the data, the other will be a User-ID profile that only contains information about logged in users. </p>
<p>The Coverage Report identifies the data that has a User-ID associate with it vs. the data that does not have a User-ID.</p>
<div id="attachment_3898" style="width: 610px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/2014-04-08_13-13-21.png"><img aria-describedby="caption-attachment-3898" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-08_13-13-21.png" alt="The User-ID Coverage report shows what percentage of your sessions have a User-ID associated with them." width="600" height="337" class="size-full wp-image-3898" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-08_13-13-21.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-04-08_13-13-21-300x168.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a><p id="caption-attachment-3898" class="wp-caption-text">The User-ID Coverage report shows what percentage of your sessions have a User-ID associated with them.</p></div>
<p>Remember, you&#8217;re probably not going to get 100% User-ID coverage &#8211; unless your online experience requires authentication. But this depends on your specific business and your specific implementation.</p>
<p>You can use this data to get a better understanding of how big your data pool is &#8211; will you be making decisions on 1% of sessions or 50%?</p>
<p><strong>Device Overlap</strong></p>
<p>Ok this is where we start to get into the really interesting data. Here&#8217;s a visualization that shows the device overlap. That means the percentage of users that use various combinations of devices.</p>
<div id="attachment_3900" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3900" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-04_15-40-10.png" alt="Device overlap shows the number of users and the value of users based on combinations of devices." width="600" height="481" class="size-full wp-image-3900" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-04_15-40-10.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-04-04_15-40-10-300x240.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3900" class="wp-caption-text">Device overlap shows the number of users and the value of users based on combinations of devices.</p></div>
<p>Rather than just looking at how many people use certain combinations of devices, let&#8217;s look at the associated revenue from those combinations. Notice that you can change the display using the selector at the top of the chart?</p>
<div id="attachment_3901" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3901" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-08_13-24-32.png" alt="The Device overlap report also includes detailed information about how combinations of devices drive value." width="600" height="222" class="size-full wp-image-3901" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-08_13-24-32.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-04-08_13-24-32-300x111.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3901" class="wp-caption-text">The Device overlap report also includes detailed information about how combinations of devices drive value.</p></div>
<p>So what&#8217;s the actionability here?</p>
<p>Do people who use a certain combination of devices behave differently than others? Are people who use tablet and desktop more valuable than those that use tablet and phone? If so &#8211; how do we encourage more of that behavior? Is it via marketing? Changes to the platform?</p>
<p>And don&#8217;t forget, you need to add a LOT of context to this data. You need to keep in mind your marketing initiatives along with the user experience that you offer your users on each device.</p>
<p><strong>Device Pathing</strong></p>
<p>Now let&#8217;s move on to device pathing. This report shows the device used for a sequence of sessions. </p>
<div id="attachment_3906" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3906" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/DevicePathing.png" alt="Device Pathing shows the user sequence of devices." width="600" height="220" class="size-full wp-image-3906" srcset="http://cutroni.com/blog/wp-content/uploads/DevicePathing.png 600w, http://cutroni.com/blog/wp-content/uploads/DevicePathing-300x110.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3906" class="wp-caption-text">Device Pathing shows the user sequence of devices.</p></div>
<p>You can look at a specific path prior to, or after, a user action. The action could be a goal conversion, a pageview, a transaction or an event.</p>
<div id="attachment_3908" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3908" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-04_15-43-40.png" alt="You can view the device path prior to, or after, specific user actions." width="600" height="350" class="size-full wp-image-3908" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-04_15-43-40.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-04-04_15-43-40-300x175.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3908" class="wp-caption-text">You can view the device path prior to, or after, specific user actions.</p></div>
<p>What&#8217;s the actionability here? Let&#8217;s look at a use-case.</p>
<p>If you have a SaaS business you may offer your users a free trial. In this case the user would create an account for the trial and then use your service. At the end of the trial they would need to upgrade to a real account.</p>
<p>The first thing you could do is look at the user&#8217;s device behavior after creating their free trial account. Did they perform any specific tasks on a specific device? Was one device more popular than another? If so maybe you can simplify the workflow on that device.</p>
<p>You could also look at the device path at the end of their trial, when they upgraded to a paying account. Did they perform the upgrade on a certain device? Or, more importantly, was the <em>conversion rate</em> higher on on a certain type of device? If so, you might want to simplify or optimize the process on that type of device.</p>
<p>Don&#8217;t forget to look back at the Device Overlap report to understand if a certain combination of devices yielded a more valuable customer.</p>
<p>Also notice that there are a lot of ways that you can configure this report to view different paths. One of the most important things to note is that you can not choose specific instances of each item. For example, if a user generates multiple transactions you can not choose a specific transaction.</p>
<div id="attachment_3912" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3912" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-09_20-38-24.png" alt="You can choose to view the device path before or after various user actions." width="600" height="384" class="size-full wp-image-3912" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-09_20-38-24.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-04-09_20-38-24-300x192.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3912" class="wp-caption-text">You can choose to view the device path before or after various user actions.</p></div>
<p>My suggestion is to create a goal, page or unique event for the most important user actions &#8211; the ones that represent the transition from one phase of the customer lifecycle to another. That way you will always be able to see the device path before and after the action.</p>
<p><strong>Device Acquisition Report</strong></p>
<p>Finally we have the Acquisition Device report. This is similar to the Device Overlap report in that it helps you understand the value of users on a certain device. But the difference is that it shows the value based on the first device type.</p>
<div id="attachment_3913" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3913" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-08_15-21-48.png" alt="Use the Device Acquisition report to understand if users acquired on a certain device generate revenue on the same device or different devices." width="600" height="142" class="size-full wp-image-3913" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-08_15-21-48.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-04-08_15-21-48-300x71.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3913" class="wp-caption-text">Use the Device Acquisition report to understand if users acquired on a certain device generate revenue on the same device or different devices.</p></div>
<p>What&#8217;s the actionability here? Do users acquired on a specific type of device generate more value on the same device or on other devices? If so how can you drive more of that behavior?</p>
<p><strong>Segmentation</strong></p>
<p>One final thing to mention. You may have noticed that you can apply segmentation to all of these reports. Segmentation will work the same in these reports as it does in all other GA reports.</p>
<p>If you create a session based segment then Google Analytics will show all the paths that include a session that meets your criteria.</p>
<p>If you create a user based segment then Google Analytics will show all of the paths generated from users that match your criteria.</p>
<p>Did you make it to the end? I hope this post gave you some insights into how Cross Device Measurement works. There&#8217;s going to be a lot of chatter about User-ID and cross device measurement &#8211; some positive, some negative. And I have a lot more to say &#8211; but this post is long enough!</p>
]]></content:encoded>
					
					<wfw:commentRss>http://cutroni.com/blog/2014/04/10/understanding-cross-device-measurement-and-the-user-id/feed/</wfw:commentRss>
			<slash:comments>18</slash:comments>
		
		
			</item>
		<item>
		<title>Universal Analytics: Now out of beta!</title>
		<link>http://cutroni.com/blog/2014/04/02/universal-analytics-now-beta/</link>
					<comments>http://cutroni.com/blog/2014/04/02/universal-analytics-now-beta/#comments</comments>
		
		<dc:creator><![CDATA[Justin Cutroni]]></dc:creator>
		<pubDate>Wed, 02 Apr 2014 17:00:28 +0000</pubDate>
				<category><![CDATA[About Google Analytics]]></category>
		<category><![CDATA[Universal Analytics]]></category>
		<guid isPermaLink="false">http://cutroni.com/blog/?p=3836</guid>

					<description><![CDATA[We&#8217;ve been talking about Universal Analytics for a long time &#8211; over a year. In that time Universal has always been in beta because it was not 100% compatible with the existing version of GA. Sure, various parts of the Universal platform have rolled out, like the Measurement Protocol and Dimension Widening, but we were [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>We&#8217;ve been talking about <a href="http://cutroni.com/blog/2012/10/29/universal-analytics-the-next-generation-of-google-analytics/" title="Universal Analytics: The Next Generation of Google Analytics">Universal Analytics</a> for a long time &#8211; over a year. In that time Universal has always been in beta because it was not 100% compatible with the existing version of GA. Sure, various parts of the Universal platform have rolled out, like the <a href="https://developers.google.com/analytics/devguides/collection/protocol/v1/" target="_blank">Measurement Protocol</a> and <a href="http://cutroni.com/blog/2013/10/30/dimension-widening-import-data-directly-into-google-analytics/" title="Dimension Widening: Import data directly into Google Analytics">Dimension Widening</a>, but we were missing things like Remarketing and Audience data. But no more :) </p>
<p><strong>I&#8217;m excited to say that as of today, April 2, 2014, Universal Analytics is out of beta!<br />
</strong></p>
<p><img loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/Google-Analytics-Universal-Analytics-e1351521478750.png" alt="Universal Analytics: The next generation of Google Analytics" width="600" height="341" class="aligncenter size-full wp-image-2773" /></p>
<p>Let&#8217;s run through everything you need to know about the announcement.</p>
<h2>100% Feature Compatibility</h2>
<p>Universal Analytics now supports all standard Google Analytics features. This includes:</p>
<p><strong>Remarketing with Google Analytics</strong>. This is one of my favorite analytics features &#8211; and it made me very sad that Universal Analytics did not support it. But that&#8217;s in the past &#8211; You can now use the <a href="http://cutroni.com/blog/2012/11/20/getting-started-with-google-analytics-remarketing/" title="Getting Started with Google Analytics Remarketing">remarketing feature</a> with Universal Analytics.</p>
<p><strong>Audience reporting</strong>. The <a href="https://support.google.com/analytics/answer/1012034?hl=en" target="_blank">audience reports</a> are an awesome way to understand who is using your site. They include data like gender and interest categories. This can be incredible helpful when trying to understand if the correct audience is using your site. Now you can use this feature with Universal Analytics.</p>
<p><strong>Premium SLA Support</strong>. For all of those using <a href="http://www.google.com/analytics/premium/index.html">Google Analytics Premium</a>, all of your standard SLAs now apply to Universal Analytics. This includes data collection, data processing, etc.</p>
<p><strong>Full Google Tag Manager support</strong>. <a href="http://cutroni.com/blog/2012/10/01/getting-started-with-google-tag-manager/" title="Getting Started with Google Tag Manager" target="_blank">Google Tag Manager</a> now fully supports all Universal Analytics features, this includes audience data and the new User ID feature (discussed below). </p>
<p>I&#8217;ve said it many, many times &#8211; I&#8217;m a big fan of tag management. If you are going to migrate to Universal Analytics you might as well migrate to Tag Manager (or any tag management solution) now!</p>
<p>Universal Analytics is Google Analytics &#8211; and vice versa. Everything that Google Analytics can do, Universal Analytics can do &#8211; and more :)</p>
<h2>Cross Device Measurement</h2>
<p>In addition to complete feature compatibility, cross device measurement, via the <a href="https://support.google.com/analytics/answer/3123662">User-ID</a> feature, is now available. </p>
<div id="attachment_3849" style="width: 461px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3849" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-01_21-01-36.png" alt="The User-ID feature let&#039;s you measure the user journey across multiple devices - and even in stores." width="451" height="237" class="size-full wp-image-3849" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-01_21-01-36.png 451w, http://cutroni.com/blog/wp-content/uploads/2014-04-01_21-01-36-300x157.png 300w" sizes="(max-width: 451px) 100vw, 451px" /><p id="caption-attachment-3849" class="wp-caption-text">The User-ID feature let&#8217;s you measure the user journey across multiple devices &#8211; and even in stores.</p></div>
<p>As you recall, this feature lets businesses use their own User-ID to measure customers across multiple devices. This feature includes some awesome reports to help businesses understand which devices and behaviors generate value. Here&#8217;s a quick overview:</p>
<p><strong>Device Overlap</strong>: This report can help you identify what types of devices your users use to access your service or content.</p>
<div id="attachment_3870" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3870" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-02_11-43-32.png" alt="The Device Overlap report shows what percentage of users access your content from multiple devices." width="600" height="451" class="size-full wp-image-3870" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-02_11-43-32.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-04-02_11-43-32-300x225.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3870" class="wp-caption-text">The Device Overlap report</p></div>
<p><strong>Device Paths</strong>: This report will show the last five devices that were used prior to a conversion. It&#8217;s a bit like the Multi-Channel Funnels report &#8211; but for devices.</p>
<div id="attachment_3871" style="width: 610px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/2014-04-02_11-47-50.png"><img aria-describedby="caption-attachment-3871" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-02_11-47-50.png" alt="The Device Path report shows the last five devices that were used prior to a conversion." width="600" height="277" class="size-full wp-image-3871" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-02_11-47-50.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-04-02_11-47-50-300x138.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a><p id="caption-attachment-3871" class="wp-caption-text">The Device Path report</p></div>
<p><strong>Acquisition Device</strong>: This report shows revenue based on the device that generated the first conversion. It&#8217;s can help you understand if users on a certain device have a larger impact on revenue. </p>
<div id="attachment_3872" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3872" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-02_11-50-21.png" alt="The Acquisition Device Report." width="600" height="125" class="size-full wp-image-3872" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-02_11-50-21.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-04-02_11-50-21-300x62.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3872" class="wp-caption-text">The Acquisition Device Report</p></div>
<p>Understanding cross device measurement, and implementing it correct, is a <strong>huge</strong> topic &#8211; way more than I can cover in one post. I&#8217;ll be publishing a few other articles that explain cross device measurement in Google Analytics ASAP.</p>
<h2>Time-zone Based Processing</h2>
<p>In addition to the above features, there&#8217;s one more piece that is rolling out today. Google Analytics users can now specify the time-zone where their data is processed. In the past all data was processed in the Pacific Timezone (because that&#8217;s there Google is). </p>
<p>But now data processing will occur in the time zone of each data view.</p>
<div id="attachment_3852" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3852" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-04-01_13-35-001.png" alt="The time zone setting in a view now controls when your data is processed." width="600" height="473" class="size-full wp-image-3852" srcset="http://cutroni.com/blog/wp-content/uploads/2014-04-01_13-35-001.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-04-01_13-35-001-300x236.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3852" class="wp-caption-text">The time zone setting for a view now controls when your data is processed.</p></div>
<p>While most people will not notice a big difference, this is a HUGE improvement for many users in Australia, Japan and other parts of Asia.</p>
<p>This also means that, for some users, automated daily reports will arrive on the correct day!</p>
<h2>Do you need to migrate?</h2>
<p>Ok, so that&#8217;s a brief overview of what&#8217;s happening today. But the big question that everyone will ask is, &#8220;do I need to migrate to Universal Analytics?&#8221; </p>
<p>No, you do not need to migrate to Universal Analytics &#8211; at least not now. </p>
<p>However, you need to start <em>planning</em> to migrate. </p>
<p>Universal Analytics is the new platform &#8211; all new features will be developed for UA. So if you want to use the new shiny things in the future you need to be on UA. </p>
<p>But migrating t can be a lot of work depending on your specific measurement plan. I&#8217;ll address that in another post.</p>
<p>Ok, that&#8217;s it for this post. But there is a lot more on Universal Analytics coming. </p>
]]></content:encoded>
					
					<wfw:commentRss>http://cutroni.com/blog/2014/04/02/universal-analytics-now-beta/feed/</wfw:commentRss>
			<slash:comments>30</slash:comments>
		
		
			</item>
		<item>
		<title>Advanced Content Tracking with Universal Analytics</title>
		<link>http://cutroni.com/blog/2014/02/12/advanced-content-tracking-with-universal-analytics/</link>
					<comments>http://cutroni.com/blog/2014/02/12/advanced-content-tracking-with-universal-analytics/#comments</comments>
		
		<dc:creator><![CDATA[Justin Cutroni]]></dc:creator>
		<pubDate>Wed, 12 Feb 2014 16:45:46 +0000</pubDate>
				<category><![CDATA[Event Tracking]]></category>
		<category><![CDATA[Tracking]]></category>
		<guid isPermaLink="false">http://cutroni.com/blog/?p=3782</guid>

					<description><![CDATA[A while ago I wrote Advanced Content Tracking &#8211; a post about how to measure if users are actually reading your content. I&#8217;ve been getting a lot of requests to update this code for Universal Analytics. So here it is &#8211; an updated script specifically for use with Universal Analytics. This Google Analytics customization collects [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>A while ago I wrote <a href="http://cutroni.com/blog/2012/02/21/advanced-content-tracking-with-google-analytics-part-1/" title="Advanced Content Tracking with Google Analytics: Part 1" target="_blank">Advanced Content Tracking</a> &#8211; a post about how to measure if users are actually reading your content. I&#8217;ve been getting a lot of requests to update this code for <a href="http://cutroni.com/blog/2012/11/06/nurturing-your-customers-business-with-universal-analytics/" title="Nurturing Your Customers &#038; Business with Universal Analytics" target="_blank">Universal Analytics</a>.</p>
<p>So here it is &#8211; an updated script specifically for use with Universal Analytics.</p>
<p>This Google Analytics customization collects data as users scroll down a page. It uses <a href="https://support.google.com/analytics/answer/1033068?hl=en" target="_blank">events</a> to track when a post loads, when the user scrolls more than 150 pixels, when the user reaches the bottom of the <em>content</em> and when the user reaches the bottom of the <em>page</em>.</p>
<div id="attachment_3791" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3791" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-02-10_10-54-29.png" alt="This technique uses Google Analytics events to track a user as they scroll down a page of content." width="600" height="478" class="size-full wp-image-3791" srcset="http://cutroni.com/blog/wp-content/uploads/2014-02-10_10-54-29.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-02-10_10-54-29-300x239.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3791" class="wp-caption-text">This technique uses Google Analytics events to track a user as they scroll down a page of content.</p></div>
<p>The end result is some cool data about how many users actually read content. Here&#8217;s a sample of what the data looks like. This is just an basic event report with the Event Action and Event Label.</p>
<div id="attachment_3799" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3799" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-02-10_11-03-44.png" alt="You can access the Reading data in your Event reports. Here we see a single article and how often users scrolled, read the whole article and got to the bottom of the page." width="600" height="289" class="size-full wp-image-3799" srcset="http://cutroni.com/blog/wp-content/uploads/2014-02-10_11-03-44.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-02-10_11-03-44-300x144.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3799" class="wp-caption-text">You can access the Reading data in your Event reports. Here we see a single article and how often users scrolled, read the whole article and got to the bottom of the page.</p></div>
<h2>The Scroll Tracking Code</h2>
<p>Here is the JavaScript code that measures user scrolling. </p>
<p><iframe width="100%" height="300" src="http://jsfiddle.net/justincutroni/t3ZHd/embedded/" allowfullscreen="allowfullscreen" frameborder="0"></iframe><br />
<strong>TIP &#8211; You can use the tabs at the top of the code window to try the script. Just click on Result.<br />
</strong></p>
<p>What&#8217;s changed in this version?</p>
<p>First, the blog post title is now collected as part of the event. Specifically I&#8217;m pulling the page title from the HTML and putting it into the event label. This makes it easier to drill down and see which pages people are reading. This was possible before using the Page Title dimension, but using the event label makes it just a bit easier. See the image above.</p>
<p>Another thing I change is I now use a <a href="https://support.google.com/analytics/answer/2709828?hl=en&#038;ref_topic=2709827" target="_blank">Custom Dimension</a> rather than a Custom Variable, to collect the &#8216;reader type&#8217;. Custom variables do not exist in Universal Analytics. </p>
<p>This change will impact your data! You will no longer see data in the Custom Variables report &#8211; because you&#8217;re not using Custom Variables. Custom Dimensions are only available in <a href="https://support.google.com/analytics/answer/1033013?hl=en" target="_blank">Custom Reports</a> and <a href="https://support.google.com/analytics/answer/1068216?hl=en" target="_blank">Custom Dashboards</a>. </p>
<p>I also changed how the Custom Dimensions are set. This script will set a Custom Dimension when the user reaches the bottom of the post content &#8211; not the bottom of the page. When they reach the bottom of the content they are categorized as a scanner or a reader.</p>
<ul>
<li>A <em>scanner</em> is someone that simple scrolls to the bottom of the content in less than 60 seconds.</li>
<li>A <em>reader</em> is someone that take more than 60 seconds to reach the bottom of the content.</li>
</ul>
<p>This is hardly a scientific way to categorize users, but it works for me :)</p>
<p>Finally, I added three custom metrics to store the time metrics: time to scroll, time to content bottom and time to page bottom.</p>
<p>Remember, in order to configure Custom Dimensions and Custom Metric you must first <a href="https://support.google.com/analytics/answer/2709829?hl=en" target="_blank">add them via your Google Analytics admin settings</a>.</p>
<p>Other than the above changes the functionality is still the same.</p>
<h2>Implementing the code</h2>
<p>Step 1: There are a few code changes that you must make in order for this code to work on YOUR site.</p>
<p>1. Turn off debugging: This flag will display alert messages, rather than send GA data, when the user scrolls, reaches the bottom of the content and reaches the bottom of the page. If you do not set this to FALSE your users will get all sorts of alert messages :)</p>
<p>2. Decide how far you want for scroll depth: I send an event after the user scrolls 150 px. You can change this value, but I believe it works fine and does capture user engagement.</p>
<p>3. Specify where the bottom of your content is: This is the most important setting. This script sends an event when the user gets to the bottom of a post. That&#8217;s determined by the HTML. For me, the HTML is identified as <code>.entry-content</code>, as shown in this code.</p>
<p>[code lang=&#8221;js&#8221;]<br />
if (bottom &gt;= $(&#8216;.entry-content&#8217;).scrollTop() + $(&#8216;.entry-content&#8217;).innerHeight() &amp;&amp; !endContent) {<br />
[/code]</p>
<p>You must change this line of code to identify a piece of HTML on your site that signifies the end of the content. This is the hardest part of the implementation.</p>
<p>Step 2: Add the code before the closing [code][/code]</head></code> on your site. Make sure it appears AFTER the Universal Analytics page tag. It should look something like this when complete:</p>
<p>[code lang=&#8221;js&#8221;]<br />
&lt;head&gt;</p>
<p>&#8230; all sorts of tags &#8230;</p>
<p>&lt;script&gt;<br />
  //<br />
  // Universal Analytics page tag<br />
  //<br />
  (function(i,s,o,g,r,a,m){i[&#8216;GoogleAnalyticsObject&#8217;]=r;i[r]=i[r]||function(){<br />
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),<br />
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)<br />
  })(window,document,&#8217;script&#8217;,&#8217;//www.google-analytics.com/analytics.js&#8217;,&#8217;ga&#8217;);</p>
<p>  ga(&#8216;create&#8217;, &#8216;UA-XXXXXX-YY&#8217;);<br />
  ga(&#8216;send&#8217;, &#8216;pageview&#8217;);</p>
<p>  //<br />
  // Scroll tracking script<br />
  //<br />
  jQuery(function($) {<br />
    // Debug flag<br />
    var debugMode = true;</p>
<p>    // Default time delay before checking location<br />
    var callBackTime = 100;</p>
<p>    // # px before tracking a reader<br />
    var readerLocation = 150;</p>
<p>    // Set some flags for tracking &amp; execution<br />
    var timer = 0;<br />
    var scroller = false;<br />
    var endContent = false;<br />
    var didComplete = false;</p>
<p>&#8230; More code here &#8230;</p>
<p>&lt;/script&gt;<br />
[/code]</p>
<p>That should be it. You should see data instantly in the Real Time Event reports.</p>
<p>I encourage you to read the instructions in <a href="http://cutroni.com/blog/2012/02/21/advanced-content-tracking-with-google-analytics-part-1/" title="Advanced Content Tracking with Google Analytics: Part 1" target="_blank">my original post</a>.</p>
<p>Finally, a lot of people have asked me about implementing this script with <a href="http://google.com/tagmanager" target="_blank">Google Tag Manager</a>. This really warms my heart :) I love tag management!</p>
<p>You can use this script with Google Tag Manager &#8211; but it takes a bit of work. I&#8217;ll write a separate post on that topic.</p>
<p>That&#8217;s it. I hope you find this script useful. Feel free to modify it to fit your needs. I&#8217;ve really enjoyed the data that it generates &#8211; it&#8217;s helped me better understand my readers and content.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://cutroni.com/blog/2014/02/12/advanced-content-tracking-with-universal-analytics/feed/</wfw:commentRss>
			<slash:comments>23</slash:comments>
		
		
			</item>
		<item>
		<title>Hits, Sessions &#038; Users: Understanding Digital Analytics Data</title>
		<link>http://cutroni.com/blog/2014/02/05/understanding-digital-analytics-data/</link>
					<comments>http://cutroni.com/blog/2014/02/05/understanding-digital-analytics-data/#comments</comments>
		
		<dc:creator><![CDATA[Justin Cutroni]]></dc:creator>
		<pubDate>Wed, 05 Feb 2014 14:35:41 +0000</pubDate>
				<category><![CDATA[About Google Analytics]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[digital analytics data]]></category>
		<category><![CDATA[digital analytics data hierarchy]]></category>
		<category><![CDATA[unique visitors]]></category>
		<category><![CDATA[users]]></category>
		<guid isPermaLink="false">http://cutroni.com/blog/?p=3340</guid>

					<description><![CDATA[We talk about data every day &#8211; sessions, visits, conversions, pages, hits, etc. etc. etc. But sometimes we fail to understand how all of these metrics fit together and where they come from. Let&#8217;s take a look at how digital analytics tools organize data. All digital analytics data is organized into a general hierarchy of [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>We talk about data every day  &#8211; sessions, visits, conversions, pages, hits, etc. etc. etc. But sometimes we fail to understand how all of these metrics fit together and where they come from. Let&#8217;s take a look at how digital analytics tools organize data.</p>
<p>All digital analytics data is organized into a general hierarchy of users, sessions and hits. It doesn&#8217;t matter where the data comes from, it could be a website or a mobile app or a kiosk. This model works for web, apps or anything else.</p>
<div id="attachment_3765" style="width: 399px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3765" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-02-04_12-01-23.png" alt="Digital analytics data is organized into a hierarchy of hits, sessions and users." width="389" height="316" class="size-full wp-image-3765" srcset="http://cutroni.com/blog/wp-content/uploads/2014-02-04_12-01-23.png 389w, http://cutroni.com/blog/wp-content/uploads/2014-02-04_12-01-23-300x243.png 300w" sizes="(max-width: 389px) 100vw, 389px" /><p id="caption-attachment-3765" class="wp-caption-text">Digital analytics data is organized into a hierarchy of hits, sessions and users.</p></div>
<p>Sometimes we use the terms visitors instead of users and visits instead of sessions &#8211; they&#8217;re analogous. The onset of mobile devices (and other devices, like set top boxes) have prompted us to introduce new terms into our vocabulary.</p>
<p>It&#8217;s important to understand each piece of the hierarchy and how it builds on the other to create a view of our customers and potential customers. Because, at the end of the day, we need to use this data to evaluate our decisions and look for new business opportunities. </p>
<p>Let&#8217;s start at the bottom, with hits, and work our way up to users. </p>
<h2>Hits</h2>
<p>A hit is the most granular piece of data in an analytics tool. It&#8217;s how most analytics tools send data to a collection server. In reality, a hit is a request for a small image file. This image request is how the data is transmitted from a website or app to the data collection server.</p>
<div id="attachment_3755" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3755" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-02-04_09-39-11.png" alt="All data is sent using a hit. Most hits are actually the request for an invisible image file." width="600" height="224" class="size-full wp-image-3755" srcset="http://cutroni.com/blog/wp-content/uploads/2014-02-04_09-39-11.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-02-04_09-39-11-300x112.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3755" class="wp-caption-text">All data is sent using a hit. Most hits are actually the request for an invisible image file.</p></div>
<p>There are many different kinds of hits depending on your analytics tool. Here are some of the most common hits in <a href="http://google.com/analytics" target="_blank">Google Analytics</a>:</p>
<p><strong>Pageviews/Screenviews:</strong> A pageview (for web, or screenview for mobile) is usually automatically generated and measures a user viewing a piece of content. A pageview is one of the fundamental metrics in digital analytics. It is used to calculate many other metrics, like Pageviews per Visit and Avg. Time on Page. </p>
<p><strong>Events:</strong> An <a href="http://cutroni.com/blog/2007/10/16/event-tracking-pt-1-overview-data-model/" target="_blank">event</a> is like a counter. It&#8217;s used to measure how often a user takes action on a piece of content. Unlike a pageview which is automatically generated, an event must be manually implemented. You usually trigger an event when the user takes some kind of action. The action may be clicking on a button, clicking on a link, swiping a screen, etc. The key is that the user is interacting with content that is on a page or a screen.</p>
<p><strong>Transactions:</strong> <a href="https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce">A transaction</a> is sent when a user completes an ecommerce transaction. You must manually implement <a href="https://support.google.com/analytics/answer/1037249?hl=en" target="_blank">ecommerce tracking</a> to collect transactions. You can send all sorts of data related to the transaction including product information (ID, color, sku, etc.) and transactional information (shipping, tax, payment type, etc.)</p>
<p><strong>Social interaction hit:</strong> A <a href="https://developers.google.com/analytics/devguides/collection/analyticsjs/social-interactions">social interaction</a> is whenever a user clicks on a ReTweet button, +1 button, or Like button. If you want to know if people are clicking on social buttons then use this feature! Social interaction tracking must be manually implemented.</p>
<p><strong>Customized user timings:</strong><a href="https://developers.google.com/analytics/devguides/collection/analyticsjs/user-timings">User timings</a> provide a simple way to measure the actual time between two activities. For example, you can measure the time between when a page loads and when the user clicks a button. Custom timings must be implemented with additional code.</p>
<p>That&#8217;s a lot of hit types!</p>
<p>All hit types are sent to Google Analytics via a tracking code. The tracking code variation depends on what you are tracking. If you are tracing a website then <a href="https://developers.google.com/analytics/devguides/collection/analyticsjs/" target="_blank">JavaScript code</a>, named analytics.js, generates the hits. If you are tracking a mobile app then an SDK (either <a href="https://developers.google.com/analytics/devguides/collection/android/v3/" target="_blank">Android</a> or <a href="https://developers.google.com/analytics/devguides/collection/ios/v3/" target="_blank">iOS</a>)  generates the hits. If you are tracking a kiosk, then YOU generate the hits with the <a href="https://developers.google.com/analytics/devguides/collection/protocol/v1/" target="_blank">measurement protocol</a>.</p>
<p>Regardless of the hit type, the hits are all formatted in a similar manner. They are a request for an invisible image and contain data in query string parameters.</p>
<p><code>http://www.google-analytics.com/collect?v=1&_v=j16&a=164718749&t=pageview&_s=1&dl=http%3A%2F%2Fcutroni.com%2F&ul=en-us&de=UTF-8&dt=Analytics%20Talk%20-%20Digital%20Analytics%20for%20Business&sd=24-bit&sr=1920x1080&vp=1308x417&je=1&fl=12.0%20r0&<br />
_utma=32856364.1751219558.1391525474.1391525475.1391525475.1&<br />
_utmz=32856364.1391525475.1.1.utmcsr%3D(direct)<br />
%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)&_utmht=1391525534970&<br />
_u=cACC~&cid=1751219558.1391525474&tid=UA-91817-11&z=378275262</code></p>
<p>For all the nerds out there, the data hits can be sent via a GET request or a POST request. This is really important to know, because the amount of data can change. With a GET request you can only send 2048 characters of data. Technically a post can be any length (it&#8217;s a setting on most servers), but it&#8217;s around 8000 characters when sending data to Google Analytics.</p>
<p>The information in a hit is transformed into dimensions during processing. Every report is just a single dimension, and the corresponding metrics for each value. that you see in your reports. </p>
<div id="attachment_3769" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3769" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-02-05_09-14-38.png" alt="Each report in Google Analytics shows all of the values for a single dimension, and the corresponding metrics for each value." width="600" height="495" class="size-full wp-image-3769" srcset="http://cutroni.com/blog/wp-content/uploads/2014-02-05_09-14-38.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-02-05_09-14-38-300x247.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3769" class="wp-caption-text">Each report in Google Analytics shows all of the values for a single dimension, and the corresponding metrics for each value.</p></div>
<p>A quick note on mobile&#8230;</p>
<p>The mobile SDKs do not send data in real time. They actually store the hits locally and them send them in bursts. This is called <a href="https://developers.google.com/analytics/devguides/collection/android/v3/dispatch">dispatching</a> and it&#8217;s used for a couple of reasons. First, mobile devices are not always connected to a network. So analytics must store the hits until it detects a connection and then it sends the hits. Second, sending hits in a bunches can help conserve battery life. Don&#8217;t worry, dispatching does not impact session calculations &#8211; which we&#8217;ll talk about  right now :)</p>
<h2>Session</h2>
<p>A session is simply a collection of hits, from the same user, grouped together. By default, most analytics tools, including Google Analytics, will group hits together based on activity. When the analytics tool detects that the user is no longer active it will terminate the session and start a new one when the user becomes active. </p>
<p>Most analytics tools use 30 minutes of inactivity to separate sessions. This 30-minute period is called the timeout.</p>
<div id="attachment_3745" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3745" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-02-03_18-16-53.png" alt="A session is a collection of hits. It ends when there has been 30 minutes of inactivity." width="600" height="304" class="size-full wp-image-3745" srcset="http://cutroni.com/blog/wp-content/uploads/2014-02-03_18-16-53.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-02-03_18-16-53-300x152.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3745" class="wp-caption-text">A session is a collection of hits. It ends when there has been 30 minutes of inactivity.</p></div>
<p>Google Analytics, and most tools, use the time between the first hit and the last hit to calculate the time on site. The time between hits is also used to calculate other metrics, like time on page. You can read more in my overview of <a href="http://cutroni.com/blog/2012/02/29/understanding-google-analytics-time-calculations/" title="Understanding Google Analytics Time Calculations" target="_blank">how Google Analytics performs time calculations</a>.</p>
<p>Most tools let you change the default timeout to better suit your needs. For example, if you have a lot of video on your site you might want to change the timeout &#8211; especially if your video last more than 30 minutes. </p>
<p>Why?</p>
<p>If a user is watching a 60 minute video (and by watching I mean that no other hits are sent to analytics) their session will end 30 minutes after the first hit. To insure that the session lasts until the end of the video you could change the timeout to match the longest video length.</p>
<p>OR, a better way to extend the session, would be to send additional hits while the user is watching the video. Think about it &#8211; more hits create more data points that can be used to calculate time. Trust me, take 12 minutes to read more about <a href="http://cutroni.com/blog/2012/02/29/understanding-google-analytics-time-calculations/" title="Understanding Google Analytics Time Calculations" target="_blank">how Google Analytics performs time calculations</a>.</p>
<p>Now that we know that hits are grouped together into sessions, let&#8217;s look at how sessions are grouped based on users.</p>
<h2>Users</h2>
<p>Here&#8217;s where things start to get interesting. A user is the tools best-guess of an anonymous person. Users are identified using an anonymous number or a string of characters. The analytics tool normally creates the identifier the first time a user is detected. Then that identifier persists until it expires or is deleted.</p>
<p>The identifier is sent to the analytics tool with every hit of data. Then the analytics tools can group hits (and thus sessions) together using the identifier in the hits.</p>
<p>Make sense?</p>
<div id="attachment_3747" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3747" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-02-03_18-21-09.png" alt="Sessions from the same user can be grouped together as long as each hit has the same user ID. " width="600" height="391" class="size-full wp-image-3747" srcset="http://cutroni.com/blog/wp-content/uploads/2014-02-03_18-21-09.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-02-03_18-21-09-300x195.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3747" class="wp-caption-text">Sessions from the same user can be grouped together as long as each hit has the same user ID.</p></div>
<p>Here&#8217;s how users are detected on some of today&#8217;s most common digital platforms.</p>
<h3>Website Users</h3>
<p>To measure a user on a website almost all analytics tools use a cookie. A cookie is a small text file. The cookie contains the anonymous identifier. Every time a hit is sent from the browser back to the analytics server identifier stored in the cookie is sent along with the data.</p>
<div id="attachment_3741" style="width: 597px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3741" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-02-03_15-30-36.png" alt="When measuring a website, the analytics tool usually uses a first party cookie to store an anonymous ID." width="587" height="219" class="size-full wp-image-3741" srcset="http://cutroni.com/blog/wp-content/uploads/2014-02-03_15-30-36.png 587w, http://cutroni.com/blog/wp-content/uploads/2014-02-03_15-30-36-300x111.png 300w" sizes="(max-width: 587px) 100vw, 587px" /><p id="caption-attachment-3741" class="wp-caption-text">When measuring a website, the analytics tool usually uses a first party cookie to store an anonymous ID.</p></div>
<p>Now let&#8217;s have the cookie talk.</p>
<p>Google Analytics uses a first party cookie. A first party cookie is connected to the domain that creates it. A first-party can only be used by the domain that sets it. So on this site, the cookie has a domain of <code>cutroni.com</code> and can only be used by this website.</p>
<p>In Universal Analytics the cookie is named <code>_ga</code> and lasts for two years. In the previous version of Google Analytics the cookie was named <code>__utma</code>.</p>
<p>The good thing about a first party cookie is that almost all browsers will allow a first party cookie. It&#8217;s a very reliable piece of technology.</p>
<p>First party cookies are challenging when your site spans multiple domains. When a user leaves your site, and traverses to another site that you own, they do not take their first party cookies.  In most situations, unless you configure analytics correctly, analytics will set another cookie when the user lands on the second domain. </p>
<div id="attachment_3750" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3750" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-02-03_19-13-22.png" alt="Analytics uses a first party cookie to maintain a user ID." width="600" height="361" class="size-full wp-image-3750" srcset="http://cutroni.com/blog/wp-content/uploads/2014-02-03_19-13-22.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-02-03_19-13-22-300x180.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3750" class="wp-caption-text">Analytics uses a first party cookie to maintain a user identifier.</p></div>
<p>Now you have one user with two cookies. That could lead to double counting of users. Plus, if we want to create really cool metrics, like Revenue per user, it becomes very, very hard because we don&#8217;t know the true number of users.</p>
<p>The other type of cookie, a third-party cookie, can be set and accessed by domains other than the domain that creates it. Some analytics tools will let you use a third party cookie.</p>
<p>The value of a third party cookie is that the analytics tool can use a third party cookie to identify a user as they move from one domain to another.</p>
<div id="attachment_3752" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3752" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-02-03_19-17-26.png" alt="A third party cookie can be used by multiple domains." width="600" height="395" class="size-full wp-image-3752" srcset="http://cutroni.com/blog/wp-content/uploads/2014-02-03_19-17-26.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-02-03_19-17-26-300x197.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3752" class="wp-caption-text">A third party cookie can be used by multiple domains.</p></div>
<p>However, third-party cookies are not permitted by most browsers &#8211; that means no data.</p>
<p>Google Analytics does not use a third party cookie. You can read all about the Google Analytics cookies in the <a href="https://developers.google.com/analytics/devguides/collection/analyticsjs/cookie-usage" target="_blank">developer documentation</a>.</p>
<p>So what&#8217;s the solution here? How do you correctly identify a user if your website spans multiple domains? In the Google Analytics world we use a feature called Cross Domain Tracking. I&#8217;m not going to talk about it in this post, but you can read about it in our <a href="https://developers.google.com/analytics/devguides/collection/analyticsjs/cross-domain">support documentation</a>.</p>
<h3>Mobile Users</h3>
<p>Now let&#8217;s move on to mobile platforms &#8211; something that is very popular :)</p>
<p>Mobile tracking is similar to web tracking. There is an anonymous identifier stored on the device. The identifier is generated every time the app is installed. So if a user deletes the app the identifier will also be deleted. But if a user updates the app the identifier will not change.</p>
<p>The big difference between mobile and web is that the identifier is not stored in a cookie. It&#8217;s stored in a database on the mobile device &#8211; but it basically functions the same way as a cookie. The identifier is sent on every hit back to the analytics server. The analytics server then uses the identifier to create metrics like unique users.</p>
<p>Here&#8217;s one challenge with user measurement on an app. Many apps are not just an app. They&#8217;re a <i>hybrid</i> app/website. They use a browser within the app to &#8220;frame&#8221; content from a website. This can mess up the data collection.</p>
<p>In this situation we have two technologies with two different user identifiers. The app will measure a user based on the ID stored on the device and the website will use a cookie when a page loads in the app. </p>
<div id="attachment_3759" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3759" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-02-04_10-28-41.png" alt="Mobile apps that &quot;frame in&quot; content from a website, might be sending duplicate hits to the analytics tool." width="600" height="326" class="size-full wp-image-3759" srcset="http://cutroni.com/blog/wp-content/uploads/2014-02-04_10-28-41.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-02-04_10-28-41-300x163.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3759" class="wp-caption-text">Mobile apps that &#8220;frame in&#8221; content from a website, might be sending duplicate hits to the analytics tool.</p></div>
<p>There are some ways around this, but it&#8217;s a long solution that need it&#8217;s own blog post. But just be aware of this potential data issue.</p>
<p>Ok, so now we know about website users and mobile users. But what about other digital touch-points, like a kiosk?</p>
<h3>Other Digital Touch-points</h3>
<p>In today&#8217;s world a user can interact with your digital content on lots of different devices (computers, mobile, kiosks, set top boxes, etc.). And that can cause a lot of issues as tools try to de-duplicate users and get an accurate count of users. </p>
<p>One of the key features of <a href="http://cutroni.com/blog/2012/11/06/nurturing-your-customers-business-with-universal-analytics/" title="Nurturing Your Customers &#038; Business with Universal Analytics">Universal Analytics</a> is the ability to track users on devices other than websites and mobile devices, things like a point-of-sale system or a kiosk. It does this using a technology called the measurement protocol. </p>
<p>But how does it actually work?</p>
<p>The measurement protocol works by &#8211; wait for it &#8211; collecting hits :) These are the same hits that I described above. The big difference is that you must manually build the hits. So if you want to implement analytics on a kiosk, you must create MORE code to build the hits that are sent to Google Analytics. </p>
<p>But what about measuring users when you use the measurement protocol? </p>
<p>When you create the hit you must insert a user identifier into the hit. Google Analytics will then use this identifier as the unique identifier when it processes the data.</p>
<div id="attachment_3762" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3762" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-02-04_11-23-57.png" alt="To measure users when tracking other devices, like a kiosk, you must insert your own identifier and generate your own data hits." width="600" height="238" class="size-full wp-image-3762" srcset="http://cutroni.com/blog/wp-content/uploads/2014-02-04_11-23-57.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-02-04_11-23-57-300x119.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3762" class="wp-caption-text">To measure users when tracking other devices, like a kiosk, you must insert your own identifier and generate your own data hits.</p></div>
<p>Unlike websites and mobile apps, there is no cookie or database to store the identifier. So the ID does not persist from one hit to another, or from one session to another. You must manually insert the identifier into every hit in every session.</p>
<p>Your code must control the generation of the identifier and the storage of the identifier. </p>
<p>Let&#8217;s end it there. That&#8217;s a pretty good overview of digital analytics data.</p>
<p>I know this was a really geeky post, but it&#8217;s an important subject and will become more and more important. </p>
<p>Now it&#8217;s your turn. Thoughts? Please feel free to leave a comment.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://cutroni.com/blog/2014/02/05/understanding-digital-analytics-data/feed/</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
			</item>
		<item>
		<title>How to Use Google Analytics Content Grouping: 4 Business Examples</title>
		<link>http://cutroni.com/blog/2014/01/24/use-google-analytics-content-groups/</link>
					<comments>http://cutroni.com/blog/2014/01/24/use-google-analytics-content-groups/#comments</comments>
		
		<dc:creator><![CDATA[Justin Cutroni]]></dc:creator>
		<pubDate>Fri, 24 Jan 2014 21:55:33 +0000</pubDate>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tracking]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[content grouping]]></category>
		<category><![CDATA[google-analytics]]></category>
		<category><![CDATA[publisher]]></category>
		<category><![CDATA[setup]]></category>
		<guid isPermaLink="false">http://cutroni.com/blog/?p=3677</guid>

					<description><![CDATA[Content Grouping is a useful feature that let&#8217;s you group your website or app content together and view aggregate metrics for each group. This is particularly useful if you have a lot of content to analyze. Rolling up your content, based on your specific business structure, is very helpful when creating dashboards and other custom [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Content Grouping is a useful feature that let&#8217;s you group your website or app content together and view aggregate metrics for each group. This is particularly useful if you have a lot of content to analyze. Rolling up your content, based on your specific business structure, is very helpful when creating dashboards and other custom reports.</p>
<p>In this post I’ll talk about how to actually use the data and walk through some examples for various business types.</p>
<p>If you have not set up content groupings, please check out my post on <a href="http://cutroni.com/blog/2014/01/09/set-google-analytics-content-grouping/">how to set up Google Analytics content groupings</a>.</p>
<h2>Standard GA Reports</h2>
<p>Your content groupings are available in Google Analytics behavior reports. Navigate to the Behavior &gt; Site Content &gt; All Pages report. Notice at the top of the data table there is a selector for the primary dimension. This drop down list all of the content groupings that you added to Google Analytics.</p>
<div id="attachment_3692" style="width: 611px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3692" loading="lazy" class="size-full wp-image-3692" alt="Use the selector to choose a specific content grouping in your Google Analytics Content reports." src="http://cutroni.com/blog/wp-content/uploads/2014-01-17_07-32-01.png" width="601" height="353" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-17_07-32-01.png 601w, http://cutroni.com/blog/wp-content/uploads/2014-01-17_07-32-01-300x176.png 300w" sizes="(max-width: 601px) 100vw, 601px" /><p id="caption-attachment-3692" class="wp-caption-text">Use the selector to choose a specific content grouping in your Google Analytics Content reports.</p></div>
<p>This selector also exists in the navigation flow, so rather than viewing how users move from page to page, you can view how users move between the different types of content on your site.</p>
<div id="attachment_3693" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3693" loading="lazy" class="size-full wp-image-3693" alt="You can also use your content groupings in the Navigation Summary report." src="http://cutroni.com/blog/wp-content/uploads/2014-01-17_07-36-12.png" width="600" height="286" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-17_07-36-12.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-01-17_07-36-12-300x143.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3693" class="wp-caption-text">You can also use your content groupings in the Navigation Summary report.</p></div>
<p>Very handy for understanding the behavior of users!</p>
<p>It also exists in many other content reports, like the Landing Pages report and the Site Speed Page Timings report.</p>
<p>But who uses the standard reports these days? :) Analysis driven organisations use <a title="Understanding Google Analytics Custom Reports" href="http://cutroni.com/blog/2011/03/28/understanding-google-analytics-custom-reports/">Custom Reports</a> and <a title="New GA Feature: Custom Dashboards" href="http://cutroni.com/blog/2007/05/08/new-ga-feature-custom-dashboards/">Dashboards</a>. Let’s look at how you can use content groupings in both features.</p>
<h2>Custom Reports &amp; Dashboards with Content Groupings</h2>
<p>When you create a content grouping, Google Analytics will create a <a href="https://support.google.com/analytics/answer/1033861?hl=en" target="_blank">dimension</a> for each <strong>content grouping</strong>.</p>
<p>Remember, a content grouping contains a number of groups, and each group can contain a number of pages or screens.</p>
<div id="attachment_3659" style="width: 610px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-26-46.png"><img aria-describedby="caption-attachment-3659" loading="lazy" class="size-full wp-image-3659" alt="Each content grouping contains multiple content groups. A content group contains multiple pieces of content." src="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-26-46.png" width="600" height="323" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-26-46.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-26-46-300x161.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a><p id="caption-attachment-3659" class="wp-caption-text">Each content grouping contains multiple content groups. A content group contains multiple pieces of content.</p></div>
<p>This means that the values for the content grouping dimension will be all of the content <em>groups</em> that you created within that <em>grouping</em>.</p>
<p>You can create up to five content groupings in Google Analytics, therefore you could have five new dimensions, one for each content grouping.</p>
<p>Use the content grouping dimensions just like you would any other dimension. Here’s a simple custom report that shows some a potential content grouping for a blog.</p>
<div id="attachment_3706" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3706" loading="lazy" class="size-full wp-image-3706" alt="You can use your content groupings in a Google Analytics custom report." src="http://cutroni.com/blog/wp-content/uploads/2014-01-23_09-14-46.png" width="600" height="334" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-23_09-14-46.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-01-23_09-14-46-300x167.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3706" class="wp-caption-text">You can use your content groupings in a Google Analytics custom report.</p></div>
<p>Then, when you look at the report, you&#8217;ll see something like this:</p>
<div id="attachment_3726" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3726" loading="lazy" class="size-full wp-image-3726" alt="When you add a content grouping to a Google Analytics custom report, the data will be aggregated based on content group." src="http://cutroni.com/blog/wp-content/uploads/2014-01-24_11-08-08.png" width="600" height="267" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-24_11-08-08.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-01-24_11-08-08-300x133.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3726" class="wp-caption-text">When you add a content grouping to a Google Analytics custom report, the data will be aggregated based on content group.</p></div>
<p><strong>Note:</strong> I added this custom report to the Google Analytics solutions gallery. You can add it directly to your account <a href="http://troni.me/1jE9lXb">here</a>.</p>
<p>You can also use the content grouping dimension in your dashboards. Here is a very simple example using the page value metric and the content grouping dimension.</p>
<div id="attachment_3709" style="width: 473px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3709" loading="lazy" class="size-full wp-image-3709" alt="You can also use the Content Grouping dimension in a Google Analytics Custom Dashboard." src="http://cutroni.com/blog/wp-content/uploads/2014-01-23_09-39-23.png" width="463" height="331" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-23_09-39-23.png 463w, http://cutroni.com/blog/wp-content/uploads/2014-01-23_09-39-23-300x214.png 300w" sizes="(max-width: 463px) 100vw, 463px" /><p id="caption-attachment-3709" class="wp-caption-text">You can also use the Content Grouping dimension in a Google Analytics Custom Dashboard.</p></div>
<p>That’s really all there is to using content grouping in Google Analytics custom reports and custom dashboards. No go and give it a try!</p>
<p>One other note &#8211; the content grouping dimensions are <strong>hit</strong> level dimensions. This means that you can only use them with hit level metrics, like pageview, time on page, etc. You can not use them with session level metrics, like conversion rate, or revenue per visit.</p>
<h2>Content Grouping Strategies</h2>
<p>To really take advantage of content groupings you need to plan your content grouping carefully. You need to understand how your organization wants to analyze this data. So let’s look at a how different types of businesses might use content grouping.</p>
<p><strong><span style="text-decoration: underline;">Ecommerce: Patagonia.com</span></strong></p>
<p><a href="http://www.patagonia.com/">Patagonia</a> sells outdoor equipment for men, women and children. They’re known for their ethos that you should travel “fast and light” when in the outdoors &#8211; take only what you need. They’re also known for their <a href="http://www.patagonia.com/us/patagonia.go?assetid=2329">environmental advocacy</a>. They incorporate both of these messages into their marketing stories.</p>
<p>Effectively breaking down the content structure could help each department at Patagonia better understand their marketing initiatives and site optimization efforts.</p>
<p>So how might we create a content grouping strategy based on their business?</p>
<div id="attachment_3694" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3694" loading="lazy" class="size-full wp-image-3694" alt="Google Analytics Content Grouping can be used to organize the content on an ecommerce website." src="http://cutroni.com/blog/wp-content/uploads/2014-01-17_08-19-17.png" width="600" height="420" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-17_08-19-17.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-01-17_08-19-17-300x210.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3694" class="wp-caption-text">Google Analytics Content Grouping can be used to organize the content on an ecommerce website.</p></div>
<p><em><strong>Product pages:</strong></em> I would start by grouping all product pages together. It’s really important to understand what percentage of your users are making it to product pages. If people don’t look at product pages then they usually can’t buy something. And I&#8217;d take it one step further &#8211; group product pages by product line. I’d also be sure to differentiate category pages from the generic product pages.</p>
<div id="attachment_3695" style="width: 502px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3695" loading="lazy" class="size-full wp-image-3695" alt="You can mimic your product architecture with your content groupings." src="http://cutroni.com/blog/wp-content/uploads/2014-01-13_09-25-51.png" width="492" height="279" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-13_09-25-51.png 492w, http://cutroni.com/blog/wp-content/uploads/2014-01-13_09-25-51-300x170.png 300w" sizes="(max-width: 492px) 100vw, 492px" /><p id="caption-attachment-3695" class="wp-caption-text">You can mimic your product architecture with your content groupings.</p></div>
<p><em><strong>Special selling tools:</strong> </em>One cool feature that the Patagonia site has is the ‘kit builder&#8217;. This is a tool that let’s a customer build the best clothing combination for different conditions or activities. This is another section that could really use it’s own content group.</p>
<div id="attachment_3696" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3696" loading="lazy" class="size-full wp-image-3696" alt="Special shopping tools can be categorized in their own group." src="http://cutroni.com/blog/wp-content/uploads/2014-01-17_08-23-55.png" width="600" height="358" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-17_08-23-55.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-01-17_08-23-55-300x179.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3696" class="wp-caption-text">Special shopping tools can be categorized in their own group.</p></div>
<p><em><strong>Checkout pages:</strong></em> Next I’d group all checkout pages together. These are all the pages in your checkout process. The percentage of people that see checkout pages might be very small, but I like to put these pages in their own group. They’re not product related, and they’re not marketing related. So they need their own group.</p>
<p><em><strong>Account management pages:</strong></em> Many ecommerce sites let customers manage account settings, check the status of their order, manage returns, etc. I would lump all of these pages together in an Account Management group.</p>
<p><em><strong>Marketing pages:</strong></em> Now we get into a large chunk of the content &#8211; marketing pages. Patagonia has a lot of information about their brand, and initiatives. Rather than lump all of this together as just Marketing pages, I would actually break all of this up into groups based on the different initiatives.</p>
<p>In the case of Patagonia I would use all of these different groups that you can see in the navigation.</p>
<div id="attachment_3697" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3697" loading="lazy" class="size-full wp-image-3697" alt="Use a Google Analytics Content Grouping to categories marketing pages." src="http://cutroni.com/blog/wp-content/uploads/2014-01-13_09-23-48.png" width="600" height="386" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-13_09-23-48.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-01-13_09-23-48-300x193.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3697" class="wp-caption-text">Use a Google Analytics Content Grouping to categories marketing pages.</p></div>
<p><em><strong>Support pages:</strong></em> Business is all about relationships &#8211; and that’s represented by different types of support content. We can create a support group that containing any materials related to support. Again, you can create sub-groups for different types of support content (product support, order support, etc.)</p>
<p><em><strong>Error pages:</strong></em> I like to group all error pages into a single group, then I can drill into the group and view the specific errors. This group can contain all different kinds of errors, depending on your personal preference. It could be technical errors, like 404 or 502 errors. Or it could be more functional errors, like when a user adds an incorrect credit card number during their purchase.</p>
<p><strong><span style="text-decoration: underline;">Software as a Service: Mailchimp.com</span></strong></p>
<p><a href="mailchimp.com">Mailchimp</a> is a popular service that helps businesses manage their email marketing initiatives. Like all <a href="http://en.wikipedia.org/wiki/Software_as_a_service">SaaS</a> sites it’s primarily divided into two sections: a marketing section and an application section. The content grouping will mimic this general structure of content.</p>
<p><em><strong>Product marketing pages:</strong></em> If people are going to sign up for the Mailchimp service then they need to know about the features! Product marketing page are pages dedicated to product information, this includes information about price, features, etc.</p>
<div id="attachment_3701" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3701" loading="lazy" class="size-full wp-image-3701" alt="For a SaaS site, create groups for different kinds of marketing content." src="http://cutroni.com/blog/wp-content/uploads/2014-01-13_09-15-33.png" width="600" height="386" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-13_09-15-33.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-01-13_09-15-33-300x193.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3701" class="wp-caption-text">For a SaaS site, create groups for different kinds of marketing content.</p></div>
<p>In addition to specific product information, there’s also a lot of thought leadership material to help drive marketing.</p>
<p><em><strong>Marketing content pages:</strong></em> These pages are non-product marketing pages that help you demonstrate your thought leadership. It may be blog pages, or other content. In our example of mailchimp.com, there might be multiple groups. For example, they have a blog, but they also have a ton of research about email marketing. I would put this material in a marketing content group. Or even better, in the Reports group!</p>
<div id="attachment_3712" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3712" loading="lazy" class="size-full wp-image-3712" alt="I would create a Google Analytics content group for the research reports on the MailChimp site." src="http://cutroni.com/blog/wp-content/uploads/2014-01-23_09-51-20.png" width="600" height="282" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-23_09-51-20.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-01-23_09-51-20-300x141.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3712" class="wp-caption-text">I would create a Google Analytics content group for the research reports on the MailChimp site.</p></div>
<p><strong><em>Application pages:</em></strong> The other side to a SaaS site is the actual application. This is the section of the site where you log in and actually use the product. Like the marketing pages, there can be many different types of application pages. Let’s go back to our example of Mailchimp.com. I would break down the content based on product features.</p>
<p>Perhaps we could use the application navigation as a template for the content structure.</p>
<div id="attachment_3711" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3711" loading="lazy" class="size-full wp-image-3711" alt="You can create different groups for each part of the online application." src="http://cutroni.com/blog/wp-content/uploads/2014-01-13_09-23-08.png" width="600" height="386" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-13_09-23-08.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-01-13_09-23-08-300x193.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3711" class="wp-caption-text">You can create different groups for each part of the online application.</p></div>
<p><em><strong>Account management pages:</strong></em> Here’s another example of grouping different parts of the application together. We could easily group together the pages that control account management. And you can see from the image above that there are sections of the app dedicated to other functionality &#8211; all should be grouped accordingly.</p>
<p><em><strong>Error pages:</strong></em> Like other types of sites it’s a good idea to group all error pages together. See the ecommerce section above for more details. These groups can be both website errors or application errors &#8211; like a login error page.</p>
<p><strong><span style="text-decoration: underline;">Gaming Application: Clash of Clans</span></strong></p>
<p>We all use our mobile devices for incredibly important things, like waging medieval warfare on other clans! HA! Anyone out there like <a href="https://play.google.com/store/apps/details?id=com.supercell.clashofclans&amp;hl=en">Clash of the Clans</a>?</p>
<div id="attachment_3715" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3715" loading="lazy" class="size-full wp-image-3715" alt="You can categorize app content using Google Analytics Content Groupings." src="http://cutroni.com/blog/wp-content/uploads/photo-1.png" width="600" height="338" srcset="http://cutroni.com/blog/wp-content/uploads/photo-1.png 600w, http://cutroni.com/blog/wp-content/uploads/photo-1-300x169.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3715" class="wp-caption-text">You can categorize app content using Google Analytics Content Groupings.</p></div>
<p>In reality, gaming apps are very similar to other business models &#8211; like publishing and commerce. Some games generate revenue from in-game ads while others up-sell users on features, like new levels. Some do both. We can group games content together just like we do ecommerce.</p>
<p><strong><em>Game level screens:</em></strong> Most of the content for a game is probably level based. We can replicate this base structure in Google Analytics. If you&#8217;re a fan of Clash of the Clans then you there are other parts to the game in addition to levels. There are attack screens, chat windows, etc. All of these screens can be added to groups to roll-up the data.</p>
<p><em><strong>Ecommerce screens:</strong></em> These screens are used to sell the user on pay features. In the case of Clash of Clans you can buy more gems, which can then be used to purchase other items, like more armies!</p>
<div id="attachment_3717" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3717" loading="lazy" class="size-full wp-image-3717" alt="I would put all ecommerce app screens into a separate content group." src="http://cutroni.com/blog/wp-content/uploads/photo.jpg" width="600" height="338" srcset="http://cutroni.com/blog/wp-content/uploads/photo.jpg 600w, http://cutroni.com/blog/wp-content/uploads/photo-300x169.jpg 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3717" class="wp-caption-text">I would put all ecommerce app screens into a separate content group.</p></div>
<p><em><strong>Configuration screens:</strong></em> Most apps have a configuration section. This is where the user can change everything from the language, to colors, etc.</p>
<p><em><strong>Error screens:</strong></em> Last but not least we have error screens. Again, these can be technical app errors or functional errors, like login issues.</p>
<p><strong><span style="text-decoration: underline;">For Publishers: MarketingLand.com</span></strong></p>
<p>Let’s face it, content grouping was made for the publishing industry! They’re the ones that have to organize thousands of pages of content. I don&#8217;t want to dwell on publishing too much, but let&#8217;s take a look at <a href="http://marketingland.com/">MarketingLand.com</a>, a popular destination for anyone working in the digital marketing world.</p>
<p>I&#8217;ve actually written about how to customize google analytics for publishing sites in the posts <a href="http://cutroni.com/blog/2012/09/12/google-analytics-custom-variables-for-publishers/">Custom Variables for Publishers</a> and how to<a href="http://cutroni.com/blog/2012/02/21/advanced-content-tracking-with-google-analytics-part-1/"> measure how far users scroll down a page</a>. I think both of those techniques still apply.</p>
<p>But now, if you&#8217;re a publisher, you can also use content groupings to organize the data about your content. This provides one more way to roll up data for analysis.</p>
<p><strong><em>Content Category:</em></strong> Almost all publishers group content by category &#8211; and now this can be done with the content grouping feature.</p>
<div id="attachment_3723" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3723" loading="lazy" class="size-full wp-image-3723" alt="Publishers can create content groups based on the organization of their content." src="http://cutroni.com/blog/wp-content/uploads/2014-01-24_10-25-50.png" width="600" height="414" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-24_10-25-50.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-01-24_10-25-50-300x207.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3723" class="wp-caption-text">Publishers can create content groups based on the organization of their content.</p></div>
<p>Some publishing sites organize content in other ways, like by author or publication date. I would suggest creating content groups for topic categorization, and custom dimensions for any secondary organization (author, date, etc.)</p>
<p><strong><em>Account pages:</em></strong> Some publishers, like the <a href="http://nytimes.com" target="_blank">New York Times</a>, offer a premium membership service. This is not the case with MarketingLand.com. But, if it did have a member&#8217;s section, you could group all of those pages together.</p>
<p><em><strong>Error pages:</strong></em> Do I need to go over this again :)</p>
<p>I hope this post provides some inspiration for how you might use Content Grouping for your business. Ultimately how you organize your content groupings will be based on your organization. There is no right or wrong &#8211; just use a structure that is useful.</p>
<p>Questions or comment? Leave a note below &#8211; and happy grouping!</p>
]]></content:encoded>
					
					<wfw:commentRss>http://cutroni.com/blog/2014/01/24/use-google-analytics-content-groups/feed/</wfw:commentRss>
			<slash:comments>22</slash:comments>
		
		
			</item>
		<item>
		<title>How to Set Up Google Analytics Content Grouping</title>
		<link>http://cutroni.com/blog/2014/01/09/set-google-analytics-content-grouping/</link>
					<comments>http://cutroni.com/blog/2014/01/09/set-google-analytics-content-grouping/#comments</comments>
		
		<dc:creator><![CDATA[Justin Cutroni]]></dc:creator>
		<pubDate>Thu, 09 Jan 2014 13:30:26 +0000</pubDate>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tracking]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[content grouping]]></category>
		<category><![CDATA[google-analytics]]></category>
		<category><![CDATA[publisher]]></category>
		<category><![CDATA[setup]]></category>
		<guid isPermaLink="false">http://cutroni.com/blog/?p=3658</guid>

					<description><![CDATA[Today everyone is creating content &#8211; lots and lots of content. Measuring that content can be a challenge given the sheer volume that’s out there. That’s where Google Analytics Content Grouping can help. This feature let’s you categorize your content based on your own business rules. Then, rather than view your data based on page [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Today everyone is creating content &#8211; lots and lots of content. Measuring that content can be a challenge given the sheer volume that’s out there. That’s where Google Analytics Content Grouping can help.</p>
<p>This feature let’s you categorize your content based on your own business rules. Then, rather than view your data based on page URL or screen name, you can view based on your specific groups.</p>
<p>In this post I&#8217;m going to talk about how content grouping works and how you set it up.</p>
<h2>Key Vocabulary: Groupings and Groups</h2>
<p>There is a little terminology we need to cover before we get into the setup: groupings and groups. </p>
<p>You can create multiple <em>content groupings</em> in Google Analytics. </p>
<p>Within a grouping you can create multiple <em>content groups</em>. </p>
<p>A <em>group</em> is a collection of content. It could be pages in a certain section of your website. Or it might be screens from a certain part of your app. It can be just about anything.</p>
<p>A <em>grouping</em> is just a bunch of groups.</p>
<div id="attachment_3659" style="width: 610px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-26-46.png"><img aria-describedby="caption-attachment-3659" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-26-46.png" alt="Each content grouping contains multiple content groups. A content group contains multiple pieces of content." width="600" height="323" class="size-full wp-image-3659" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-26-46.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-26-46-300x161.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a><p id="caption-attachment-3659" class="wp-caption-text">Each content grouping contains multiple content groups. A content group contains multiple pieces of content.</p></div>
<p>You can create multiple content groupings in Google Analytics and switch between them in the reports. </p>
<p>Here’s an example. For my blog I created a grouping called Blog Content Categories. </p>
<p>Within that grouping I create a number of groups to categorize the different types of content on my blog. There’s a group for posts, a group for about me pages, a group for error pages, etc. In the configuration I created a rule that puts each page in a group based on the structure of the URL.</p>
<div id="attachment_3666" style="width: 610px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-49-26.png"><img aria-describedby="caption-attachment-3666" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-49-26.png" alt="You can view your content data based on groups, rather than URL, screen name or title." width="600" height="244" class="size-full wp-image-3666" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-49-26.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-49-26-300x122.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a><p id="caption-attachment-3666" class="wp-caption-text">You can view your content data based on groups, rather than URL, screen name or title.</p></div>
<p>Any item that is not added to a group will appear in the <code>(not set)</code> content group.</p>
<p>It’s important to know that there is not one specific report where you access this data. When you create a grouping it’s literally becomes a new dimension of data. You choose to view that dimension in almost all of the content reports.</p>
<p>Let’s take a look at how you actually create a grouping and groups.</p>
<h2>Creating Groupings &#038; Groups</h2>
<p>Google Analytics does not automatically create content groupings &#8211; you must configure the tool to do that. Navigate to the settings for a specific view and choose Content Groupings.</p>
<div id="attachment_3675" style="width: 610px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/2014-01-08_21-20-57.png"><img aria-describedby="caption-attachment-3675" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-01-08_21-20-57.png" alt="Content Grouping is a view level setting." width="600" height="225" class="size-full wp-image-3675" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-08_21-20-57.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-01-08_21-20-57-300x112.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a><p id="caption-attachment-3675" class="wp-caption-text">Content Grouping is a view level setting.</p></div>
<p>Here you will see a list of all your groupings. You can choose to create a new group or edit an existing group.</p>
<div id="attachment_3683" style="width: 610px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/2014-01-09_08-13-08.png"><img aria-describedby="caption-attachment-3683" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-01-09_08-13-08.png" alt="Here&#039;s a list of your Google Analytics content groupings. You can add or edit groupings here." width="600" height="236" class="size-full wp-image-3683" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-09_08-13-08.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-01-09_08-13-08-300x118.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a><p id="caption-attachment-3683" class="wp-caption-text">Here&#8217;s a list of your Google Analytics content groupings. You can add or edit groupings here.</p></div>
<p>There are three methods you can use to create a content group &#8211; let’s take a look at each.</p>
<p><strong>Tracking Code Method</strong></p>
<p>This method requires you to add a small piece of code to each page on your site or in your app. The code will literally set the name of the content group when the page or screen renders. Here’s how the code would look for Universal Analytics:<br />
<code><br />
ga('create', 'UA-XXXXXXXX-Y', 'example.com');<br />
ga('set', 'contentGroup5', 'Group Name');<br />
ga('send', 'pageview');<br />
</code></p>
<p>Or, if you’re working in iOS the code might look like this:</p>
<p><code>id tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXX-Y"];<br />
[tracker set:[GAIFields contentGroupForIndex:5]<br />
value:@"Group Name"];</code></p>
<p>The code for a content group is similar to the code for a <a href="http://cutroni.com/blog/2011/05/18/mastering-google-analytics-custom-variables/" title="Mastering Google Analytics Custom Variables">custom dimension</a>. You can set  5 content groups using the tracking code. Each group is associated with a number, one through five, as shown in the example above. </p>
<p>Check the <a href="https://support.google.com/analytics/answer/2853546?hl=en&#038;ref_topic=1727167">Google Analytics support documentation</a> for more code examples.</p>
<p>Basically this method let’s you suck in the group name, via code, from some other system. It might be a CMS, a <a href="http://cutroni.com/blog/2012/05/14/make-analytics-better-with-tag-management-and-a-data-layer/" title="Make Analytics Better with Tag Management and a Data Layer">data layer</a>, or just the HTML of the page. </p>
<p>The key is that you somehow add the name of the group to the Google Analytics code. </p>
<p><strong>Pros:</strong> Using the tracking code method you can use code to automatically adjust to changes in your content and new content groups.</p>
<p><strong>Cons:</strong> It requires IT involvement to set up. But once it’s configured very little IT support.</p>
<p>I should also mention that content grouping is coming to <a href="http://google.com/tagmanager">Google Tag Manager</a>. This will provide another way to programmatically set the content group &#8211; so stay tuned.</p>
<p><strong>Extraction Method</strong></p>
<p>The extraction method extracts (get it) the name of your content groups from an existing dimension of data. The idea is that you use a regular expression to parse the dimension and automatically extract the name of your group.</p>
<p>For example, the name of your content groups might be in the page title, like this:</p>
<div id="attachment_3660" style="width: 460px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-27-01.png"><img aria-describedby="caption-attachment-3660" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-27-01.png" alt="Your website might use the name of the content in the Page Title or Screen Name dimension." width="450" height="139" class="size-full wp-image-3660" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-27-01.png 450w, http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-27-01-300x92.png 300w" sizes="(max-width: 450px) 100vw, 450px" /></a><p id="caption-attachment-3660" class="wp-caption-text">Your website might use the name of the content in the Page Title or Screen Name dimension.</p></div>
<p>I would need to specify that my group name is in the Page Title dimension, and then provide a regular expression that extracts the appropriate value. </p>
<div id="attachment_3664" style="width: 790px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-05-12.png"><img aria-describedby="caption-attachment-3664" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-05-12.png" alt="The content grouping extract method will automatically pull the name for a content group from a dimension of data." width="780" height="280" class="size-full wp-image-3664" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-05-12.png 780w, http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-05-12-300x107.png 300w" sizes="(max-width: 780px) 100vw, 780px" /></a><p id="caption-attachment-3664" class="wp-caption-text">The content grouping extract method will automatically pull the name for a content group from a dimension of data.</p></div>
<p>For those of you that do not use regular expression, the value in the parenthesis will automatically be extracted. Google Analytics will then use the value as the group name.</p>
<p>You can see that this one rule will work for every product page on my site &#8211; as long as they are well formatted.</p>
<p><strong>Pros:</strong> No coding involved. Flexible collection.</p>
<p><strong>Cons:</strong> You might need to update your regular expressions when you add new content to your site or app. Specifically something that does not match your existing rules. Believe me &#8211; updating settings SUCKS. People forget to do it all the time.</p>
<p>In you’re new to regular expressions check out this <a href="https://support.google.com/analytics/answer/1034324?hl=en">reg ex tutorial</a> in the Google Analytics help center.</p>
<p><strong>Rules Method</strong></p>
<p>The rules method is almost exactly like the extract method. The ONLY difference is that you have to MANUALLY name the group. The value for the name is not automatically pulled from a dimension of data. </p>
<div id="attachment_3663" style="width: 610px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-10-31.png"><img aria-describedby="caption-attachment-3663" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-10-31.png" alt="The content grouping extract method will automatically pull the name for a content group from a dimension of data." width="600" height="183" class="size-full wp-image-3663" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-10-31.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-01-08_13-10-31-300x91.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a><p id="caption-attachment-3663" class="wp-caption-text">The content grouping extract method will automatically pull the name for a content group from a dimension of data.</p></div>
<p>Like the extract method you can create rules based on different dimensions of data- the page title, page url or the screen name. If the dimension value matches the rule then the content is added to the group.</p>
<p><strong>Pros:</strong> No coding. Don&#8217;t need to know regular expressions.</p>
<p><strong>Cons:</strong> You need to remember to update your rules when you add new content or if your site urls or app screen names change. Again &#8211; updating your analytics settings SUCKS. People forget to do it all the time.</p>
<p><strong>Which method should you use?</strong></p>
<p>That&#8217;s a tough question. Personally, I think page category is a critical piece of data that should be added to a page data layer. If you take this approach then using the tracking code method is very scalable.</p>
<p>I also like the extract method. It&#8217;s very flexible and reliable &#8211; as long as you have processes in place to maintain your implementation :)</p>
<h2>Important things to know</h2>
<p>Ok, so here are a few very important things to know.</p>
<p>You can use all three methods for creating groups within the same content grouping.</p>
<p>The grouping logic is applied to your data sequentially. That means that Google Analytics first applies the tracking code method first. Then it applies the extraction method. And finally it applies the rules method. You can use all three methods for your implementation.</p>
<p>When a page or screen matches a rule it is added to that group.</p>
<p>A page or screen can only be in <strong>ONE</strong> content group at a time! That means that an page or screen can only belong to one group at a time.</p>
<p>And finally, content groups are NOT applied to historical data. They are only applied from the moment you configure the feature.</p>
<h2>A Best Practice</h2>
<p>Because Google Analytics applies all grouping methods to your data, it is possible to use a combination of grouping methods.</p>
<p>But, because they they are applied SEQUENTIALLY, it&#8217;s a good idea to put your very specific grouping rules first, followed by your general rules. This way the later, general rules will catch anything that slips through the early, specific rules.</p>
<div id="attachment_3669" style="width: 610px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/2014-01-08_15-07-50.png"><img aria-describedby="caption-attachment-3669" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2014-01-08_15-07-50.png" alt="Content Group methods are applied sequentially." width="600" height="575" class="size-full wp-image-3669" srcset="http://cutroni.com/blog/wp-content/uploads/2014-01-08_15-07-50.png 600w, http://cutroni.com/blog/wp-content/uploads/2014-01-08_15-07-50-300x287.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a><p id="caption-attachment-3669" class="wp-caption-text">All three content grouping methods are applied to each piece of content. They are applied sequentially.</p></div>
<p>It&#8217;s really, really important to try and get your groups right the first time. While you can edit your groups, there is no way to change the data that has already been processed. </p>
<p>Make sure you test your groups first before announcing them to your entire team. </p>
<p>It&#8217;s also a good idea to add an <a href="https://plus.google.com/+justincutroni/posts/5Ux9caug36D">annotation</a> to Google Analytics so everyone knows when the data was added.</p>
<p>Ok, I think that&#8217;s it for how to implement this feature. </p>
<p>Don&#8217;t worry &#8211; I&#8217;ll explain how to use content groups in a couple of days.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://cutroni.com/blog/2014/01/09/set-google-analytics-content-grouping/feed/</wfw:commentRss>
			<slash:comments>57</slash:comments>
		
		
			</item>
		<item>
		<title>Dimension Widening: Import data directly into Google Analytics</title>
		<link>http://cutroni.com/blog/2013/10/30/dimension-widening-import-data-directly-into-google-analytics/</link>
					<comments>http://cutroni.com/blog/2013/10/30/dimension-widening-import-data-directly-into-google-analytics/#comments</comments>
		
		<dc:creator><![CDATA[Justin Cutroni]]></dc:creator>
		<pubDate>Wed, 30 Oct 2013 15:11:29 +0000</pubDate>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tracking]]></category>
		<category><![CDATA[Universal Analytics]]></category>
		<category><![CDATA[custom dimensions]]></category>
		<category><![CDATA[data integration]]></category>
		<category><![CDATA[Dimension widening]]></category>
		<category><![CDATA[google-analytics]]></category>
		<guid isPermaLink="false">http://cutroni.com/blog/?p=3620</guid>

					<description><![CDATA[There are lots of different ways to put data in Google Analytics. You can collect data from a website with JavaScript. You can collect data from an app using an SDK (Android or iOS). Or you can collect data from any network connected device using the measurement protocol. But there&#8217;s another way to add data [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>There are lots of different ways to put data in Google Analytics. You can collect data from a website with <a href="https://developers.google.com/analytics/devguides/collection/analyticsjs/" target="_blank">JavaScript</a>. You can collect data from an app using an SDK (<a href="https://developers.google.com/analytics/devguides/collection/android/v3/" target="_blank">Android</a> or <a href="https://developers.google.com/analytics/devguides/collection/ios/v3/" target="_blank">iOS</a>). Or you can collect data from any network connected device using the <a href="https://developers.google.com/analytics/devguides/collection/protocol/v1/" target="_blank">measurement protocol</a>. </p>
<p>But there&#8217;s another way to add data to Google Analytics &#8211; you can import data using a feature called Dimension Widening.</p>
<div id="attachment_3621" style="width: 600px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3621" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/DW-ga_imputs.png" alt="You can add data to Google Analytics a number of ways - including Dimension Widening." width="590" height="373" class="size-full wp-image-3621" srcset="http://cutroni.com/blog/wp-content/uploads/DW-ga_imputs.png 590w, http://cutroni.com/blog/wp-content/uploads/DW-ga_imputs-300x189.png 300w" sizes="(max-width: 590px) 100vw, 590px" /><p id="caption-attachment-3621" class="wp-caption-text">You can add data to Google Analytics a number of ways &#8211; including Dimension Widening.</p></div>
<p>With Dimension widening you can import additional dimensions and metrics directly into Google Analytics via a CSV upload or programmatically import data via an API.</p>
<p>Let&#8217;s take a look at how you might use Dimension Widening to augment the data in your account, and ultimately do better analysis.</p>
<h2>Why Add More Data?</h2>
<p>Analytics is more valuable when you can align the tool more closely with your business strategies and tactics. Adding additional data, like customer history, content publishing information, advertising cost data, etc. can help provide context to your data, thus making it easier to gauge performance and identify opportunities for improvements.</p>
<p>Adding additional data can also streamline your reporting (yes, basic reporting still happens) by consolidating all of your data in a single system that everyone has access to.</p>
<p>That&#8217;s where Dimension Widening comes in. </p>
<p>It is a mechanism to move data into Google Analytics.</p>
<h2>How Dimension Widening works</h2>
<p>You can upload two types of data to Google Analytics: Dimensions and Metrics.</p>
<p>A dimension is an attribute of a user or the sessions she creates. </p>
<p>A metric counts something &#8211; like time, money, clicks, etc.</p>
<p>When you use Dimension Widening you are uploading <em>values</em> for one or more dimensions or metrics.</p>
<p>You can upload values for existing dimensions/metrics or you can upload values for new dimensions/metrics that do not exist in Google Analytics.</p>
<p>When Google Analytics process the data it will join your custom data to the the existing data using something called a key.</p>
<p>The key binds your data, the data uploaded in a CSV file or sent programatically, to the Google Analytics data. When Google processes the custom data it will look at the value for the key, and then try to find the same value in the Google Analytics data.</p>
<p>If Google Analytics finds a matching keys then it will take the data in that row of the custom data and pull it into Google Analytics.</p>
<div id="attachment_3622" style="width: 608px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3622" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2013-10-25_16-21-21.png" alt="The key links your custom data to the data in Google Analytics." width="598" height="292" class="size-full wp-image-3622" srcset="http://cutroni.com/blog/wp-content/uploads/2013-10-25_16-21-21.png 598w, http://cutroni.com/blog/wp-content/uploads/2013-10-25_16-21-21-300x146.png 300w" sizes="(max-width: 598px) 100vw, 598px" /><p id="caption-attachment-3622" class="wp-caption-text">The key links your custom data to the data in Google Analytics.</p></div>
<p>There are four basic steps to configuring Dimensioning Widening.</p>
<p><strong>1. Identifying the data you want to import.</strong></p>
<p>Step one is really simple, identify the data that you want to add to Google Analytics. </p>
<p>Remember, you can import a value for any dimension or metric that currently exists in Google Analytics. OR you can import values for custom dimensions and custom metrics that are not normally found in GA &#8211; more on this below.</p>
<p>When choosing the data you want to import ask yourself this &#8211; what data to I need to understand the behavior of my users? How can I make my analytics life easier by consolidating data in Google Analytics?</p>
<p>You also need to define your key. This is obviously critical. If you can&#8217;t define a key then you can&#8217;t import data.</p>
<p><strong>2. Create the schema in Google Analytics.</strong></p>
<p>Once you define your key and the dimensions/metrics you want to import it&#8217;s time to add the schema to Google Analytics. Think of this step as telling Google Analytics how to interpret the CSV file (or data feed) that you will import.</p>
<p>Choose a property in the admin section, then choose Data import and Dimension Widening.  </p>
<div id="attachment_3624" style="width: 616px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/2013-10-25_16-42-39.png"><img aria-describedby="caption-attachment-3624" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2013-10-25_16-42-39-e1382967801125.png" alt="The Dimension Widening settings are in the Data Import section of a property." width="606" height="467" class="size-full wp-image-3624" /></a><p id="caption-attachment-3624" class="wp-caption-text">The Dimension Widening settings are in the Data Import section of a property.</p></div>
<p>To begin you need to name the data set you will import. You can actually upload multiple data sets (more on this later), so make sure you name it something very descriptive, like &#8220;Campaign Data&#8221; or &#8220;Content Information&#8221;.</p>
<p>Then choose the view where you would like the data applied.</p>
<div id="attachment_3625" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3625" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2013-10-14_14-38-20.png" alt="Every data set must have a name, and you must specify which views to apply the data to." width="600" height="329" class="size-full wp-image-3625" srcset="http://cutroni.com/blog/wp-content/uploads/2013-10-14_14-38-20.png 600w, http://cutroni.com/blog/wp-content/uploads/2013-10-14_14-38-20-300x164.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3625" class="wp-caption-text">Every data set must have a name, and you must specify which views to apply the data to.</p></div>
<p><strong>TIP:</strong> Dimension widening will permanently change the data in a reporting view! It’s a good idea to test your dimension widening on a TEST view before applying it to your main reporting view.</p>
<p>Now add the schema. First, add the key that you&#8217;ve defined for your data.</p>
<p>Next, specify the dimensions and metrics that you want to add.</p>
<div id="attachment_3626" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3626" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2013-10-14_14-38-59.png" alt="You must enter a schema into Google Analytics. Add the key along with the dimensions you would like to widen." width="600" height="380" class="size-full wp-image-3626" srcset="http://cutroni.com/blog/wp-content/uploads/2013-10-14_14-38-59.png 600w, http://cutroni.com/blog/wp-content/uploads/2013-10-14_14-38-59-300x190.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3626" class="wp-caption-text">You must enter a schema into Google Analytics. Add the key along with the dimensions you would like to widen.</p></div>
<p>Here&#8217;s something cool &#8211; as you choose your key and dimensions Google Analytics will automatically show you the column headings that you will need to add to your CSV file. </p>
<div id="attachment_3642" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3642" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/Schema2-e1383142106706.png" alt="As you add your schema Google Analytics will provide the column headers for your CSV file." width="600" height="381" class="size-full wp-image-3642" /><p id="caption-attachment-3642" class="wp-caption-text">As you add your schema Google Analytics will provide the column headers for your CSV file.</p></div>
<p>Notice that they&#8217;re not the names that appear in the drop down boxes. They&#8217;re the dimension/metric names that are used in the API. Fear not &#8211; you don&#8217;t need to understand what they mean.</p>
<p><strong>3. Build your CSV file.</strong></p>
<p>Once you finish defining your schema choose save.</p>
<p>You&#8217;ll be presented with two options: get more details of your CSV file OR get an API key to upload your data programatically. Let&#8217;s focus on the Get Schema option.</p>
<div id="attachment_3645" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3645" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2013-10-30_10-26-35.png" alt="Once you define your dimension widening schema you can download a CSV template or get an API key." width="600" height="184" class="size-full wp-image-3645" srcset="http://cutroni.com/blog/wp-content/uploads/2013-10-30_10-26-35.png 600w, http://cutroni.com/blog/wp-content/uploads/2013-10-30_10-26-35-300x92.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3645" class="wp-caption-text">Once you define your dimension widening schema you can download a CSV template or get an API key.</p></div>
<p>Click the Get Schema button.</p>
<p>This window contains some really useful information. First, a list of the column headers that you need to add to your CSV file. This includes your key and all the other dimensions that you are adding to Google Analytics.</p>
<p>There&#8217;s also a way to download a CSV template for your specific data. The template is just an Excel file with the headers added to the first row.</p>
<div id="attachment_3643" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3643" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/Schema1.png" alt="Google Analytics will provide the column headers for your CSV and provide a CSV template that you can fill with your data." width="600" height="381" class="size-full wp-image-3643" srcset="http://cutroni.com/blog/wp-content/uploads/Schema1.png 600w, http://cutroni.com/blog/wp-content/uploads/Schema1-300x190.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3643" class="wp-caption-text">Google Analytics will provide the column headers for your CSV and provide a CSV template that you can fill with your data.</p></div>
<p><strong>4. Upload your CSV file or Send Data via API</strong></p>
<p>Remember, there are two ways to add your data &#8211; via an API or manually via a file upload process. Let&#8217;s focus on the later &#8211; the file upload.</p>
<p>This isn&#8217;t too complicated, just click upload :) Once the file is uploaded Google Analytics will widen your data as it is processed. </p>
<div id="attachment_3627" style="width: 748px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/2013-10-14_14-41-17.png"><img aria-describedby="caption-attachment-3627" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2013-10-14_14-41-17.png" alt="You can check on the processing of your data using the Refresh button." width="738" height="369" class="size-full wp-image-3627" srcset="http://cutroni.com/blog/wp-content/uploads/2013-10-14_14-41-17.png 738w, http://cutroni.com/blog/wp-content/uploads/2013-10-14_14-41-17-300x150.png 300w" sizes="(max-width: 738px) 100vw, 738px" /></a><p id="caption-attachment-3627" class="wp-caption-text">You can check on the processing of your data using the Refresh button.</p></div>
<p><strong>NOTE:</strong> when you use Dimension Widening the data you import is NOT applied to historical data. Your data is only applied going <em>forward</em>.</p>
<p>I find that GA can process the file <em>very</em> fast (minutes). You may want to refresh your list often to determine if the new data has been added.</p>
<p>That&#8217;s it! That&#8217;s the basic process. </p>
<p>But you probably want to use Dimension Widening to import custom data, not data that&#8217;s already in Google Analytics. Let&#8217;s take a look at how to do that.</p>
<h2>How to add Custom Data</h2>
<p>You can also add custom dimensions and custom metrics to Google Analytics via dimension widening. The process is almost exactly the same. The only difference is that you must first define your custom dimensions or metrics in the Google Analytics admin section.</p>
<div id="attachment_3628" style="width: 384px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3628" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2013-10-14_14-35-36.png" alt="To upload a dimension or metric that does not exist in Google Analytics you must first define those custom dimensions or metrics." width="374" height="241" class="size-full wp-image-3628" srcset="http://cutroni.com/blog/wp-content/uploads/2013-10-14_14-35-36.png 374w, http://cutroni.com/blog/wp-content/uploads/2013-10-14_14-35-36-300x193.png 300w" sizes="(max-width: 374px) 100vw, 374px" /><p id="caption-attachment-3628" class="wp-caption-text">To upload a dimension or metric that does not exist in Google Analytics you must first define those custom dimensions or metrics.</p></div>
<p>There&#8217;s not a lot of configuration here. Just give your dimension a name and choose a scope. </p>
<p><strong>NOTE:</strong> You can only widen between dimensions and metrics of same scope. For example, you can&#8217;t widen from user scope Key to Hit scope dimensions. Check out this (somewhat old) <a href="http://cutroni.com/blog/2011/05/18/mastering-google-analytics-custom-variables/" target="_blank">article on Custom Variables</a> to learn more about scope.</p>
<p>That&#8217;s it. Now you can choose these custom dimensions (or metrics) when you add your schema for Dimension Widening.</p>
<div id="attachment_3629" style="width: 610px" class="wp-caption aligncenter"><a href="http://cutroni.com/blog/wp-content/uploads/2013-10-28_09-03-25.png"><img aria-describedby="caption-attachment-3629" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2013-10-28_09-03-25.png" alt="Once you define a custom piece of data it will be available in the Custom Data schema interface." width="600" height="405" class="size-full wp-image-3629" srcset="http://cutroni.com/blog/wp-content/uploads/2013-10-28_09-03-25.png 600w, http://cutroni.com/blog/wp-content/uploads/2013-10-28_09-03-25-300x202.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a><p id="caption-attachment-3629" class="wp-caption-text">Once you define a custom piece of data it will be available in the Custom Data schema interface.</p></div>
<p>Then create your CSV file with the correct headers and upload your data.</p>
<p><strong>Note:</strong> Custom Dimension and metrics are only available in Google Analytics customizations &#8211; this includes <a href="http://cutroni.com/blog/2011/03/28/understanding-google-analytics-custom-reports/" target="_blank">custom reports</a>, <a href="http://cutroni.com/blog/2013/07/16/google-analytics-segmentation/" target="_blank">custom segments</a> and <a href="https://support.google.com/analytics/answer/1068216?hl=en" target="_blank">dashboards</a>. They can also be used in certain analysis tools, like <a href="https://support.google.com/analytics/answer/1010056?hl=en" target="_blank">secondary dimensions</a>.</p>
<h2>An Example: Uploading simple publisher data</h2>
<p>Let&#8217;s say I&#8217;m a publisher. I want to add the publication year, author for each article. My key to join my data with GA data is the URL of each page. I already defined two custom dimensions, one for page publication year and one for page author.</p>
<p>I&#8217;m going to define my data schema in Google Analytics.</p>
<div id="attachment_3631" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3631" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2013-10-28_08-58-16.png" alt="Defining a custom data in your dimensions widening schema." width="600" height="309" class="size-full wp-image-3631" srcset="http://cutroni.com/blog/wp-content/uploads/2013-10-28_08-58-16.png 600w, http://cutroni.com/blog/wp-content/uploads/2013-10-28_08-58-16-300x154.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3631" class="wp-caption-text">Defining a custom data in your dimensions widening schema.</p></div>
<p>Now I build my CSV file using the correct headers for my key and dimensions that I would like to widen.</p>
<div id="attachment_3630" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3630" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2013-10-28_08-56-47.png" alt="A sample CSV file with custom dimensions." width="600" height="329" class="size-full wp-image-3630" srcset="http://cutroni.com/blog/wp-content/uploads/2013-10-28_08-56-47.png 600w, http://cutroni.com/blog/wp-content/uploads/2013-10-28_08-56-47-300x164.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3630" class="wp-caption-text">A sample CSV file with custom dimensions.</p></div>
<p>Next I upload my file&#8230;</p>
<p>And finally, I have data in my custom dimensions. Here I can see the data in a Custom Report.</p>
<div id="attachment_3632" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3632" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/2013-10-28_09-00-39.png" alt="Custom Dimensions can be used in a Custom Report, Unified segment or other customization features." width="600" height="244" class="size-full wp-image-3632" srcset="http://cutroni.com/blog/wp-content/uploads/2013-10-28_09-00-39.png 600w, http://cutroni.com/blog/wp-content/uploads/2013-10-28_09-00-39-300x122.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3632" class="wp-caption-text">Custom Dimensions can be used in a Custom Report, Unified segment or other customization features.</p></div>
<h2>Best Practices for Managing CSV files</h2>
<p>You might want to widen your data based on multiple keys. For example, you might want to widen your product data (using the product ID as a key) and your campaign data (using campaign name as a key).</p>
<p>In this case you&#8217;ll need to define two different schemas and upload two different CSV files. Make sure you name them something logical!</p>
<p>Another thing to consider is when to update your CSV files. </p>
<p>For example, let&#8217;s say that you&#8217;re a publisher, and you&#8217;re uploading new data about your content. But you&#8217;re publishing new content every day. And probably multiple times a day. You would need to upload a new CSV file every time you publish content. This is too manual. In case you probably want to consider a programmatic solution. </p>
<p>Use the CSV file for things that do not change often. Use the API for things that change a lot!</p>
<h2>What about JavaScript and real-time collection?</h2>
<p>Given my previous example, you may be asking yourself, &#8220;can&#8217;t I just collect custom data in real-time using JavaScript?&#8221;</p>
<p>Absolutely! </p>
<p>You could do something fancy, like add the data to a <a href="http://cutroni.com/blog/2012/05/14/make-analytics-better-with-tag-management-and-a-data-layer/">data layer</a>, then pull it into some custom dimensions. No problem!</p>
<p>The point is that you don&#8217;t always have the time or the IT resource to implement the data collection. Even if you use a cool technology like <a href="http://cutroni.com/blog/2012/10/01/all-about-google-tag-manager/">tag management</a>, it may be that the data you want to add comes from an isolated system. And that it would take too much effort to transport the data from it&#8217;s home all the way to the web server.</p>
<p>Dimension widening can be seen as a somewhat faster, less IT intensive way of joining your data together. </p>
<h2>Things to be aware of…</h2>
<p>Ok, a few things that you need to be aware of when using Dimension widening.</p>
<p>1. Your data is NOT applied to historical data. Your data is only applied going <em>forward</em>.</p>
<p>2. You can NOT widen on ALL dimensions. You can NOT widen on the following dimensions:</p>
<ul>
<li>custom variables</li>
<li>product dimensions and metrics</li>
<li>campaign dimensions</li>
<li>time-based dimensions (hour, minute, etc)</li>
<li>geo-dimensions (country, city, etc)</li>
</ul>
<p>3. If you would like to expand your dimensions and populate Custom Dimensions you MUST use <a href="http://cutroni.com/blog/2013/07/02/how-universal-analytics-will-drive-strategic-marketing/">Universal Analytics</a>. The reason is that Custom Dimensions only exist in Universal Analytics. They do not exist in the previous version of Google Analytics. </p>
<p>4. You can not change a schema once it has been entered into Google Analytics. You must delete the schema and then define your new schema. </p>
<p>I know some of these caveats may seem limiting, but remember, this is just the <em>initial</em> version. I know the team is working hard to expand the functionality.</p>
<p>Do you think you will use Dimension widening? If so how? Feel free to share your examples below!</p>
]]></content:encoded>
					
					<wfw:commentRss>http://cutroni.com/blog/2013/10/30/dimension-widening-import-data-directly-into-google-analytics/feed/</wfw:commentRss>
			<slash:comments>43</slash:comments>
		
		
			</item>
		<item>
		<title>Bye Bye JavaScript! Auto Event Tracking with Google Tag Manager</title>
		<link>http://cutroni.com/blog/2013/10/07/auto-event-tracking-with-google-tag-manager/</link>
					<comments>http://cutroni.com/blog/2013/10/07/auto-event-tracking-with-google-tag-manager/#comments</comments>
		
		<dc:creator><![CDATA[Justin Cutroni]]></dc:creator>
		<pubDate>Tue, 08 Oct 2013 02:42:57 +0000</pubDate>
				<category><![CDATA[Tag Management]]></category>
		<category><![CDATA[auto-event tracking]]></category>
		<category><![CDATA[click tracking]]></category>
		<category><![CDATA[Event Tracking]]></category>
		<category><![CDATA[form tracking]]></category>
		<category><![CDATA[google tag manager]]></category>
		<category><![CDATA[GTM]]></category>
		<category><![CDATA[pdf tracking]]></category>
		<category><![CDATA[tag management]]></category>
		<guid isPermaLink="false">http://cutroni.com/blog/?p=3550</guid>

					<description><![CDATA[Implementing analytics, or any type of conversion tracking, is a big pain in the ass. There, I said it! But it&#8217;s been getting easier and easier with adoption of Tag Management tools. Google Tag Manager is going to make it even easier with the introduction of a new feature called Auto Event Tracking. Auto Event [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Implementing analytics, or any type of conversion tracking, is a big pain in the ass. There, I said it! But it&#8217;s been getting easier and easier with adoption of Tag Management tools. Google Tag Manager is going to make it even easier with the introduction of a new feature called Auto Event Tracking.</p>
<p>Auto Event Tracking let&#8217;s you track almost any user action without any additional JavaScript. It automatically captures user actions like clicks and form submissions.</p>
<p>TL;DR: watch this video.</p>
<p><iframe width="420" height="315" src="//www.youtube.com/embed/vli0AtMTuQA" frameborder="0" allowfullscreen></iframe></p>
<p><em>For all you Google Analytics users, this means that it is no longer necessary to add JavaScript to track PDF downloads, outbound links or other user clicks. Those tasks, and many others, can be automated with Google Tag Manager.</em> </p>
<p>I know &#8211; it&#8217;s exciting! Less coding = faster data collection = more reliable data quality = better insights.</p>
<p>There are a number of new additions to GTM that make auto-event tracking possible. Let&#8217;s take a look at how the system has changed to make this possible.</p>
<h2>How Auto-Event tracking works</h2>
<p>Here&#8217;s a brief overview of how the new auto-event tracking works.</p>
<div id="attachment_3594" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3594" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/Screen-Shot-2013-09-30-at-10.45.44-AM.png" alt="Listen, Capture Collect. How the Auto-event tracking works for Google Tag Manager." width="600" height="200" class="size-full wp-image-3594" srcset="http://cutroni.com/blog/wp-content/uploads/Screen-Shot-2013-09-30-at-10.45.44-AM.png 600w, http://cutroni.com/blog/wp-content/uploads/Screen-Shot-2013-09-30-at-10.45.44-AM-300x100.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3594" class="wp-caption-text">Listen, Capture Collect. How the Auto-event tracking works for Google Tag Manager.</p></div>
<p>1. Listen: A new type of tag, called an Event Listener tag, will <strong>listen</strong> for different types of user actions, like clicks or form submissions.</p>
<p>2. Capture: When the Event Listener tag detects an action it identifies it and <strong>captures</strong> it (technically it pushes a Google Tag Manager event onto the data layer).</p>
<p>3. Collect: You can then automatically <strong>collect</strong> the action using additional tags, like an analytics tag. </p>
<p>Remember, this all happens without any additional coding. All you need to do is add the necessary settings in GTM.</p>
<p>There are three new pieces of functionality that make this possible: </p>
<p>1. The new Google Tag Manager Event Listener tag. </p>
<p>2. New events that indicate a user action has occurred. </p>
<p>3. New macros that collect information about the user&#8217;s interaction with the content. </p>
<h2>The Event Listener Tag &#038; Automatic Events</h2>
<p>Let&#8217;s start with the new tag, called The Event Listener tag. This is a special tag that &#8211; wait for it &#8211; listens for a user action on a page :)</p>
<p>When the tag detects an action it automatically collects the action and identifies it. From a technical perspective is pushes a Google Tag Manager event to the data layer.</p>
<p>There are four different types of user actions that the tag can detect. Again, each action results in a Google Tag Manager event.</p>
<p><strong>Click listener:</strong> this tag will listen for clicks on a page. This includes button clicks, link clicks, image clicks, etc. When a click occurs, the Google Tag Manager event <code>gtm.click</code> is automatically generated.</p>
<p><strong>Form listener:</strong> this tag will listen for any form submissions. When a form submission occurs the Google Tag Manager event <code>gtm.formSubmit</code> is automatically generated.</p>
<p><strong>Link click listener:</strong> same as the click listener, except it only captures clicks on links. When a link is clicked, the Google Tag Manager event <code>gtm.linkClick</code> is automatically generated.</p>
<p><strong>Timer listener:</strong> the timer listener will collect data at some regular interval that you specify. For example, if you specify an interval of 10,000 milliseconds, GTM will fire an event every 10 seconds.</p>
<p>Obviously, if you want to automatically listen for user actions you must include one of the above tags on the page where you would like to capture the user action.</p>
<p>For example, let&#8217;s say you want to capture clicks on outbound links (this means links to other websites). Chances are you have outbound links on all of your pages. So you should add the Link Click listener tag to all pages of your site. </p>
<p>Remember, to add a tag you need to specify a rule that governs when the tag is added to a page. Here&#8217;s the default rule to add a tag to all the pages on your site.</p>
<div id="attachment_3559" style="width: 616px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3559" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/GTM_All-pages-rule.png" alt="Use the GTM All Pages rule to add a common event listener to every page on your site." width="606" height="163" class="size-full wp-image-3559" srcset="http://cutroni.com/blog/wp-content/uploads/GTM_All-pages-rule.png 606w, http://cutroni.com/blog/wp-content/uploads/GTM_All-pages-rule-300x80.png 300w" sizes="(max-width: 606px) 100vw, 606px" /><p id="caption-attachment-3559" class="wp-caption-text">Use the GTM All Pages rule to add a common event listener to every page on your site.</p></div>
<p>But let&#8217;s say you want to capture a form submission, like a contact form. There really isn&#8217;t any need to include that tag on all of your site pages. So you can create a rule to add the tag to just your form page, like this:</p>
<div id="attachment_3560" style="width: 611px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3560" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/GTM_Payment_page_url_rule.png" alt="To control the form listener tag, restrict the placement with a rule." width="601" height="150" class="size-full wp-image-3560" srcset="http://cutroni.com/blog/wp-content/uploads/GTM_Payment_page_url_rule.png 601w, http://cutroni.com/blog/wp-content/uploads/GTM_Payment_page_url_rule-300x74.png 300w" sizes="(max-width: 601px) 100vw, 601px" /><p id="caption-attachment-3560" class="wp-caption-text">To control the form listener tag, restrict the placement with a rule.</p></div>
<p>The new Events are important because they identify that an action has happened. I&#8217;ve got some example below.</p>
<h2>Understanding the New Auto Event Macros</h2>
<p>In addition to the new tags &#038; events there are also a number of new macros that help collect the action that occurred.</p>
<p>A macro is a piece of data that you can use in your tags. Some macros are automatically populated, like the url macro (which is the url of the page), the hostname macro (which is the hostname of the site), or the referrer macro (which is the HTTP referrer). </p>
<p>With the Auto Event Tracking macros you can automatically add data about the element the user interacted with to your analytics tag (or any other tag).</p>
<p>There are five new macros that can provide elements information:</p>
<p><strong>Element url:</strong> This macro stores the value of the <code>href</code> or <code>action</code> attribute of the element that triggered the event. For example, a click on the link <code>< a href="http://www.cutroni.com">Analytics Talk< /a></code> would result in an value of <code>http://www.cutroni.com</code>. </p>
<p><strong>Element target:</strong> This macro stores the value of the <code>target</code> attribute of the element that triggered the event.  Nerd Bonus: The value is stored in the  <code>gtm.elementTarget</code> variable in the data layer. </p>
<p><strong>Element id:</strong>This macro is the value of the <code>id</code> attribute of the element that triggered the event. For example, a click on the link <code>< a href="http://www.cutroni.com" id="outbound_link">Analytics Talk< /a></code> would result in an element id value of <code>outbound_link</code>. Nerd Bonus: The value is stored in the <code>gtm.elementId</code> variable in the data layer. </p>
<p><strong>Element classes:</strong> This macro is the value of the class attribute of the element that triggered the event. Nerd Bonus The value is stored in the <code>gtm.elementClasses</code> variable in the data layer. </p>
<p><strong>Element:</strong> This macro is also the value of the <code>action</code> or <code>href</code> attribute of the element that triggered the event.</p>
<p>Let&#8217;s put this all together and look at some of the common analytics tracking tasks you can implement with data layer.</p>
<h2>Tracking Clicks</h2>
<p>Sometimes we need to track user clicks &#8211; a click on a button, image or link. Before Auto Event Tracking we would need to add extra JavaScript to the site in order to fire analytics code. Now we just use the  Click Listener tag to detect a click. </p>
<p>Let&#8217;s walk through how to track ALL clicks on a page and capture them with a Google Analytics event.</p>
<p>First, add the Click Listener tag to the necessary pages. You can add it to all pages, or just a select few. It depends on what you need to track.</p>
<div id="attachment_3569" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3569" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/GTM_Click-Listener-Tag.png" alt="The Click Listener tag will listen for user clicks and execute when a click is detected." width="600" height="328" class="size-full wp-image-3569" srcset="http://cutroni.com/blog/wp-content/uploads/GTM_Click-Listener-Tag.png 600w, http://cutroni.com/blog/wp-content/uploads/GTM_Click-Listener-Tag-300x164.png 300w" sizes="(max-width: 600px) 100vw, 600px" /><p id="caption-attachment-3569" class="wp-caption-text">The Click Listener tag will listen for user clicks and execute when a click is detected.</p></div>
<p>Next, we add our Google Analytics tag to execute, and thus collect, when the click happens. Notice that I am hard-coding the Event Category to be <code>click</code> but the Action and Value will be dynamically populated with data from the HTML element that the user clicked on.</p>
<div id="attachment_3571" style="width: 563px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3571" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/GTM_UA-event-on-auto-click.png" alt="We can use a GTM macro to automatically capture the HTML element that the user clicked on." width="553" height="442" class="size-full wp-image-3571" srcset="http://cutroni.com/blog/wp-content/uploads/GTM_UA-event-on-auto-click.png 553w, http://cutroni.com/blog/wp-content/uploads/GTM_UA-event-on-auto-click-300x239.png 300w" sizes="(max-width: 553px) 100vw, 553px" /><p id="caption-attachment-3571" class="wp-caption-text">We can use a GTM macro to automatically capture the HTML element that the user clicked on.</p></div>
<p>The value of the action is capturing the generic name of the HTML element. This might be <code>[object HTMLInputElement]</code> for a form element or <code>[object HTMLBodyElement]</code> for the body of the page. These are fairly descriptive and can help you understand what happened.</p>
<p>But a better strategy would be to capture the <code>element class</code> or <code>element id</code>. These are usually more descriptive.</p>
<p>Here&#8217;s the rule that determines when to acctualy collect the click. Basically it will collect EVERY click on the page using a Google Analytic event. We&#8217;ll look at a few examples later that will restrict the collection to only certain elements.</p>
<div id="attachment_3572" style="width: 583px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3572" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/GTM_auto-event-click-rule.png" alt="The gtm.click event indicates that a user clicked on something. This causes the Google Analytics tag to fire." width="573" height="262" class="size-full wp-image-3572" srcset="http://cutroni.com/blog/wp-content/uploads/GTM_auto-event-click-rule.png 573w, http://cutroni.com/blog/wp-content/uploads/GTM_auto-event-click-rule-300x137.png 300w" sizes="(max-width: 573px) 100vw, 573px" /><p id="caption-attachment-3572" class="wp-caption-text">The gtm.click event indicates that a user clicked on something. This causes the Google Analytics tag to fire.</p></div>
<p>I should note that this approach will NOT work for content that is in an iFrame. For example, if you embed a YouTube video in your page, you can not capture clicks on the buttons, etc.</p>
<p>Using this general approach can generate a lot of data &#8211; crappy data! Let&#8217;s look at reducing the amount of data by tracking certain types of clicks.</p>
<h2>Tracking Outbound Links</h2>
<p>We all want to know where people go after they visit our site. Did they leave using a link in an article or did they just navigate away?</p>
<p>To track a click on an outbound link we follow the same general process we outlined above. The big difference is we need to make sure we only track clicks on links that go to another site.</p>
<p>First, we add the Link Click Listener tag to the necessary pages. Because there usually outbound links on every page, I apply the Link Click Listener tag to every page on the site.</p>
<div id="attachment_3578" style="width: 604px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3578" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/GTM_link-click-listener-tag.png" alt="The Link Click Listener tag will listen for user clicks on links." width="594" height="325" class="size-full wp-image-3578" srcset="http://cutroni.com/blog/wp-content/uploads/GTM_link-click-listener-tag.png 594w, http://cutroni.com/blog/wp-content/uploads/GTM_link-click-listener-tag-300x164.png 300w" sizes="(max-width: 594px) 100vw, 594px" /><p id="caption-attachment-3578" class="wp-caption-text">The Link Click Listener tag will listen for user clicks on links.</p></div>
<p>Now we need to add an analytics tag to collect data when a click happens. Let&#8217;s use Google Analytics and collect the data in an event! Notice that I am hard-coding the Event Category value to <code>outbound-link</code>. </p>
<p>The Event Action will be dynamically filled with the destination URL. That&#8217;s the URL of the page the user will land on. This is all made possible thanks to the <code>element url</code> macro.</p>
<div id="attachment_3579" style="width: 600px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3579" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/GTM_analytics-outbound-link-event.png" alt="The element url macro will automatically add the destination url to the Google Analytics event." width="590" height="502" class="size-full wp-image-3579" srcset="http://cutroni.com/blog/wp-content/uploads/GTM_analytics-outbound-link-event.png 590w, http://cutroni.com/blog/wp-content/uploads/GTM_analytics-outbound-link-event-300x255.png 300w" sizes="(max-width: 590px) 100vw, 590px" /><p id="caption-attachment-3579" class="wp-caption-text">The element url macro will automatically add the destination url to the Google Analytics event.</p></div>
<p>Here&#8217;s the important part &#8211; the tag rule. Notice that there are two parts to the rule. First I need to check for clicks on links. But I also added an additional condition that stipulates the link must not match <code>cutroni</code>, which is the domain of this blog. Now the Google Analytics tag will only fire and collect the click if the link is to a different domain.</p>
<div id="attachment_3577" style="width: 528px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3577" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/GTM_outbound-link-click-rule.png" alt="Add a rule to specify what is an outbound link clicks on your site." width="518" height="225" class="size-full wp-image-3577" srcset="http://cutroni.com/blog/wp-content/uploads/GTM_outbound-link-click-rule.png 518w, http://cutroni.com/blog/wp-content/uploads/GTM_outbound-link-click-rule-300x130.png 300w" sizes="(max-width: 518px) 100vw, 518px" /><p id="caption-attachment-3577" class="wp-caption-text">Add a rule to specify what is an outbound link clicks on your site.</p></div>
<h2>Tracking file downloads</h2>
<p>File downloads are very similar to outbound link clicks. I just use a different Listener tag.</p>
<p>Let&#8217;s just skip to the analytics tag that will collect the data. </p>
<p>I&#8217;m using a Google Analytics event again. The category is hard coded as <code>file-download</code>. The event action will be the URL of the file and it will be dynamically populated using the <code>element url</code> macro.</p>
<div id="attachment_3575" style="width: 614px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3575" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/GTM_file-download-GA-event.png" alt="The element url macro will automatically add the PDF url to the Google Analytics event data." width="604" height="502" class="size-full wp-image-3575" srcset="http://cutroni.com/blog/wp-content/uploads/GTM_file-download-GA-event.png 604w, http://cutroni.com/blog/wp-content/uploads/GTM_file-download-GA-event-300x249.png 300w" sizes="(max-width: 604px) 100vw, 604px" /><p id="caption-attachment-3575" class="wp-caption-text">The element url macro will automatically add the PDF url to the Google Analytics event data.</p></div>
<p>Just like I did with the outbound link tracking, I need to modify the rule to include a condition. The condition specifies that the user clicked on a link that contains <code>.pdf</code>.</p>
<div id="attachment_3574" style="width: 542px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3574" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/GTM_pdf-link-click.png" alt="To track a PDF link click add a condition to your tag firing rule." width="532" height="198" class="size-full wp-image-3574" srcset="http://cutroni.com/blog/wp-content/uploads/GTM_pdf-link-click.png 532w, http://cutroni.com/blog/wp-content/uploads/GTM_pdf-link-click-300x111.png 300w" sizes="(max-width: 532px) 100vw, 532px" /><p id="caption-attachment-3574" class="wp-caption-text">To track a PDF link click add a condition to your tag firing rule.</p></div>
<p>Hopefully you can use this example and track clicks on any type of file that you want.</p>
<h2>Tracking Form Submissions</h2>
<p>Now let&#8217;s move on to forms. You could track a form using the Click listener tag. Basically you would track all of the clicks on the Submit button. But the form </p>
<p>We start with the Form Submission listener tag. Rather than add this tag to every page on the site, I like to only add it to pages where there is a form.</p>
<div id="attachment_3602" style="width: 606px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3602" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/GTM_form_listener_settings.png" alt="The form listener tag can be configured to delay the form submission while data is collected." width="596" height="465" class="size-full wp-image-3602" srcset="http://cutroni.com/blog/wp-content/uploads/GTM_form_listener_settings.png 596w, http://cutroni.com/blog/wp-content/uploads/GTM_form_listener_settings-300x234.png 300w" sizes="(max-width: 596px) 100vw, 596px" /><p id="caption-attachment-3602" class="wp-caption-text">The form listener tag can be configured to delay the form submission while data is collected.</p></div>
<p>ALso notice that you can configure the form listener tag to delay the form submission to insure that the data is collected.</p>
<p>The tag will delay the form for up to two seconds only. Anything longer than that will create a bad user experience. GTM is smart like that :)</p>
<p>Just like the click tracking, there is also a form-submit event that will be generated when a user submits the form. We use this event to set up our analytics tag with a rule to control the execution.</p>
<div id="attachment_3611" style="width: 579px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3611" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/GTM_form-event-tag.png" alt="This rule will only fire the Google Analytics event tag when a form is submitted." width="569" height="204" class="size-full wp-image-3611" srcset="http://cutroni.com/blog/wp-content/uploads/GTM_form-event-tag.png 569w, http://cutroni.com/blog/wp-content/uploads/GTM_form-event-tag-300x107.png 300w" sizes="(max-width: 569px) 100vw, 569px" /><p id="caption-attachment-3611" class="wp-caption-text">This rule will only fire the Google Analytics event tag when a form is submitted.</p></div>
<p>I can actually pull some of the data in the form elements directly into my analytics tag using a macro. </p>
<p>For example, let&#8217;s say I have a form element named Gender. I can use a macro to capture the data, then use that macro when I define my Google Analytics Event, like this:</p>
<div id="attachment_3609" style="width: 529px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3609" loading="lazy" src="http://cutroni.com/blog/wp-content/uploads/GTM_collect-form-data.png" alt="You can collect data from a form element using a macro and send the data to Google Analytics." width="519" height="336" class="size-full wp-image-3609" srcset="http://cutroni.com/blog/wp-content/uploads/GTM_collect-form-data.png 519w, http://cutroni.com/blog/wp-content/uploads/GTM_collect-form-data-300x194.png 300w" sizes="(max-width: 519px) 100vw, 519px" /><p id="caption-attachment-3609" class="wp-caption-text">You can collect data from a form element using a macro and send the data to Google Analytics.</p></div>
<p>REMEMBER it&#8217;s not cool to collect personally identifiable information.</p>
<p>Here&#8217;s a bit more information on <a href="https://support.google.com/tagmanager/answer/2644341?hl=en">creating and using macros</a>.</p>
<p>But overall, tracking a form submission is fairly straight forward. Very much like the other scenarios above.</p>
<p>There you have it, some of the common ways to use the new Auto Event Tracking feature.</p>
<p>That was a really looooong post. Hopefully it gave you a good understanding of how this feature works and how you can use it to make data collection easier to implement and maintain.</p>
<p>Give auto-event tracking a shot and be sure to share your experience in the comments below.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://cutroni.com/blog/2013/10/07/auto-event-tracking-with-google-tag-manager/feed/</wfw:commentRss>
			<slash:comments>101</slash:comments>
		
		
			</item>
	</channel>
</rss>
