SlideShare a Scribd company logo
1 of 36
Download to read offline
May 24, 2012




     GAS - Google Analytics
          on Steroids
                       Eduardo Cereto Carvalho



www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.    1
May 24, 2012



            Implementing GA is
                easy, right?




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.    2
May 24, 2012



          What the basic
     implementation gives you?
      • One pageview every time a page loads
      • That doesn’t seem a lot but with just that
          GA can calculate everything you see on the
          reports




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.    3
May 24, 2012




          What else could you
                want?
      • E-commerce
      • Custom Vars
      • Page Interactions                     ⃪ Events




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.    4
May 24, 2012




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.    5
May 24, 2012




                                                                 L
                                                      I
                                         A
                             F


www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.    5
May 24, 2012


    How to implement Event
          Tracking?




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.    6
May 24, 2012


    How to implement Event
          Tracking?
  <a href="#" onClick="_gaq.push(['_trackEvent', 'Videos',
  'Play', 'Baby's First Birthday']);">Play</a>




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.    6
May 24, 2012


    How to implement Event
          Tracking?
  <a href="#" onClick="_gaq.push(['_trackEvent', 'Videos',
  'Play', 'Baby's First Birthday']);">Play</a>




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.    6
May 24, 2012


      How to implement Event
            Tracking?
   <a href="#" onClick="_gaq.push(['_trackEvent', 'Videos',
   'Play', 'Baby's First Birthday']);">Play</a>




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


www.CardinalPath.com        © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.    6
May 24, 2012


          The documentation is not
                  perfect
      • There’s so much more you can do with
          events,Video usage is just one small example;
      • The docs are just examples, you should
          never implement events like that in the real
          world;
      • Videos don’t even have a play button most of
          the time.You probably use a player like
          youtube.

www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.    7
May 24, 2012



                   What is GAS
               https://github.com/CardinalPath/gas
 •   A library to help you implement GA
 •   Implement a lot of events so you don’t have to
 •   Open Source
 •   Tested on large deployments
 •   Easy to get involved
 •   Regular bug-fixes and new features
 •   Spoiler: I’m the main developer

www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.    8
May 24, 2012



     What GAS gives you for free?
     •   Outbound links
     •   Web Form usage
     •   Download links
     •   Video Usage
         •   Youtube
         •   Vimeo
         •   HTML5 <video />
     •   Email: links usage
     •   Scroll percentage


www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.    9
May 24, 2012


         Just upload gas.js and
     implement GAS instead of GA
    <script type="text/javascript">
    var _gas = _gas || [];
    _gas.push(['_setAccount', 'UA-YYYYYY-Y']); // REPLACE WITH YOUR GA NUMBER
    _gas.push(['_setDomainName', '.mydomain.com']); // REPLACE WITH YOUR DOMAIN
    _gas.push(['_trackPageview']);
    _gas.push(['_gasTrackForms']);
    _gas.push(['_gasTrackOutboundLinks']);
    _gas.push(['_gasTrackMaxScroll']);
    _gas.push(['_gasTrackDownloads']);
    _gas.push(['_gasTrackYoutube']);
    _gas.push(['_gasTrackVimeo']);
    _gas.push(['_gasTrackMailto']);

    (function() {
    var ga = document.createElement('script');
    ga.type = 'text/javascript';
    ga.async = true;
    ga.src = '/gas.js';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(ga, s);
    })();
    </script>




www.CardinalPath.com          © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   10
May 24, 2012


         Just upload gas.js and
     implement GAS instead of GA
    <script type="text/javascript">
    var _gas = _gas || [];
    _gas.push(['_setAccount', 'UA-YYYYYY-Y']); // REPLACE WITH YOUR GA NUMBER
    _gas.push(['_setDomainName', '.mydomain.com']); // REPLACE WITH YOUR DOMAIN
    _gas.push(['_trackPageview']);
    _gas.push(['_gasTrackForms']);
    _gas.push(['_gasTrackOutboundLinks']);
    _gas.push(['_gasTrackMaxScroll']);
    _gas.push(['_gasTrackDownloads']);
    _gas.push(['_gasTrackYoutube']);
    _gas.push(['_gasTrackVimeo']);
    _gas.push(['_gasTrackMailto']);

    (function() {
    var ga = document.createElement('script');
    ga.type = 'text/javascript';
    ga.async = true;
    ga.src = '/gas.js';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(ga, s);
    })();
    </script>




www.CardinalPath.com          © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   10
May 24, 2012




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   11
May 24, 2012




                                                            s s
                                               c e
                                   u c
                            S


www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   11
May 24, 2012

     Events are multidimensional. So
      you can drill-down into them




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   12
May 24, 2012

     Events are multidimensional. So
      you can drill-down into them




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   12
May 24, 2012

     Events are multidimensional. So
      you can drill-down into them




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   12
May 24, 2012

     Events are multidimensional. So
      you can drill-down into them




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   12
May 24, 2012



      Videos are even cooler




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   13
May 24, 2012



      Videos are even cooler




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   13
May 24, 2012



      Videos are even cooler




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   13
May 24, 2012



    What do you do if your site has
          multiple domains?




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   14
May 24, 2012



      What do you do if your site has
            multiple domains?
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_setDomainName', 'mysite.com']);
  _gaq.push(['_setAllowLinker', true]);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/
ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>




www.CardinalPath.com              © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   14
May 24, 2012



      What do you do if your site has
            multiple domains?
<script type="text/javascript">
  <script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
    var _gaq = _gaq || [];
  _gaq.push(['_setDomainName', 'mysite.com']);
    _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_setAllowLinker', true]);
    _gaq.push(['_setDomainName', 'myothersite.com']);
  _gaq.push(['_trackPageview']);
    _gaq.push(['_setAllowLinker', true]);
    _gaq.push(['_trackPageview']);
  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    (function() {
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.js';
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  ga.js';
  })();
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
</script>
  </script>




www.CardinalPath.com              © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   14
May 24, 2012



      What do you do if your site has
            multiple domains?
<script type="text/javascript">
  <script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
    var _gaq = _gaq || [];
  _gaq.push(['_setDomainName', 'mysite.com']);
    <a href="http://www.myothersite.com/intro"
    _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_setAllowLinker', true]);
    onclick="_gaq.push(['_link', 'http://www.myothersite.com/intro.html']); return false;">See my blog</a>
    _gaq.push(['_setDomainName', 'myothersite.com']);
  _gaq.push(['_trackPageview']);
    _gaq.push(['_setAllowLinker', true]);
    _gaq.push(['_trackPageview']);
  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    (function() {
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.js';
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  ga.js';
  })();
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
</script>
  </script>




www.CardinalPath.com              © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   14
May 24, 2012



      What do you do if your site has
            multiple domains?
<script type="text/javascript">
  <script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
    var _gaq = _gaq || [];
  _gaq.push(['_setDomainName', 'mysite.com']);
    <a href="http://www.myothersite.com/intro"
    _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_setAllowLinker', true]);
    onclick="_gaq.push(['_link', 'http://www.myothersite.com/intro.html']); return false;">See my blog</a>
      <a href="http://www.mysite.com/"
    _gaq.push(['_setDomainName', 'myothersite.com']);
  _gaq.push(['_trackPageview']);
      onclick="_gaq.push(['_link', 'http://www.mysite.com/']); return false;">Go back to my site</a>
    _gaq.push(['_setAllowLinker', true]);
    _gaq.push(['_trackPageview']);
  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    (function() {
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.js';
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  ga.js';
  })();
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
</script>
  </script>




www.CardinalPath.com              © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   14
May 24, 2012



      What do you do if your site has
            multiple domains?
<script type="text/javascript">
  <script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
    var _gaq = _gaq || [];
  _gaq.push(['_setDomainName', 'mysite.com']);
    <a href="http://www.myothersite.com/intro"
    _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_setAllowLinker', true]);
    onclick="_gaq.push(['_link', 'http://www.myothersite.com/intro.html']); return false;">See my blog</a>
      <a href="http://www.mysite.com/"
    _gaq.push(['_setDomainName', 'myothersite.com']);
  _gaq.push(['_trackPageview']);
      onclick="_gaq.push(['_link', 'http://www.mysite.com/']); return false;">Go back to my site</a>
    _gaq.push(['_setAllowLinker', true]);
         <form name="f" method="post" onsubmit="_gaq.push(['_linkByPost', this]);">
    _gaq.push(['_trackPageview']);
  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    (function() {
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.js';
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  ga.js';
  })();
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
</script>
  </script>




www.CardinalPath.com              © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   14
May 24, 2012



      What do you do if your site has
            multiple domains?
<script type="text/javascript">
  <script type="text/javascript">




                                                                           L
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
    var _gaq = _gaq || [];




                                                                I
  _gaq.push(['_setDomainName', 'mysite.com']);
    <a href="http://www.myothersite.com/intro"
    _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_setAllowLinker', true]);
    onclick="_gaq.push(['_link', 'http://www.myothersite.com/intro.html']); return false;">See my blog</a>
      <a href="http://www.mysite.com/"
    _gaq.push(['_setDomainName', 'myothersite.com']);
  _gaq.push(['_trackPageview']);
      onclick="_gaq.push(['_link', 'http://www.mysite.com/']); return false;">Go back to my site</a>
    _gaq.push(['_setAllowLinker', true]);




                                                   A
         <form name="f" method="post" onsubmit="_gaq.push(['_linkByPost', this]);">
    _gaq.push(['_trackPageview']);
  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;




                                       F
    (function() {
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.js';
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  ga.js';
  })();
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
</script>
  </script>




www.CardinalPath.com              © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   14
May 24, 2012



     How to do it with GAS?

                _gas.push(['_setAccount', 'UA-XXXXX-1']);
                _gas.push(['_setAllowLinker', true]);
                _gas.push(['_setDomainName', 'mysite.com']);
                _gas.push(['_setDomainName', 'myothersite.com']);
                _gas.push(['_gasMultiDomain', 'click']);
                _gas.push(['_trackPageview']);




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   15
May 24, 2012



     How to do it with GAS?

                _gas.push(['_setAccount', 'UA-XXXXX-1']);

                                                            s s
                                                 e
                _gas.push(['_setAllowLinker', true]);


                                               c
                _gas.push(['_setDomainName', 'mysite.com']);



                                     c
                _gas.push(['_setDomainName', 'myothersite.com']);



                                   u
                _gas.push(['_gasMultiDomain', 'click']);



                            S
                _gas.push(['_trackPageview']);




www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   15
May 24, 2012



    GAS can do a lot more for you

      • You can extend GAS by adding plugins
      • GAS helps you if you need to use
          _setAllowAnchor(true)
      • GAS fixes bad formatted events for you
      • GAS helps you if you want to send data to
          multiple accounts at the same time


www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   16
May 24, 2012



      What else can you expect from
           GAS in the future

      • Support for more video players
      • Support for tracking social widgets usage
      • More customization options if you are a
          developer



www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   17
May 24, 2012




             https://github.com/CardinalPath/gas




    Eduardo Cereto Carvalho
    @eduardocereto
    ecereto@cardinalpath.com

www.CardinalPath.com   © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential.   18

More Related Content

Similar to GAS - Google Analytics on Steroids

Developing Data Products
Developing Data ProductsDeveloping Data Products
Developing Data ProductsPeter Skomoroch
 
Shaklee System for Online Prospecting and Training - YFP Intro
Shaklee System for Online Prospecting and Training - YFP IntroShaklee System for Online Prospecting and Training - YFP Intro
Shaklee System for Online Prospecting and Training - YFP Introvirtualwonders
 
Rompa el manual antes de usar
Rompa el manual antes de usarRompa el manual antes de usar
Rompa el manual antes de usarCristian Reatti
 
MasterCard's Jennifer Stalzer presents The Evolution of the Corporate Newsroo...
MasterCard's Jennifer Stalzer presents The Evolution of the Corporate Newsroo...MasterCard's Jennifer Stalzer presents The Evolution of the Corporate Newsroo...
MasterCard's Jennifer Stalzer presents The Evolution of the Corporate Newsroo...Percolate
 
Wordpress Dashboard
Wordpress DashboardWordpress Dashboard
Wordpress Dashboarditechieguy
 
Webtrends Website Update
Webtrends Website UpdateWebtrends Website Update
Webtrends Website UpdateMichael Ricci
 
Mobile: Session 4: Social CRM and Facebook go to College
Mobile: Session 4: Social CRM and Facebook go to College Mobile: Session 4: Social CRM and Facebook go to College
Mobile: Session 4: Social CRM and Facebook go to College SugarCRM
 
Social Media Privacy Concerns in the Job Search
Social Media Privacy Concerns in the Job SearchSocial Media Privacy Concerns in the Job Search
Social Media Privacy Concerns in the Job SearchJose Martinez-Garriga
 
What's the Half-Life of Your Data?
What's the Half-Life of Your Data?What's the Half-Life of Your Data?
What's the Half-Life of Your Data?Kalido
 
Lean Startup in the Enterprise
Lean Startup in the EnterpriseLean Startup in the Enterprise
Lean Startup in the EnterpriseDavid Bland
 
Scalar Enterprises Web services overview presentation
Scalar Enterprises Web services overview presentationScalar Enterprises Web services overview presentation
Scalar Enterprises Web services overview presentationSteve Wood
 
Solving Biz Problems With SugarExchange: Session 4:
Solving Biz Problems With SugarExchange: Session 4: Solving Biz Problems With SugarExchange: Session 4:
Solving Biz Problems With SugarExchange: Session 4: SugarCRM
 
Search Engine Steroids: Remarketing & Rich Snippets by Ben Herman
Search Engine Steroids: Remarketing & Rich Snippets by Ben HermanSearch Engine Steroids: Remarketing & Rich Snippets by Ben Herman
Search Engine Steroids: Remarketing & Rich Snippets by Ben HermanCorrieHerman
 
Improving Search Engine Optimization (SEO) with Google Analytics
Improving Search Engine Optimization (SEO) with Google AnalyticsImproving Search Engine Optimization (SEO) with Google Analytics
Improving Search Engine Optimization (SEO) with Google AnalyticsJackson Lo
 
The Team Workshop Method
The Team Workshop MethodThe Team Workshop Method
The Team Workshop MethodJD Graffam
 
Organizing With Skedi Family Calendar
Organizing With Skedi Family CalendarOrganizing With Skedi Family Calendar
Organizing With Skedi Family CalendarRodax Software
 
“Double your Inquiry-to-Close Rate with Next Generation Demand Funnel”
“Double your Inquiry-to-Close Rate with    Next Generation Demand Funnel”“Double your Inquiry-to-Close Rate with    Next Generation Demand Funnel”
“Double your Inquiry-to-Close Rate with Next Generation Demand Funnel”DemandGen
 

Similar to GAS - Google Analytics on Steroids (20)

@DavidMihm @SLCSEM Local Search Ranking Factors 2012
@DavidMihm @SLCSEM Local Search Ranking Factors 2012@DavidMihm @SLCSEM Local Search Ranking Factors 2012
@DavidMihm @SLCSEM Local Search Ranking Factors 2012
 
Why Visual Business Analysis is More Effective?
Why Visual Business Analysis is More Effective?Why Visual Business Analysis is More Effective?
Why Visual Business Analysis is More Effective?
 
Developing Data Products
Developing Data ProductsDeveloping Data Products
Developing Data Products
 
Shaklee System for Online Prospecting and Training - YFP Intro
Shaklee System for Online Prospecting and Training - YFP IntroShaklee System for Online Prospecting and Training - YFP Intro
Shaklee System for Online Prospecting and Training - YFP Intro
 
Rompa el manual antes de usar
Rompa el manual antes de usarRompa el manual antes de usar
Rompa el manual antes de usar
 
MasterCard's Jennifer Stalzer presents The Evolution of the Corporate Newsroo...
MasterCard's Jennifer Stalzer presents The Evolution of the Corporate Newsroo...MasterCard's Jennifer Stalzer presents The Evolution of the Corporate Newsroo...
MasterCard's Jennifer Stalzer presents The Evolution of the Corporate Newsroo...
 
Wordpress Dashboard
Wordpress DashboardWordpress Dashboard
Wordpress Dashboard
 
Webtrends Website Update
Webtrends Website UpdateWebtrends Website Update
Webtrends Website Update
 
Mobile: Session 4: Social CRM and Facebook go to College
Mobile: Session 4: Social CRM and Facebook go to College Mobile: Session 4: Social CRM and Facebook go to College
Mobile: Session 4: Social CRM and Facebook go to College
 
Social Media Privacy Concerns in the Job Search
Social Media Privacy Concerns in the Job SearchSocial Media Privacy Concerns in the Job Search
Social Media Privacy Concerns in the Job Search
 
What's the Half-Life of Your Data?
What's the Half-Life of Your Data?What's the Half-Life of Your Data?
What's the Half-Life of Your Data?
 
Lean Startup in the Enterprise
Lean Startup in the EnterpriseLean Startup in the Enterprise
Lean Startup in the Enterprise
 
Scalar Enterprises Web services overview presentation
Scalar Enterprises Web services overview presentationScalar Enterprises Web services overview presentation
Scalar Enterprises Web services overview presentation
 
Solving Biz Problems With SugarExchange: Session 4:
Solving Biz Problems With SugarExchange: Session 4: Solving Biz Problems With SugarExchange: Session 4:
Solving Biz Problems With SugarExchange: Session 4:
 
Being Influential Online
Being Influential OnlineBeing Influential Online
Being Influential Online
 
Search Engine Steroids: Remarketing & Rich Snippets by Ben Herman
Search Engine Steroids: Remarketing & Rich Snippets by Ben HermanSearch Engine Steroids: Remarketing & Rich Snippets by Ben Herman
Search Engine Steroids: Remarketing & Rich Snippets by Ben Herman
 
Improving Search Engine Optimization (SEO) with Google Analytics
Improving Search Engine Optimization (SEO) with Google AnalyticsImproving Search Engine Optimization (SEO) with Google Analytics
Improving Search Engine Optimization (SEO) with Google Analytics
 
The Team Workshop Method
The Team Workshop MethodThe Team Workshop Method
The Team Workshop Method
 
Organizing With Skedi Family Calendar
Organizing With Skedi Family CalendarOrganizing With Skedi Family Calendar
Organizing With Skedi Family Calendar
 
“Double your Inquiry-to-Close Rate with Next Generation Demand Funnel”
“Double your Inquiry-to-Close Rate with    Next Generation Demand Funnel”“Double your Inquiry-to-Close Rate with    Next Generation Demand Funnel”
“Double your Inquiry-to-Close Rate with Next Generation Demand Funnel”
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

GAS - Google Analytics on Steroids

  • 1. May 24, 2012 GAS - Google Analytics on Steroids Eduardo Cereto Carvalho www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 1
  • 2. May 24, 2012 Implementing GA is easy, right? www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 2
  • 3. May 24, 2012 What the basic implementation gives you? • One pageview every time a page loads • That doesn’t seem a lot but with just that GA can calculate everything you see on the reports www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 3
  • 4. May 24, 2012 What else could you want? • E-commerce • Custom Vars • Page Interactions ⃪ Events www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 4
  • 5. May 24, 2012 www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 5
  • 6. May 24, 2012 L I A F www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 5
  • 7. May 24, 2012 How to implement Event Tracking? www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 6
  • 8. May 24, 2012 How to implement Event Tracking? <a href="#" onClick="_gaq.push(['_trackEvent', 'Videos', 'Play', 'Baby's First Birthday']);">Play</a> www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 6
  • 9. May 24, 2012 How to implement Event Tracking? <a href="#" onClick="_gaq.push(['_trackEvent', 'Videos', 'Play', 'Baby's First Birthday']);">Play</a> www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 6
  • 10. May 24, 2012 How to implement Event Tracking? <a href="#" onClick="_gaq.push(['_trackEvent', 'Videos', 'Play', 'Baby's First Birthday']);">Play</a> From: https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 6
  • 11. May 24, 2012 The documentation is not perfect • There’s so much more you can do with events,Video usage is just one small example; • The docs are just examples, you should never implement events like that in the real world; • Videos don’t even have a play button most of the time.You probably use a player like youtube. www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 7
  • 12. May 24, 2012 What is GAS https://github.com/CardinalPath/gas • A library to help you implement GA • Implement a lot of events so you don’t have to • Open Source • Tested on large deployments • Easy to get involved • Regular bug-fixes and new features • Spoiler: I’m the main developer www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 8
  • 13. May 24, 2012 What GAS gives you for free? • Outbound links • Web Form usage • Download links • Video Usage • Youtube • Vimeo • HTML5 <video /> • Email: links usage • Scroll percentage www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 9
  • 14. May 24, 2012 Just upload gas.js and implement GAS instead of GA <script type="text/javascript"> var _gas = _gas || []; _gas.push(['_setAccount', 'UA-YYYYYY-Y']); // REPLACE WITH YOUR GA NUMBER _gas.push(['_setDomainName', '.mydomain.com']); // REPLACE WITH YOUR DOMAIN _gas.push(['_trackPageview']); _gas.push(['_gasTrackForms']); _gas.push(['_gasTrackOutboundLinks']); _gas.push(['_gasTrackMaxScroll']); _gas.push(['_gasTrackDownloads']); _gas.push(['_gasTrackYoutube']); _gas.push(['_gasTrackVimeo']); _gas.push(['_gasTrackMailto']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = '/gas.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 10
  • 15. May 24, 2012 Just upload gas.js and implement GAS instead of GA <script type="text/javascript"> var _gas = _gas || []; _gas.push(['_setAccount', 'UA-YYYYYY-Y']); // REPLACE WITH YOUR GA NUMBER _gas.push(['_setDomainName', '.mydomain.com']); // REPLACE WITH YOUR DOMAIN _gas.push(['_trackPageview']); _gas.push(['_gasTrackForms']); _gas.push(['_gasTrackOutboundLinks']); _gas.push(['_gasTrackMaxScroll']); _gas.push(['_gasTrackDownloads']); _gas.push(['_gasTrackYoutube']); _gas.push(['_gasTrackVimeo']); _gas.push(['_gasTrackMailto']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = '/gas.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 10
  • 16. May 24, 2012 www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 11
  • 17. May 24, 2012 s s c e u c S www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 11
  • 18. May 24, 2012 Events are multidimensional. So you can drill-down into them www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 12
  • 19. May 24, 2012 Events are multidimensional. So you can drill-down into them www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 12
  • 20. May 24, 2012 Events are multidimensional. So you can drill-down into them www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 12
  • 21. May 24, 2012 Events are multidimensional. So you can drill-down into them www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 12
  • 22. May 24, 2012 Videos are even cooler www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 13
  • 23. May 24, 2012 Videos are even cooler www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 13
  • 24. May 24, 2012 Videos are even cooler www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 13
  • 25. May 24, 2012 What do you do if your site has multiple domains? www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 14
  • 26. May 24, 2012 What do you do if your site has multiple domains? <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXX-X']); _gaq.push(['_setDomainName', 'mysite.com']); _gaq.push(['_setAllowLinker', true]); _gaq.push(['_trackPageview']);   (function() {     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ ga.js';     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);   })(); </script> www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 14
  • 27. May 24, 2012 What do you do if your site has multiple domains? <script type="text/javascript"> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXX-X']); var _gaq = _gaq || []; _gaq.push(['_setDomainName', 'mysite.com']); _gaq.push(['_setAccount', 'UA-XXXXX-X']); _gaq.push(['_setAllowLinker', true]); _gaq.push(['_setDomainName', 'myothersite.com']); _gaq.push(['_trackPageview']); _gaq.push(['_setAllowLinker', true]); _gaq.push(['_trackPageview']);   (function() {     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;   (function() {     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.js';     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); ga.js';   })();     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);   })(); </script> </script> www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 14
  • 28. May 24, 2012 What do you do if your site has multiple domains? <script type="text/javascript"> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXX-X']); var _gaq = _gaq || []; _gaq.push(['_setDomainName', 'mysite.com']); <a href="http://www.myothersite.com/intro" _gaq.push(['_setAccount', 'UA-XXXXX-X']); _gaq.push(['_setAllowLinker', true]); onclick="_gaq.push(['_link', 'http://www.myothersite.com/intro.html']); return false;">See my blog</a> _gaq.push(['_setDomainName', 'myothersite.com']); _gaq.push(['_trackPageview']); _gaq.push(['_setAllowLinker', true]); _gaq.push(['_trackPageview']);   (function() {     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;   (function() {     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.js';     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); ga.js';   })();     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);   })(); </script> </script> www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 14
  • 29. May 24, 2012 What do you do if your site has multiple domains? <script type="text/javascript"> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXX-X']); var _gaq = _gaq || []; _gaq.push(['_setDomainName', 'mysite.com']); <a href="http://www.myothersite.com/intro" _gaq.push(['_setAccount', 'UA-XXXXX-X']); _gaq.push(['_setAllowLinker', true]); onclick="_gaq.push(['_link', 'http://www.myothersite.com/intro.html']); return false;">See my blog</a> <a href="http://www.mysite.com/" _gaq.push(['_setDomainName', 'myothersite.com']); _gaq.push(['_trackPageview']); onclick="_gaq.push(['_link', 'http://www.mysite.com/']); return false;">Go back to my site</a> _gaq.push(['_setAllowLinker', true]); _gaq.push(['_trackPageview']);   (function() {     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;   (function() {     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.js';     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); ga.js';   })();     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);   })(); </script> </script> www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 14
  • 30. May 24, 2012 What do you do if your site has multiple domains? <script type="text/javascript"> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXX-X']); var _gaq = _gaq || []; _gaq.push(['_setDomainName', 'mysite.com']); <a href="http://www.myothersite.com/intro" _gaq.push(['_setAccount', 'UA-XXXXX-X']); _gaq.push(['_setAllowLinker', true]); onclick="_gaq.push(['_link', 'http://www.myothersite.com/intro.html']); return false;">See my blog</a> <a href="http://www.mysite.com/" _gaq.push(['_setDomainName', 'myothersite.com']); _gaq.push(['_trackPageview']); onclick="_gaq.push(['_link', 'http://www.mysite.com/']); return false;">Go back to my site</a> _gaq.push(['_setAllowLinker', true]); <form name="f" method="post" onsubmit="_gaq.push(['_linkByPost', this]);"> _gaq.push(['_trackPageview']);   (function() {     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;   (function() {     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.js';     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); ga.js';   })();     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);   })(); </script> </script> www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 14
  • 31. May 24, 2012 What do you do if your site has multiple domains? <script type="text/javascript"> <script type="text/javascript"> L var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXX-X']); var _gaq = _gaq || []; I _gaq.push(['_setDomainName', 'mysite.com']); <a href="http://www.myothersite.com/intro" _gaq.push(['_setAccount', 'UA-XXXXX-X']); _gaq.push(['_setAllowLinker', true]); onclick="_gaq.push(['_link', 'http://www.myothersite.com/intro.html']); return false;">See my blog</a> <a href="http://www.mysite.com/" _gaq.push(['_setDomainName', 'myothersite.com']); _gaq.push(['_trackPageview']); onclick="_gaq.push(['_link', 'http://www.mysite.com/']); return false;">Go back to my site</a> _gaq.push(['_setAllowLinker', true]); A <form name="f" method="post" onsubmit="_gaq.push(['_linkByPost', this]);"> _gaq.push(['_trackPageview']);   (function() {     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; F   (function() {     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.js';     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); ga.js';   })();     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);   })(); </script> </script> www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 14
  • 32. May 24, 2012 How to do it with GAS? _gas.push(['_setAccount', 'UA-XXXXX-1']); _gas.push(['_setAllowLinker', true]); _gas.push(['_setDomainName', 'mysite.com']); _gas.push(['_setDomainName', 'myothersite.com']); _gas.push(['_gasMultiDomain', 'click']); _gas.push(['_trackPageview']); www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 15
  • 33. May 24, 2012 How to do it with GAS? _gas.push(['_setAccount', 'UA-XXXXX-1']); s s e _gas.push(['_setAllowLinker', true]); c _gas.push(['_setDomainName', 'mysite.com']); c _gas.push(['_setDomainName', 'myothersite.com']); u _gas.push(['_gasMultiDomain', 'click']); S _gas.push(['_trackPageview']); www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 15
  • 34. May 24, 2012 GAS can do a lot more for you • You can extend GAS by adding plugins • GAS helps you if you need to use _setAllowAnchor(true) • GAS fixes bad formatted events for you • GAS helps you if you want to send data to multiple accounts at the same time www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 16
  • 35. May 24, 2012 What else can you expect from GAS in the future • Support for more video players • Support for tracking social widgets usage • More customization options if you are a developer www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 17
  • 36. May 24, 2012 https://github.com/CardinalPath/gas Eduardo Cereto Carvalho @eduardocereto ecereto@cardinalpath.com www.CardinalPath.com © 2012 Cardinal Path, Inc, All Rights Reserved. Proprietary and Confidential. 18