适用于移动网站的 Google Analytics(分析)

概览

现在,Google Analytics(分析)报告可提供与 Google Analytics(分析)报告相同的数据,供您定位基于 WAP 的手机或其他无法执行 JavaScript 的低端移动设备。只需将我们的服务器端代码段(适用于 PHP、JSP、ASP.NET 和 Perl)粘贴到要跟踪的每个网页上即可。实现转化后,Google Analytics(分析)就会在标准 Google Analytics(分析)报告中创建相同类型的信息,包括会话和流量来源信息。

实施服务器端代码段后,特定语言的代码会为需要放置在每个跟踪网页上的图片代码生成一个网址。 图片网址的网址将与托管服务器端代码段的网址相同。当用户从移动设备导航到跟踪的网页时,他们的移动浏览器会加载该网页,进而发出请求,获取上述代码段创建的图片。当服务器端代码段收到请求时,它会触发另一个请求,将数据发送到 Google Analytics(分析)。

使用入门

要开始使用 Google Analytics(分析)服务器端代码段,您必须完成以下操作:

  1. 下载适合您的服务器环境的服务器代码段。
  2. 将该代码段上传到您的服务器。
  3. 使用特定语言的代码在服务器上更新您要跟踪的网页

下载库

以下软件包包含所有受支持语言的服务器端代码段和示例。

软件包 大小 SHA1 校验和
googleanalyticsformobile.zip 35.7 KiB 9102c9d8f9ddd3f53f7330d41b3b14b73a662646

下载后,您必须将所选语言的代码段上传到您的网络服务器。

更新您的网页

将服务器端代码段上传到网络服务器后,您就可以将跟踪代码添加到每个网页中。点击相关标签页可查看编程语言特定说明。

注意:您必须在下面提供的服务器端代码段中将 Google Analytics(分析)网络媒体资源 ID 的前缀从“UA-”更改为“MO-”。 例如,如果您的网络媒体资源 ID 为 UA-12345-67,则应在服务器端代码段中使用 MO-12345-67


PHP

PHP 的服务器端代码段需要 PHP 5。

Google Analytics(分析)移动 PHP 软件包中包含一个名为 ga.php 的文件,该文件在加载时会将一幅小图片写入响应。如需使用该工具,您必须将 ga.php 复制到您的项目中,以便其他 PHP 脚本可以访问它。您的用户无法直接访问该 SDK,但您自己的 PHP 脚本将包含引用 ga.php 的 HTML <img> 标记。ga.php 代码进而向 Google Analytics(分析)服务发送请求,并返回通过 HTML 呈现的图片数据。

软件包中包含示例方法 googleAnalyticsGetImageUrl,可帮助您生成完整的图片网址。示例脚本如下:

<?php
  // Copyright 2009 Google Inc. All Rights Reserved.
  $GA_ACCOUNT = "ACCOUNT ID GOES HERE";
  $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("&", "&amp;", $url);
  }
?>

现在,只需调用此方法,并将生成的网址用作 HTML <img> 标记的 src 属性,即可实现。该方法将向 ga.php 发送包含相关跟踪参数的请求。ga.php 会将这些参数发送到 Google Analytics(分析)服务,并返回要呈现的图片:

<?php
  $googleAnalyticsImageUrl = googleAnalyticsGetImageUrl();
  echo '<img src="' . $googleAnalyticsImageUrl . '" />';
?>

JSP

JSP 服务器端代码段已在 Jetty 6 上进行了测试。

Google Analytics(分析)移动版 JSP 软件包中包含一个名为 ga.jsp 的文件,该文件在加载后会将一张小图片写入响应。如需使用该工具,您必须将 ga.jsp 复制到您的项目中,并确保在 web.xml 中添加映射,或以其他方式可以访问该映射。您的用户不会直接访问该 JSP,但您自己的 JSP 将包含引用此 JSP 的 HTML <img> 标记。ga.jsp 代码进而向 Google Analytics(分析)服务发送请求,并返回通过 HTML 呈现的图片数据。

下载软件包中包含示例方法 googleAnalyticsGetImageUrl,可帮助您生成完整的图片网址。以下是 JSP 示例:

<%@ page import="java.io.UnsupportedEncodingException,
                    java.net.URLEncoder" %>
<%!
  // Copyright 2009 Google Inc. All Rights Reserved.
  private static final String GA_ACCOUNT = "ACCOUNT ID GOES HERE";
  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("&", "&amp;");
  }
%>

现在,只需调用此方法,并将生成的网址用作 HTML <img> 标记的 src 属性,即可实现。该方法将向 ga.jsp 发送包含相关跟踪参数的请求。ga.jsp 会将这些参数发送到 Google Analytics(分析)服务,并返回要呈现的图片:

<% String googleAnalyticsImageUrl = googleAnalyticsGetImageUrl(request); %>
<img src="<%= googleAnalyticsImageUrl %>" />

ASP.net

ASP.NET 的服务器端代码段已在 IIS 6.0 上进行了测试。

Google Analytics(分析)移动 ASP.NET 软件包中包含一个名为 ga.aspx 的文件,该文件在加载后会将一张小图片写入响应。如需使用该工具,您必须将 ga.aspx 复制到您的项目,以便其他 ASP 可以访问它。您的用户无法直接访问该页面,但您自己的 ASP 将包含引用 ga.aspx 的 HTML <img> 标记。ga.aspx 代码进而向 Google Analytics(分析)服务发送请求,并返回通过 HTML 呈现的图片数据。

下载软件包中包含示例方法 GoogleAnalyticsGetImageUrl,可帮助您生成完整的图片网址。以下是 ASP 示例:

<%@ Page Language="C#" %>
<script language="C#" runat="server">
  // Copyright 2009 Google Inc. All Rights Reserved.
  private const string GaAccount = "ACCOUNT ID GOES HERE";
  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("&", "&amp;");
  }
</script>

现在,只需调用此方法,并将生成的网址用作 HTML <img> 标记的 src 属性,即可实现。该方法将向 ga.aspx 发送包含相关跟踪参数的请求。ga.aspx 会将这些参数发送到 Google Analytics(分析)服务,并返回要呈现的图片:

<% string googleAnalyticsImageUrl = GoogleAnalyticsGetImageUrl(); %>
<img src="<%= googleAnalyticsImageUrl %>" />

Perl

Perl 的服务器端代码段要求使用 Perl 5.10。

Google Analytics(分析)移动版 Perl 软件包中包含一个名为 ga.pl 的文件,该文件在加载后会将一幅小图片写入响应。要使用该工具,您必须将 ga.pl 复制到您的项目中,以便其他 Perl 脚本可以访问它。您的用户不会直接访问该浏览器,但您自己的 Perl 脚本会包含引用 ga.pl 的 HTML <img> 标记。ga.pl 代码进而向 Google Analytics(分析)服务发送请求,并返回通过 HTML 呈现的图片数据。

下载软件包中包含示例子例程 google_analytics_get_image_url,可帮助您生成完整的图片网址。示例脚本如下:

# Copyright 2009 Google Inc. All Rights Reserved.
use URI::Escape;

use constant GA_ACCOUNT => 'ACCOUNT ID GOES HERE';
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/&/&amp\;/g;
  $url;
}

现在,调用此子例程并将生成的网址用作 HTML <img> 标记的 src 属性非常简单。该子例程将向 ga.pl 发送一个请求,其中包含相关跟踪参数。ga.pl 会将这些参数发送到 Google Analytics(分析)服务,并返回要呈现的图片:

print '<img src="' . google_analytics_get_image_url() . '" />';