SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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”
 

Kürzlich hochgeladen

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

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