quarta-feira, 12 de novembro de 2014

Enabling Multiscreen Tracking With Google Analytics

Enabling Multiscreen Tracking With Google Analytics


  • By James Rosewell

  • November 12th, 2014

  • AnalyticsDevicesPerformance

  • 1 Comment

We are increasingly regulating manageable design, manageable pattern with server-side components (RESS), adaptive pattern and combinations thereof to yield good high-performance multiscreen experiences. However, analytics implementations mostly skip information that is vicious to bargain how a website is being used on opposite devices.


For example, a website that varies a navigation blueprint formed on shade distance or user preferences competence yield opposite user flows by a website depending on a blueprint being used. By enhancing Google Analytics, you’ll be means to brand and optimize under-performing layouts and shade sizes to improve opening on any device.


This essay outlines common hurdles and how to configure Google’s new Universal Analytics1 to good overcome them, regulating facilities such as tradition dimensions, extended couple tracking and server-side information feeds. Information about a user’s blueprint preferences, a screen’s orientation, that couple (of multiple) was used to arrive during a destination, and a earthy distance of a device’s shade can all be simply added. Universal Analytics enables information to be fed some-more good from a web server, so improving performance.


Common Challenges


Screen Size


Google Analytics categorizes inclination as desktop, mobile or tablet. Information that is vicious to designers, such as earthy shade size, is mislaid by such segmentation. Consider a web page that performs good on a complicated 4.7-inch smartphone (such as a iPhone 6). Suppose a pivotal summary appears in a bottom entertain of a shade when displayed on such a device in mural orientation. The same page on a 3.5-inch smartphone (such as a iPhone 4) would not uncover this pivotal summary though being corkscrew down. The engineer competence not have been wakeful that this sold summary is pivotal to a success of a page. Different device-orientation preferences mystify a plea further. Analytics collection yield a discernment indispensable to expostulate continual bargain and improvement.


Information about device forms and shade sizes is mislaid in a default configuration.2
Information about device forms and shade sizes is mislaid in a default configuration. (Image credit: 51Degrees3) (View vast version4)

Screen sizes also change significantly by country. This disproportion can have a surpassing outcome on a website’s success. The following draft shows normal shade sizes of mobile inclination in block inches by country, as totalled from genuine web traffic.


Average mobile device shade distance in block inches for South Africa, India and a UK by month5
Average mobile device shade distance in block inches for South Africa, India and a UK by month. (Image credit: 51Degrees6) (View vast version7)

Layout


Layout is opposite from earthy shade size, nonetheless blueprint is mostly driven by shade information totalled in pixels and device orientation. Understanding a blueprint being used when examining website activity is essential to continual pattern improvement.


First, cruise advertising. Experience shows that a singular dynamic advert opposite a tip of a web page that stays henceforth in perspective will perform good on a smartphone. On a tablet, skyscraper and ensign adverts competence work some-more effectively given a dynamic advert is deliberate annoying.


A commercially disposed website owners would wish their analytics resolution to be means to tell how opposite ads perform formed on a blueprint and shade size, so that they can brand over- or under-performing configurations and boost their promotion revenue.


The categorical calm is even some-more important. Information about a active blueprint for a page — either dynamic by media queries or around a user’s welfare for a desktop-, smartphone- or tablet-optimized blueprint — can urge understanding. Consider a page with 5 primary movement rectangles, that are laid out horizontally on a desktop though seem plumb on a smartphone in mural orientation. The fifth rectangle during a bottom of a list would be noticed reduction frequently on smartphones. Understanding a impact of this disproportion in position and observation luck could lead we to examination with opposite positioning for smartphones.


Performance


Modern websites tend to put incomparable direct on a customer device’s processor. Google Analytics is an instance of a apparatus with tiny over that does not directly raise a user experience. Additional estimate ability and network resources are indispensable to govern a functionality, immoderate altered battery life. With Universal Analytics, information can now be fed from a server, rather than around JavaScript regulating in a web browser.


Bring On Universal Analytics


In late 2013, Universal Analytics left beta, and it is now accessible for all websites. Google now recommends upgrading to Universal Analytics from Classic. Universal Analytics has several advantages:


  1. The JavaScript dash and embody are some-more sensitive, improving a peculiarity of a information obtained.

  2. Interacting with and customizing a dash is easier.

  3. More tradition measure and metrics are accessible in a giveaway version.

  4. Options other than JavaScript are accessible to feed activity information, including from a web server and from Android and iOS applications.

Upgrading to Universal from Classic is a two-step process. First, ascent a web skill around Google Analytics’ administration website. If a skill is not already regulating Universal, afterwards an choice will seem underneath a “Admin” menu advising of a option. However, Google is so penetrating to ascent websites that it competence have already unsentimental a change for you! If so, afterwards a “Tracking code” page will start with, “This is a Universal Analytics tracking formula for this property.”


The shade that confirms a web property’s use of Universal Analytics8
The shade that confirms a web property’s use of Universal Analytics. (View vast version9)

The second partial you’ll have to do yourself: changing a JavaScript dash on your website. The JavaScript dash must not be upgraded before a skill has been altered to Universal Analytics in a prior step. The simplest doing is this:


script (function(i,s,o,g,r,a,m))(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', '[TRACKING_ID]', 'auto'); ga('send', 'pageview'); /script

You would reinstate [TRACKING_ID] with a singular tracking ID formula for your web property.


Custom Dimensions


Once a ascent to Universal is complete, we can supplement information to Google Analytics around “Custom Dimensions10.”


Custom measure can be tangible underneath a “Property” menu on a “Administration” screen. The following screenshot shows a skill though any measure configured.


Empty list of tradition dimensions11
Empty list of tradition dimensions. (View vast version12)

Up to 20 measure competence be total to a skill in a giveaway chronicle of Google Analytics, that is 15 some-more than in a Classic version. The paid version13 enables 200.


Device Orientation


Device march can simply be distributed in JavaScript by final a tallness and breadth of a window. If a tallness is incomparable than a width, afterwards a device is in mural orientation. If not, afterwards it’s in landscape orientation. The following JavaScript earnings an march fibre regulating this logic:


window.innerHeight window.innerWidth ? 'Portrait' : 'Landscape'

By formulating a tradition dimension and feeding a value from this JavaScript, we can simply supplement this information about a page ask to Google Analytics. The following screenshot shows a elementary dialog that is displayed when a “New Custom Dimension” symbol is pressed. Because a march of a device can change during a session, a new tradition dimension is total for it, with a range of “Hit.”


A tradition dimension for march with a range of Hit
A tradition dimension for march with a range of “Hit”.

The “Orientation” dimension has been added, with an index starting during “1.” The following screenshot shows a new dimension and a index. At a time of writing, I’m unknowingly of a proceed to mislay tradition measure in a giveaway chronicle of Google Analytics, so devise ahead!


Initial list of one tradition dimension14
Initial list of one tradition dimension. (View vast version15)

Feeding Custom Dimensions


Now that a dimension has been total for analysis, we need to stock it with data. This entails adding a JavaScript that earnings a compulsory information to Google Analytics’ information feed.


Setting an index of a dimension on a “Administration” shade that is a same as a dimension used in a formula that sends information to Google Analytics is critical. In this case, a index is “1” and a pivotal field, therefore, is dimension1. The following Google Analytics dash has been extended to supplement a tradition dimension information during an index of 1.


script

(function(i,s,o,g,r,a,m))(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '[TRACKING_ID]', 'auto');
ga('set', 'dimension1', window.innerHeight window.innerWidth ? 'Portrait' : 'Landscape');
ga('send', 'pageview');

/script

New Field


A new tradition dimension, named “Orientation,” will now be accessible for analysis. It will seem in a list of accessible fields underneath a categorical streamer “Custom Dimensions,” and it can be accessed from shred conditions, as a delegate dimension, and from any other areas of a Google Analytics stating interface that lists fields.


Custom measure enclosed in fields list
Custom measure enclosed in fields list.

Let It Settle


Patience is a virtue, and time is indispensable to countenance a formula of changes. The following screenshot shows a commission of users by march over a one-month period.


Sample research of tradition dimension orientation
Sample research of tradition dimension orientation.

Screen Size


Third-party information sources can also be used to feed tradition dimensions. 51Degrees16 (the association we founded) can detect information about a screen’s earthy size17, returning a series of block inches or a erratic length, dull to a nearest integer value.


Once enabled, segments can be total formed on earthy shade distance to review opposite outcomes, responding questions such as:


  • Does a rebound rate change by earthy shade distance for sold pages?

  • How is thought execution influenced by earthy shade size?

Unlike a march dimension, earthy shade distance does not change during a session, so it is total with a “Session” scope.


Adding a tradition dimension to a web skill with a range of Session
Adding a tradition dimension to a web skill with a range of “Session”.

The “ScreenInchesDiagonalRounded18” dimension has been added, with an index of “2.”


Now that a dimension has been total for analysis, we need to stock it with data. To make a examples in this essay easy to follow, I’ve total a website19 that is configured to detect devices20 and yield a required JavaScript resources. The following dash includes a apparatus that provides entrance to a “ScreenInchesDiagonalRounded” property.


script src="http://js.51degrees.com/51Degrees.features.js?ScreenInchesDiagonalRounded" type="text/javascript"/script

With a dash above total before a Google Analytics snippet, a “ScreenInchesDiagonalRounded” dimension (with an index of “2” in a list of tradition dimensions) can be populated with a value returned by a “Fifty One Degrees features” include, unprotected around a FODF object.


script

(function(i,s,o,g,r,a,m))(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', '[TRACKING_ID]', 'auto');
ga('set', 'dimension1', window.innerHeight window.innerWidth ? 'Portrait' : 'Landscape');
ga('set', 'dimension2', FODF.ScreenInchesDiagonalRounded);
ga('send', 'pageview');

/script

The highlighted additional line of formula sets a second dimension to a value of FODF.ScreenInchesDiagonalRounded, that is a screen’s erratic length in inches, dull to a nearest integer.


Insight


The following screenshot shows a commission of users by earthy shade size, totalled in inches and over a one-month period.


Sample information of tradition dimension for shade diagonal21
Sample information of tradition dimension for shade diagonal. (View vast version22)

We can now clearly brand use by 3-, 4-, 5- and 6-inch screens within what Google would systematise as a “mobile” device type. We can also see that 10-inch screens browbeat a “tablet” device type.


Performance Is King


Measurement should have no impact on a activity being observed. Website research achieved client-side, as shown earlier, does have a tiny impact on performance, given a applicable JavaScript needs to be downloaded, parsed and afterwards executed. In both cases,a ask is sent to Google Analytics to yield a information compared with a strike or event. While this over isn’t conspicuous on a quick high-bandwidth information connection, minimize it as many as probable for mobile.


The network apparatus examiner in complicated web browsers such as Chrome clearly shows a problem. The following screenshot shows a 51Degrees.features.js ask from a progressing example. We see that 76 milliseconds are squandered while a browser waits to send a ask for a resource.


Example of JavaScript being blocked
Example of JavaScript being blocked.

Fortunately, this problem can be separated simply in several ways.


Asynchronous JavaScript


One proceed is to bucket both a analytics.js record and a facilities book asynchronously. The onload eventuality of a facilities book can be used to bucket a Google Analytics book and set a tradition measure indispensable by Google. The following formula dash would reinstate those supposing earlier, including a 51Degrees.features.js include.


script type="text/javascript"

(function(d,t,s,a,p) a = d.createElement(t); a.type = 'text/javascript'; a.async = true; a.src = s; p = d.getElementsByTagName(t)[0]; a.onload = function() (function(i,s,o,g,r,a,m))(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', '[TRACKING_ID]', 'auto');
ga('set', 'dimension1', window.innerHeight window.innerWidth ? 'Portrait' : 'Landscape');
ga('set', 'dimension2', FODF.ScreenInchesDiagonalRounded);
ga('send', 'pageview'); ;
p.parentNode.insertBefore(a,p); )(document,'script','http://js.51degrees.com/51Degrees.features.js?ScreenInchesDiagonalRounded');

/script

Using a network inspector, we can see a disproportion in a screenshot below.


Example of JavaScript loading asynchronously
Example of JavaScript loading asynchronously.

For websites that use downstream caching to revoke a bucket on a server, this technique is a really fit proceed to yield client-specific information to a browser.


Server-Side


The customarily proceed to discharge a impact of estimate and promulgation information from a customer to Google Analytics is to perform this activity on a server. This technique customarily works when a web server can see all of a trade and when a web pages are not publicly cached (although a calm they enclose could still be publicly cached or served from a calm smoothness network). As such, a technique can't be used on all websites or all pages.


The Google Analytics formula dash creates a GET ask that contains use and tracking information in a query string. The network examiner reveals a outlay of Google Analytics’ JavaScript. We see a filter for requests to https://www.google-analytics.com/collect and a ask identical to a following:


https://www.google-analytics.com/collect?v=1_v=j23a=123456789t=pageview_s=1dl=https%3A%2F%2Fexample.com%2FPageul=en-usde=UTF-8dt=Pagesd=24-bitsr=1280x720vp=1263x622je=1fl=14.0%20r0_u=eDCAgEQi~jid=cid=123456789.123456789tid=UA-123456789-1cd1=6z=459486931

Universal Analytics no longer requires that this information be sent from a web browser. It competence be sent from anywhere, including a web server or a local application. Google impute to promulgation information in this proceed as a “measurement protocol23.” Sending use information from a server has a evident advantage of shortening a volume of estimate and a series of web connectors taken adult by a browser.


At slightest dual HTTP requests are separated for any page ask given Google’s analytics.js book does not need to bucket and a ensuing ask to /collect is also avoided. You could disagree that another advantage is that a user can no longer equivocate being tracked by branch off requests sent to Google Analytics. Of course, cruise a non-technical implications of this, too — namely, as it relates to your terms and conditions and your remoteness policy.


The following C# dash could be total to a .NET web page to send many information to Google Analytics.


var parameters = new Dictionarystring, string(); 

// Add a elementary header parameters.
parameters.Add("v", "1");
parameters.Add("t", "pageview");
parameters.Add("tid", "INSERT TRACKING ID");
parameters.Add("z", Convert.ToBase64String(Guid.NewGuid().ToByteArray()));

// Add customer information.
if (Request.Cookies[CLIENT_ID_COOKIE_NAME] != null)

// Cookie already exists so use that one.
parameters.Add("cid",
Request.Cookies[CLIENT_ID_COOKIE_NAME].Value);

else

// This is a new ask so set a customer ID.
var aegis = new Listbyte();

// Use a IP residence of a customer as a initial partial of a CID.
IPAddress clientIP;
if (IPAddress.TryParse(Request.UserHostAddress, out clientIP)) buffer.AddRange(clientIP.GetAddressBytes());
else
buffer.AddRange(Encoding.ASCII.GetBytes(Request.UserHostAddress));

// Use a date as a second part.
buffer.AddRange(BitConverter.GetBytes((short)DateTime.UtcNow.Year));
buffer.AddRange(BitConverter.GetBytes((byte)DateTime.UtcNow.Month));
buffer.AddRange(BitConverter.GetBytes((byte)DateTime.UtcNow.Day));
buffer.AddRange(BitConverter.GetBytes((short)DateTime.UtcNow.TimeOfDay.TotalMinutes));

// Use a crush formula of a user representative for a final part.
buffer.AddRange(BitConverter.GetBytes(Request.UserAgent.GetHashCode()));

var clientIdCookie = new HttpCookie(
CLIENT_ID_COOKIE_NAME,
Convert.ToBase64String(buffer.ToArray()));

clientIdCookie.HttpOnly = true;
clientIdCookie.Expires = DateTime.UtcNow.AddYears(2);
Response.Cookies.Add(clientIdCookie);
parameters.Add("cid", clientIdCookie.Value);

parameters.Add("uip", Request.UserHostAddress);

// If a eventuality is new, prove this to Google. if (Session != nothing
Session.IsNewSession)

parameters.Add("sc", "start");


// Add user representative and device information.
parameters.Add("ua", Request.UserAgent);
parameters.Add("je", Request.Browser.JavaScript ? "1" : "0");
if (Request.Browser.IsMobileDevice)

var screenSize = String.Format(
"0x1",
Request.Browser.ScreenPixelsWidth,
Request.Browser.ScreenPixelsHeight);
parameters.Add("sr", screenSize);
parameters.Add("vp", screenSize);


// Add denunciation information.
if (Request.UserLanguages != nothing
Request.UserLanguages.Length 0)
parameters.Add("ul", Request.UserLanguages[0]);

// Add page information.
Uri page;
if (Uri.TryCreate(Request.Url, Request.RawUrl, out page) == false)
page = Request.Url;
parameters.Add("dp", page.AbsolutePath);
if (String.IsNullOrEmpty(Page.Title) == false)
parameters.Add("dt", Page.Title);
parameters.Add("dh", page.Host);
parameters.Add("dl", page.ToString());
parameters.Add("de",
Response.ContentEncoding.WebName.ToUpperInvariant());

// Add referrer information.
if (Request.UrlReferrer != null)
parameters.Add("dr", Request.UrlReferrer.ToString());

// Add debate parameters.
if (Request.QueryString["utm_campaign"] != null)
parameters.Add("cn", Request.QueryString["utm_campaign"]);
if (Request.QueryString["utm_content"] != null)
parameters.Add("cc", Request.QueryString["utm_content"]);
if (Request.QueryString["utm_term"] != null)
parameters.Add("ck", Request.QueryString["utm_term"]);
if (Request.QueryString["utm_medium"] != null)
parameters.Add("cm", Request.QueryString["utm_medium"]);
if (Request.QueryString["utm_source"] != null)
parameters.Add("cs", Request.QueryString["utm_term"]);

// Add user ID information, if known.
if (Page.User != nothing
String.IsNullOrEmpty(Page.User.Identity.Name) == false)

parameters.Add("uid", Page.User.Identity.Name);


// Finally, supplement a tradition dimension!
parameters.Add("dimension2",
Request.Browser["ScreenInchesDiagonalRounded"]);

// Build a URL for Google.
var url = String.Concat(
"https://ssl.google-analytics.com/collect?",
String.Join("", parameters.Select(p =
String.Format("0=1",
p.Key,
HttpUtility.UrlEncode(p.Value, Encoding.UTF8))).ToArray()));

// Send a ask asynchronously.
var ask = HttpWebRequest.Create(url);
request.CachePolicy = new
RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
request.Method = "GET";
request.Timeout = 20000;
request.BeginGetResponse(YourCallBackFunction, request);

That’s a lot of formula given we need to do all of a things that a analytics.js dash does client-side in JavaScript though on a server. At a time of writing, Google does not offer any central formula for any platforms.


In a .NET snippet, a collection named parameters is populated with a key-value pairs that will form a query fibre (often called a “payload”) to be sent to Google Analytics. The following parameters are imperative in each request:


  • v

    This is a protocol’s chronicle and will always be 1.

  • tid

    This is a tracking ID, that is a same as a one used in a JavaScript earlier.

  • cid

    The customer ID is used to anonymously brand a device, browser or user.

  • t

    This is a form of strike being accessible and will customarily be a page view.

Also environment a dp parameter is a good thought given it identifies a page being noticed and is essential to any unsentimental analysis. A full list of a measure protocol’s parameters24 is accessible on Google.


The vicious line for adding tradition measure is towards a end, where a dimension2 parameter is set. For this line to work, 51Degrees’ device-detection25 resolution contingency be accessible on a server. In .NET, a simplest proceed to supplement a library is around NuGet26. Using PHP device-detection27, we can supplement 51Degrees’ library by unzipping a required files and including a scripts in a PHP page. Other languages are supported, including Java28, Python29, Perl30 and C31.


Another alteration to make is to check that a device that is requesting a page is not a crawler. Google Analytics does a reasonable pursuit of stealing crawler traffic, though we could assistance it by checking either a device is a crawler, spider or bot32 and, if so, not promulgation any data.


Tracking Multiple Links


So far, we’ve explored techniques to lane page views. Another useful underline in Google Analytics is a capability to lane precisely that couple is used to navigate to a destination, to lane elements that could have some-more than one finish (such as a hunt button) or to lane actions that are managed in JavaScript. Google calls this underline “enhanced couple attribution33.”


Consider a web page that contains 3 links to a same destination: one in a categorical navigation menu, one as partial of a featured territory and a final in a page’s footer. Knowing that of these 3 links was used to navigate to a finish could assistance we to urge a pattern of a page. When total with information on shade distance and (if relevant) a stream layout, this information could urge a bargain of how users navigate a website.


Enhanced couple tracking can be simply enabled in Universal Analytics around a “Property Settings” menu in a “In-Page Analytics” section, where a form identical to a following screenshot appears:


Configuring extended couple attribution34
Configuring extended couple attribution. (View vast version35)

Simply spin a “Use extended couple attribution” underline on, and supplement a following JavaScript line after a create parameter, that includes a tracking ID:


ga('require', 'linkid', 'linkid.js');

Enhanced couple detrimental works best when each navigation component on a page has a singular ID attribute, like a one in a following line of code:


a href='NewPage.html' id='NewPageLink1'Goto another page/a

If a ID charge isn’t present, afterwards Google Analytics will try to brand a component formed on a position of a component in a DOM. However, this is not as reliable.


Multiple Views


Google’s analytics.js book automatically marks a distance of a shade and a active viewport around JavaScript detection. You can use this information to investigate how manageable web pages perform during opposite breakpoints though additional modification.


For websites that raise manageable pattern with RESS or adaptive techniques (varying a page’s calm or navigation formed on a user’s welfare for a sold perspective type), afterwards this information should be supposing to Google Analytics for successive analysis. When this welfare is a partial of a page’s URL structure (for example, prefixing a domain name with an m. for a mobile-optimized section), afterwards a information will automatically be done accessible to Google Analytics.


Different Techniques


The categorical problem with URLs that change formed on characteristics such as device form is that they don’t work really good when shared. For example, someone on a phone who wants to twitter a URL of an engaging page competence share a m. chronicle of a URL. Followers who open a couple would be presented with a m. various of a page, that will be suboptimal if they’re on a inscription or desktop.


A distant improved technique is to change a response of a URL according to a device form and a user’s welfare for a sold view. All of Microsoft’s new web technologies now foster model-view-controller (MVC) design. RESS and adaptive pattern are quite easy to exercise in MVC36 given a perspective is designed to be altered formed on believe of a customer device or user preferences, so improving opening and a user experience. For example, someone on a 4.5-inch phone competence cite to splash and wizz on a desktop interface of a website if they’re some-more informed with it or if it contains some-more information.


By default, Google Analytics does not yield this insight. It categorizes inclination as desktop, mobile or inscription only. When a page’s blueprint changes, an encouragement is indispensable to yield information compared with a active view.


The following screenshots are of a same URL, featuring a list that compares device-detection options. The layouts for small-screen inclination and for big-screen web browsers are apparently different.


The table's blueprint changes according to a user's comparison view.37
The table’s blueprint changes according to a user’s comparison view. (Image credit: 51Degrees38) (View vast version39)

If a user has not voiced a welfare for a perspective type, afterwards a URL will default to portion calm that is optimized for a device type. The user competence change a perspective during any time should they not be happy with a default. They competence cite a big-screen chronicle and be calm to splash and wizz around a page. We need to lane this information in Google Analytics given it provides vicious discernment into a observation preferences of users.


Custom Dimensions


Custom measure can be used to record this information. The following shade shows a “ViewType” tradition dimension being added, with a range of “Hit.”


Editing a tradition dimension in Google Analytics with range of Hit
Editing a tradition dimension in Google Analytics with range of “Hit”.

Assuming that “ViewType” is given an index of “3,” a following lines of JavaScript could be total to establish a active perspective formed on a participation of opposite menu component IDs on a page.


var activeView = 'Desktop'; 
if (document.getElementById('mobileHeader') != undefined) activeView = 'SmartPhone';
else if (document.getElementById('tabletHeader') != undefined) activeView = 'Tablet';

ga('set', 'dimension3', activeView);

Once sufficient information is stored in Google Analytics, a activity can be segmented by opposite perspective types. The following screenshot shows an instance of such a report.


Two perspective form segments compared


Conclusion


It has been customarily 3 years given Ethan Marcotte published Response Web Design40 and web designers started meditative “mobile first.” The techniques used to investigate website activity haven’t kept gait with a opposite approaches to formulating user interfaces. By tracking user preferences, mixing interrelated information sources and creation elementary pattern changes, we can slight a gap. We can use server-side techniques to urge efficiency, and we can use tough contribution to make pattern decisions, rather than a notice alone.


Universal Analytics is a absolute tool, and it is prepared for a universe in that designers get a singular news of all interactions, including for websites, local applications and real-world events (such as visits to a earthy store or interactions with a call center). We’ve explored a possibilities a bit in this article. Here are some facilities to cruise exploring further:


  • See how users correlate opposite mixed sessions.

    If singular and unknown user IDs are accessible in your web application, afterwards use a “User ID41” underline of Google Analytics to lane users opposite mixed sessions. Be wakeful that your remoteness process contingency concede for this and contingency belong to Google’s mandate for anonymity.

  • Track activity over a web.

    Integrate Google Analytics in local applications42 alongside websites for a finish perspective of digital user behavior.

  • Track JavaScript events that don’t outcome in a full page refresh.

    Use events43 to lane activity on a web page that does not outcome in a new page being loaded.

Whatever we do next, a bit of elementary customization and pattern can make a large disproportion to a insights we get from Google Analytics. Happy analyzing!


(da, ml, al)


Footnotes


  1. 1 https://support.google.com/analytics/answer/2790010?hl=en

  2. 2 http://www.smashingmagazine.com/wp-content/uploads/2014/09/01-multiple-screens-opt.png

  3. 3 https://51degrees.com/Products/Enhanced-Analysis

  4. 4 http://www.smashingmagazine.com/wp-content/uploads/2014/09/01-multiple-screens-opt.png

  5. 5 http://www.smashingmagazine.com/wp-content/uploads/2014/09/02-average-screen-size-by-country-month-opt.png

  6. 6 https://51degrees.com/Products/MobileAnalytics

  7. 7 http://www.smashingmagazine.com/wp-content/uploads/2014/09/02-average-screen-size-by-country-month-opt.png

  8. 8 http://www.smashingmagazine.com/wp-content/uploads/2014/09/03-fonecast-tracking-code-screen-opt.png

  9. 9 http://www.smashingmagazine.com/wp-content/uploads/2014/09/03-fonecast-tracking-code-screen-opt.png

  10. 10 https://developers.google.com/analytics/devguides/platform/customdimsmets

  11. 11 http://www.smashingmagazine.com/wp-content/uploads/2014/09/04-fonecast-empty-custom-dimensions-opt.png

  12. 12 http://www.smashingmagazine.com/wp-content/uploads/2014/09/04-fonecast-empty-custom-dimensions-opt.png

  13. 13 http://www.google.com/analytics/premium/

  14. 14 http://www.smashingmagazine.com/wp-content/uploads/2014/09/06-orientation-custom-dimension-opt.png

  15. 15 http://www.smashingmagazine.com/wp-content/uploads/2014/09/06-orientation-custom-dimension-opt.png

  16. 16 https://51degrees.com

  17. 17 https://51degrees.com/Resources/Property-Dictionary#Screen

  18. 18 https://51degrees.com/Resources/Property-Dictionary#ScreenInchesDiagonalRounded

  19. 19 http://js.51degrees.com

  20. 20 https://51degrees.com/Products/Device-Detection

  21. 21 http://www.smashingmagazine.com/wp-content/uploads/2014/09/10-user-by-screen-inches-diagonal-rounded-opt.png

  22. 22 http://www.smashingmagazine.com/wp-content/uploads/2014/09/10-user-by-screen-inches-diagonal-rounded-opt.png

  23. 23 https://developers.google.com/analytics/devguides/collection/protocol/v1/

  24. 24 https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters

  25. 25 https://51degrees.com/Products/Device-Detection

  26. 26 https://51degrees.com/Support/Documentation/NET/Distributions/Nuget

  27. 27 https://51degrees.com/Support/Documentation/PHP/Getting-Started

  28. 28 https://51degrees.com/Support/Documentation/Java/Getting-Started

  29. 29 https://51degrees.com/Support/Documentation/Python/Getting-Started

  30. 30 https://51degrees.com/Support/Documentation/Perl/Getting-Started

  31. 31 https://51degrees.com/Support/Documentation/C/Getting-Started

  32. 32 https://51degrees.com/Resources/Property-Dictionary#IsCrawler

  33. 33 http://support.google.com/analytics/answer/2558867?hl=en

  34. 34 http://www.smashingmagazine.com/wp-content/uploads/2014/09/13-configure-enhanced-link-attribution-opt.png

  35. 35 http://www.smashingmagazine.com/wp-content/uploads/2014/09/13-configure-enhanced-link-attribution-opt.png

  36. 36 https://51degrees.com/Blog/ArtMID/1641/ArticleID/254/Mobile-and-Tablet-Device-Detection-with-MVC5

  37. 37 http://www.smashingmagazine.com/wp-content/uploads/2014/09/14-device-detection-options-compared-opt.png

  38. 38 https://51degrees.com/Products/Device-Detection/Compare-Device-Data

  39. 39 http://www.smashingmagazine.com/wp-content/uploads/2014/09/14-device-detection-options-compared-opt.png

  40. 40 http://www.abookapart.com/products/responsive-web-design

  41. 41 https://developers.google.com/analytics/devguides/collection/analyticsjs/user-id

  42. 42 https://developers.google.com/analytics/devguides/collection/ios/

  43. 43 https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide

↑ Back to topShare on Twitter



Enabling Multiscreen Tracking With Google Analytics

Nenhum comentário:

Postar um comentário