1. ga.js
2. urchin.js
3. gaq.js
3.1. Standard 標準
3.1.1. A single domain(default) 単一のドメイン(デフォルト)
3.1.1.1. <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-*******-**']); _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>
3.1.2. One domain with multiple subdomains 複数のサブドメインがある1つのドメイン
3.1.2.1. <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-*******-**']); _gaq.push(['_setDomainName', '.tanakafoods.com']); _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>
3.1.3. Multiple top-level domains 複数のトップレベルドメイン
3.1.3.1. <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-*******-**']); _gaq.push(['_setDomainName', 'none']); _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>
3.1.4. I want to track AdWords campaigns
3.2. Advanced 詳細
3.2.1. A single domain(default) 単一のドメイン(デフォルト)
3.2.2. One domain with multiple subdomains 複数のサブドメインがある1つのドメイン
3.2.3. Multiple top-level domains 複数のトップレベルドメイン
3.2.4. A site built for a mobile phone 携帯電話向けのサイト
3.2.4.1. PHP
3.2.4.1.1. <?php // Copyright 2009 Google Inc. All Rights Reserved. $GA_ACCOUNT = "MO-*******-**"; $GA_PIXEL = "/ga.php"; function googleAnalyticsGetImageUrl() { global $GA_ACCOUNT, $GA_PIXEL; $url = ""; $url .= $GA_PIXEL . "?"; $url .= "utmac=" . $GA_ACCOUNT; $url .= "&utmn=" . rand(0, 0x7fffffff); $referer = $_SERVER["HTTP_REFERER"]; $query = $_SERVER["QUERY_STRING"]; $path = $_SERVER["REQUEST_URI"]; if (empty($referer)) { $referer = "-"; } $url .= "&utmr=" . urlencode($referer); if (!empty($path)) { $url .= "&utmp=" . urlencode($path); } $url .= "&guid=ON"; return str_replace("&", "&", $url); } ?>
3.2.4.1.2. <?php $googleAnalyticsImageUrl = googleAnalyticsGetImageUrl(); echo '<img src="' . $googleAnalyticsImageUrl . '" />';?>
3.2.4.1.3. ga.php
3.2.4.2. Perl
3.2.4.2.1. # Copyright 2009 Google Inc. All Rights Reserved. use URI::Escape; use constant GA_ACCOUNT => 'MO-*******-**'; use constant GA_PIXEL => '/ga.pl'; sub google_analytics_get_image_url { my $url = ''; $url .= GA_PIXEL . '?'; $url .= 'utmac=' . GA_ACCOUNT; $url .= '&utmn=' . int(rand(0x7fffffff)); my $referer = $ENV{'HTTP_REFERER'}; my $query = $ENV{'QUERY_STRING'}; my $path = $ENV{'REQUEST_URI'}; if ($referer eq "") { $referer = '-'; } $url .= '&utmr=' . uri_escape($referer); $url .= '&utmp=' . uri_escape($path); $url .= '&guid=ON'; $url =~ s/&/&/g; $url; }
3.2.4.2.2. print '<img src="' . google_analytics_get_image_url() . '" />';
3.2.4.2.3. ga.pl
3.2.4.3. JSP
3.2.4.3.1. <%@ page import="java.io.UnsupportedEncodingException, java.net.URLEncoder" %> <%! // Copyright 2009 Google Inc. All Rights Reserved. private static final String GA_ACCOUNT = "MO-*******-**"; private static final String GA_PIXEL = "/ga.jsp"; private String googleAnalyticsGetImageUrl( HttpServletRequest request) throws UnsupportedEncodingException { StringBuilder url = new StringBuilder(); url.append(GA_PIXEL + "?"); url.append("utmac=").append(GA_ACCOUNT); url.append("&utmn=").append(Integer.toString((int) (Math.random() * 0x7fffffff))); String referer = request.getHeader("referer"); String query = request.getQueryString(); String path = request.getRequestURI(); if (referer == null || "".equals(referer)) { referer = "-"; } url.append("&utmr=").append(URLEncoder.encode(referer, "UTF-8")); if (path != null) { if (query != null) { path += "?" + query; } url.append("&utmp=").append(URLEncoder.encode(path, "UTF-8")); } url.append("&guid=ON"); return url.toString().replace("&", "&"); } %>
3.2.4.3.2. <% String googleAnalyticsImageUrl = googleAnalyticsGetImageUrl(request); %> <img src="<%= googleAnalyticsImageUrl %>" />
3.2.4.3.3. ga.jsp
3.2.4.4. ASPX
3.2.4.4.1. <%@ Page Language="C#" %> <script language="C#" runat="server"> // Copyright 2009 Google Inc. All Rights Reserved. private const string GaAccount = "MO-*******-**"; private const string GaPixel = "/ga.aspx"; private string GoogleAnalyticsGetImageUrl() { System.Text.StringBuilder url = new System.Text.StringBuilder(); url.Append(GaPixel + "?"); url.Append("utmac=").Append(GaAccount); Random RandomClass = new Random(); url.Append("&utmn=").Append(RandomClass.Next(0x7fffffff)); string referer = "-"; if (Request.UrlReferrer != null && "" != Request.UrlReferrer.ToString()) { referer = Request.UrlReferrer.ToString(); } url.Append("&utmr=").Append(HttpUtility.UrlEncode(referer)); if (HttpContext.Current.Request.Url != null) { url.Append("&utmp=").Append(HttpUtility.UrlEncode(Request.Url.PathAndQuery)); } url.Append("&guid=ON"); return url.ToString().Replace("&", "&"); } </script>
3.2.4.4.2. <% string googleAnalyticsImageUrl = GoogleAnalyticsGetImageUrl(); %> <img src="<%= googleAnalyticsImageUrl %>" />
3.2.4.4.3. ga.aspx
3.2.5. I want to track AdWords campaigns AdWordsキャンペーンをトラッキングします
3.2.6. I want to track online ad campaigns from providers 他のプロバイダからのオンライン広告キャンペーンをトラッキングします
3.2.7. My online campaigns from other providers use different tags than those used by Google Analytics 他のプロバイダからのオンラインキャンペーンではGoogle Analyticsとは異なるタグを使用しています
3.2.8. I am currently tracking using Urchin software Urchinソフトウェアを使用して既にトラッキングしています
3.2.9. I want to track dynamic content 動的なコンテンツをトラッキングします
3.2.10. I want to track PHP pages PHPページをトラッキングします
3.3. Custom カスタム
3.4. gaAddons.js
3.5. トラッキングコードリファレンス
3.5.1. グローバルオブジェクト
3.5.1.1. _gat
3.5.1.1.1. _gatグローバルオブジェクトは、他のあらゆるメソッドを呼び出す元となるトラッカーオブジェクトを作成、取得するために使用されます
3.5.1.1.2. このリストのメソッドは必ず_gatグローバル変数を使用して作成したトラッカーオブジェクトでのみ呼び出します
3.5.1.1.3. その他のメソッドはすべて、非同期トラッキング用の_gaqグローバルオブジェクトを使用して呼び出します
3.5.1.1.4. _gatオブジェクトのメソッド
3.5.1.2. _gaq
3.5.2. 基本的なメソッド
3.5.2.1. _deleteCustomVar(index)
3.5.2.1.1. 指定されているインデックス(存在する場合)に割り当てられている変数を削除します
3.5.2.1.2. ユーザーレベルのカスタム変数を設定した後に、この変数が不要になる場合
3.5.2.1.3. _gaq.push(['_deleteCunsomVar', 1]);
3.5.2.1.4. パラメータ
3.5.2.2. _getName()
3.5.2.2.1. _getName()トラッカーの作成時に付けられた名前を返します
3.5.2.2.2. _gaq.push(['_getName']);
3.5.2.2.3. 戻り値
3.5.2.3. _getAccount()
3.5.2.3.1. このトラッカーオブジェクトのGoogle AnalyticsトラッキングIDを返します
3.5.2.3.2. 複数のアカウントのウェブサイト上のページをトラッキングしている場合は、 このメソッドを使用して、特定のトラッカーオブジェクトに関連付けられているアカウントを判断できます
3.5.2.3.3. _gaq.push(['_getAccount']);
3.5.2.3.4. 戻り値
3.5.2.4. _getVersion()
3.5.2.4.1. GATCのバージョン番号を返します
3.5.2.4.2. _gaq.push(['_getVersion']);
3.5.2.4.3. 戻り値
3.5.2.5. _getVisitorCunstomVar(index)
3.5.2.5.1. 指定されたインデックスに割り当てられているユーザーレベルカスタム変数を返します
3.5.2.5.2. _gaq.push(['_getVisitCustomVar', 1]);
3.5.2.5.3. パラメータ
3.5.2.5.4. 戻り値
3.5.2.6. _setAccount(acountID)
3.5.2.6.1. 非同期トラッキングでのみ使用
3.5.2.6.2. トラッキングオブジェクトのウェブプロパティIDを設定します
3.5.2.6.3. このメソッドを複数回呼び出すと、そのたびに新しいトラッキングオブジェクトが作成されます
3.5.2.6.4. _gaq.push(['_setAccount', 'UA-******-**']);
3.5.2.6.5. パラメータ
3.5.2.7. _setCunsomVar(index, name, value, opt_scope)
3.5.2.7.1. 変数に指定された名前、値、範囲でカスタム変数を設定します
3.5.2.7.2. nameとvalueの合計が64バイト文字以下になる必要があります
3.5.2.7.3. _gaq.push(['_setCunstomVar', 1, 'Section', 'Life & Style', 3]);
3.5.2.7.4. 戻り値
3.5.2.7.5. パラメータ
3.5.2.8. _setSampleRate(newRate)
3.5.2.8.1. 新しいサンプルレートを設定します
3.5.2.8.2. ウェブサイトのサイズが非常に大きく、アクセスが殺到することがある場合は、 サンプルレートを設定することでレポートトラッキングの中断を回避できます
3.5.2.8.3. Google Analyticsでのサンプリングはユニークユーザーごとに一貫して行われ、 ユニークユーザーはサンプリング開始時の設定に応じてサンプルに常に含まれるか、 常に除外されるので、サンプリングが有効になっているときでも傾向やレポートの信頼性が確保されます
3.5.2.8.4. _gaq.push(['_setSampleRate', '80']);
3.5.2.8.5. パラメータ
3.5.2.9. _setSessionCookieTimeout(cookieTimeoutMillis)
3.5.2.9.1. セッションのCookieのタイムアウトをミリ秒単位で設定します
3.5.2.9.2. デフォルトでは、セッションのタイムアウトは30分に設定されています
3.5.2.9.3. セッションのタイムアウトは訪問数を計算するために使用されます
3.5.2.9.4. 訪問は、ブラウザでの操作が30分間行われないか、ブラウザが閉じられたときに終了するためです
3.5.2.9.5. 特定のニーズに対する「セッション」の定義を変更する場合は、ミリ秒数を渡して新しい値を定義出来ます
3.5.2.9.6. これは、訪問数が計算されるセクションと、訪問数が他の値の計算に資料されるセクションすべての訪問数レポートに影響します
3.5.2.9.7. 例えば訪問数はセッションタイムアウトを短くすると増加し、セッションタイムアウトを長くすると減少します
3.5.2.9.8. 有効期限を0に変更すると、このCookieはブラウザが閉じられたときに削除されます
3.5.2.9.9. _gaq.push(['_setSessionCookieTimeout', 1800000]);
3.5.2.9.10. パラメータ
3.5.2.10. _setVisitorCookieTimeout(cookieTimeoutMillis)
3.5.2.10.1. Google AnalyticsユーザーのCookie有効期限をミリ秒単位で設定します
3.5.2.10.2. デフォルトでは、ユーザーのCookieは2年で期限切れになるように設定されます
3.5.2.10.3. このメソッドを使用すると、ユーザーのCookieの有効期限を変更できます
3.5.2.10.4. 有効期限を0に変更すると、このCookieはブラウザが閉じられたときに削除されます
3.5.2.10.5. _gaq.push(['_setVisitorCookieTimeout', 63072000000]);
3.5.2.10.6. パラメータ
3.5.2.11. _trackPageview(opt_pageURL)
3.5.2.11.1. GATC(Google Analytics Tracker Code)の主要ロジック
3.5.2.11.2. リンカー機能が有効になっている場合は、URLからCookieの値を抽出しようとします
3.5.2.11.3. 有効になっていない場合は、document.cookieからCookieの値を抽出しようとします
3.5.2.11.4. 必要に応じてCookieを更新または作成し、ドキュメントオブジェクトに書き込みます
3.5.2.11.5. UCFE(Urchin Collector Front-end)に送信する適切な指標をすべて収集します
3.5.2.11.6. _gaq.push(['_setAccount', 'UA-12345-6']); _gaq.push(['_trackPageview', '/home/landingPage']);
3.5.2.11.7. パラメータ