  
<div id="snippet_409" class="snippet">
  <h2><a href="/snippets/409-How-to-use-MySQL-s-ON-DUPLICATE-to-track-page-views" title="How to use MySQL's ON DUPLICATE to track page views - Apache - mysql, duplicate, pageview, analytics">How to use MySQL's ON DUPLICATE to track page views</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/8-Apache">
      Apache</a> posted 3 months ago by christian
          
  </div>

  <div class="body">
    <p>With MySQL 5 you can track page views with ON <span class="caps">DUPLICATE</span>.</p>
<p>The table:<br />
<pre class="active4d"><span class="line-numbers">   1 </span> create table page_views(
<span class="line-numbers">   2 </span>   uri varchar(500) not null,
<span class="line-numbers">   3 </span>   views int(11) not null default '0',
<span class="line-numbers">   4 </span>   primary key(uri)
<span class="line-numbers">   5 </span> )
</pre></p>
<p>The <span class="caps">SQL</span>:<br />
<pre class="active4d"><span class="line-numbers">   1 </span> insert into page_views (uri, views) values ('/products', 1) on duplicate key update views = views + 1;
</pre></p>
<p>See <a href="http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html">http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html</a> for more information.</p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/71-mysql">mysql</a>, <a href="/tags/861-duplicate">duplicate</a>, <a href="/tags/852-pageview">pageview</a>, <a href="/tags/502-analytics">analytics</a>
    
    
  </div>
</div>



  
<div id="snippet_404" class="snippet">
  <h2><a href="/snippets/404-How-to-track-and-store-pageviews-and-unique-visitors-with-MySQL" title="How to track and store pageviews and unique visitors with MySQL - SQL - mysql, analytics, pageview, tracking">How to track and store pageviews and unique visitors with MySQL</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/134-SQL">
      SQL</a> posted 4 months ago by christian
          
  </div>

  <div class="body">
    <p>Create a table:<br />
<pre class="active4d"><span class="line-numbers">   1 </span> <span class="Keyword">create</span> <span class="Keyword">table</span> <span class="FunctionName">page_views</span> (id <span class="Storage">VARCHAR</span>(<span class="Number">50</span>), views <span class="Storage">INTEGER</span>) <span class="Storage">primary key</span> id;
</pre></p>
<p>Use the ON <span class="caps">DUPLICATE</span> declaration:</p>
<p><pre class="active4d"><span class="line-numbers">   1 </span> <span class="Keyword">insert into</span> page_views (id, views) <span class="Keyword">values</span> (<span class="String"><span class="String">'</span>/'</span>, <span class="Number">1</span>) <span class="Keyword">on </span>duplicate key <span class="Keyword">update</span> views = views + <span class="Number">1</span>;
</pre></p>
<p>Idea from <a href="http://simonwillison.net/2009/Jun/30/analytics/">http://simonwillison.net/2009/Jun/30/analytics/</a></p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/71-mysql">mysql</a>, <a href="/tags/502-analytics">analytics</a>, <a href="/tags/852-pageview">pageview</a>, <a href="/tags/503-tracking">tracking</a>
    
    
  </div>
</div>



  
<div id="snippet_292" class="snippet">
  <h2><a href="/snippets/292-Tracking-404-and-500-with-Google-Analytics" title="Tracking 404 and 500 with Google Analytics - JavaScript - 404, 500, google, analytics, track">Tracking 404 and 500 with Google Analytics</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/61-JavaScript">
      JavaScript</a> posted about 1 year ago by christian
          
  </div>

  <div class="body">
    <p>Tracking 404 and 500 errors with Google Analytics is <a href="http://www.google.com/support/analytics/bin/answer.py?hl=en&amp;answer=86927">documented here</a>, but I tend to forget so I&#8217;m putting the information here:</p>
<p><pre class="active4d"><span class="line-numbers">   1 </span> <span class="LineComment"><span class="LineComment">//</span> 404</span>
<span class="line-numbers">   2 </span> pageTracker._trackPageview(<span class="String"><span class="String">&quot;</span>/404.html?page=<span class="String">&quot;</span></span> <span class="Operator">+</span> <span class="LibraryClassType">document</span>.<span class="NamedConstant">location</span>.<span class="NamedConstant">pathname</span> <span class="Operator">+</span> <span class="LibraryClassType">document</span>.<span class="NamedConstant">location</span>.search <span class="Operator">+</span> <span class="String"><span class="String">&quot;</span>&amp;from=<span class="String">&quot;</span></span> <span class="Operator">+</span> <span class="LibraryClassType">document</span>.<span class="NamedConstant">referrer</span>);
<span class="line-numbers">   3 </span> 
<span class="line-numbers">   4 </span> <span class="LineComment"><span class="LineComment">//</span> 500</span>
<span class="line-numbers">   5 </span> pageTracker._trackPageview(<span class="String"><span class="String">&quot;</span>/500.html?page=<span class="String">&quot;</span></span> <span class="Operator">+</span> <span class="LibraryClassType">document</span>.<span class="NamedConstant">location</span>.<span class="NamedConstant">pathname</span> <span class="Operator">+</span> <span class="LibraryClassType">document</span>.<span class="NamedConstant">location</span>.search <span class="Operator">+</span> <span class="String"><span class="String">&quot;</span>&amp;from=<span class="String">&quot;</span></span> <span class="Operator">+</span> <span class="LibraryClassType">document</span>.<span class="NamedConstant">referrer</span>);
</pre></p>
<p>In Rails I set the response code and use that instead of hardcoding it in the view:<br />
<pre class="active4d"><span class="line-numbers">   1 </span> <span class="Operator">&lt;</span><span class="Operator">%</span> <span class="Keyword">if</span> response.<span class="NamedConstant">status</span> <span class="Operator">!</span><span class="Operator">=</span> <span class="Number">404</span> <span class="Operator">%</span><span class="Operator">&gt;</span>
<span class="line-numbers">   2 </span> pageTracker._trackPageview();
<span class="line-numbers">   3 </span> <span class="Operator">&lt;</span><span class="Operator">%</span> <span class="Keyword">else</span> <span class="Operator">%</span><span class="Operator">&gt;</span>
<span class="line-numbers">   4 </span> pageTracker._trackPageview(<span class="String"><span class="String">&quot;</span>/404.html?page=<span class="String">&quot;</span></span> <span class="Operator">+</span> <span class="LibraryClassType">document</span>.<span class="NamedConstant">location</span>.<span class="NamedConstant">pathname</span> <span class="Operator">+</span> <span class="LibraryClassType">document</span>.<span class="NamedConstant">location</span>.search <span class="Operator">+</span> <span class="String"><span class="String">&quot;</span>&amp;from=<span class="String">&quot;</span></span> <span class="Operator">+</span> <span class="LibraryClassType">document</span>.<span class="NamedConstant">referrer</span>);
<span class="line-numbers">   5 </span> <span class="Operator">&lt;</span><span class="Operator">%</span> end <span class="Operator">%</span><span class="Operator">&gt;</span>
</pre></p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/644-404">404</a>, <a href="/tags/434-500">500</a>, <a href="/tags/115-google">google</a>, <a href="/tags/502-analytics">analytics</a>, <a href="/tags/506-track">track</a>
    
    
  </div>
</div>



  
<div id="snippet_219" class="snippet">
  <h2><a href="/snippets/219-How-to-track-user-actions-and-custom-events-with-Google-Analytics-and-jQuery" title="How to track user actions and custom events with Google Analytics and jQuery - JavaScript - jquery, google, analytics, track, click">How to track user actions and custom events with Google Analytics and jQuery</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/61-JavaScript">
      JavaScript</a> posted about 1 year ago by christian
          
  </div>

  <div class="body">
    <p>This is a customization of <a href="http://blog.rebeccamurphey.com/2008/01/06/track-outbound-clicks-with-google-analytics-and-jquery/">Rebecca Murphey&#8217;s</a> script:
<pre class="active4d"><span class="line-numbers">   1 </span> <span class="Operator">$</span>(<span class="String"><span class="String">'</span>a<span class="String">'</span></span>).each(<span class="Storage">function</span>() {
<span class="line-numbers">   2 </span> 	<span class="Storage">var</span> <span class="Operator">$</span>a <span class="Operator">=</span> <span class="Operator">$</span>(<span class="Variable">this</span>);
<span class="line-numbers">   3 </span> 	<span class="Storage">var</span> href <span class="Operator">=</span> <span class="Operator">$</span>a.attr(<span class="String"><span class="String">'</span>href<span class="String">'</span></span>);
<span class="line-numbers">   4 </span> 	
<span class="line-numbers">   5 </span> 	<span class="Keyword">if</span>(<span class="Operator">typeof</span> pageTracker <span class="Operator">==</span> <span class="String"><span class="String">'</span>undefined<span class="String">'</span></span>) { <span class="Keyword">return</span>; }
<span class="line-numbers">   6 </span> 
<span class="line-numbers">   7 </span> 	<span class="LineComment"><span class="LineComment">//</span> Link is external</span>
<span class="line-numbers">   8 </span> 	<span class="Keyword">if</span> (href.<span class="CommandMethod">match</span>(<span class="String"><span class="String">/</span>^http<span class="String">/</span></span>) <span class="Operator">&amp;</span><span class="Operator">&amp;</span> <span class="Operator">!</span>href.<span class="CommandMethod">match</span>(<span class="LibraryClassType">document</span>.<span class="NamedConstant">domain</span>)) {
<span class="line-numbers">   9 </span> 		<span class="Operator">$</span>a.<span class="CommandMethod">click</span>(<span class="Storage">function</span>() {
<span class="line-numbers">  10 </span> 			pageTracker._trackPageview(<span class="String"><span class="String">'</span>/external/<span class="String">'</span></span> <span class="Operator">+</span> href);
<span class="line-numbers">  11 </span> 		});
<span class="line-numbers">  12 </span> 	} <span class="Keyword">else</span> {
<span class="line-numbers">  13 </span> 		<span class="Operator">$</span>a.<span class="CommandMethod">click</span>(<span class="Storage">function</span>() {
<span class="line-numbers">  14 </span> 			pageTracker._trackPageview(<span class="String"><span class="String">'</span>/internal<span class="String">'</span></span> <span class="Operator">+</span> href);
<span class="line-numbers">  15 </span> 		});
<span class="line-numbers">  16 </span> 	}
<span class="line-numbers">  17 </span> });
</pre></p>


	<p>Note that clicks are shown as page views in reports, so you should exclude them from all reports. A future version of Google Analytics will allow you to track events, such as mouse clicks, without affecting page view reporting, see <a href="http://code.google.com/apis/analytics/docs/eventTrackerOverview.html">this page on the new event tracking beta feature</a> for more information.</p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/355-jquery">jquery</a>, <a href="/tags/115-google">google</a>, <a href="/tags/502-analytics">analytics</a>, <a href="/tags/506-track">track</a>, <a href="/tags/507-click">click</a>
    
    
  </div>
</div>



  
<div id="snippet_218" class="snippet">
  <h2><a href="/snippets/218-How-to-exclude-your-own-traffic-from-Google-Analytics-reports-and-other-JavaScript-based-analytics-software" title="How to exclude your own traffic from Google Analytics reports and other JavaScript based analytics software - Ruby - google, analytics, tracking, exclude, traffic">How to exclude your own traffic from Google Analytics reports and other JavaScript based analytics software</a></h2>
  <div class="details">
    <a style="background-color: #FFFF94;" href="http://snippets.aktagon.com/languages/124-Ruby">
      Ruby</a> posted about 1 year ago by christian
          
  </div>

  <div class="body">
    <h2>Option 1: Changing your browser&#8217;s user agent</h2>


	<p>Open the about:config page in Firefox by typing about:config in the address bar and pressing enter.  Now change the general.useragent.extra.firefox setting to an easily identifiable string, for example the following:
<pre class="active4d"><span class="line-numbers">   1 </span> <span class="Variable">Firefox</span><span class="Operator">/</span><span class="Number">3.0</span> disable<span class="Operator">-</span>tracking
</pre></p>


	<p>Then in your code check that the user-agent string doesn&#8217;t contain <a href="</p">disable-tracking</a>&gt;


	<p><pre class="active4d"><span class="line-numbers">   1 </span> <span class="Operator">&lt;</span><span class="Operator">%</span> <span class="Keyword">if</span> <span class="Operator">!</span>request.<span class="FunctionName">user_agent</span>.<span class="FunctionName">include?</span>(<span class="String"><span class="String">'</span>disable-tracking<span class="String">'</span></span>) <span class="String"><span class="String">%&gt;</span></span>
<span class="line-numbers">   2 </span> <span class="String">TRACKING CODE GOES HERE</span>
<span class="line-numbers">   3 </span> <span class="String">&lt;% end %<span class="String">&gt;</span></span>
</pre></p>


	<h2>Option 2:</h2>


	<p>Use one of Google Analytics native ways of excluding traffic from certain domains, IPs, user-agents or users having a specific browser cookie.</p>
  </div>

  <div style="font-size: 0.8em;margin:0.5em;">
    
      Tagged <a href="/tags/115-google">google</a>, <a href="/tags/502-analytics">analytics</a>, <a href="/tags/503-tracking">tracking</a>, <a href="/tags/504-exclude">exclude</a>, <a href="/tags/505-traffic">traffic</a>
    
    
  </div>
</div>






