Google Analytics na potrzeby witryn mobilnych

Przegląd

Wszystkie dane dostępne w raportach Google Analytics są teraz dostępne na potrzeby kierowania reklam na telefony z obsługą protokołu WAP lub na inne zaawansowane urządzenia mobilne, które nie mogą wykonywać kodu JavaScript. Wystarczy wkleić nasz fragment kodu po stronie serwera (dostępny dla języków PHP, JSP, ASP.NET i Perl) na każdej stronie, która ma być śledzona. Po wdrożeniu Google Analytics utworzy takie same informacje w standardowych raportach Analytics, w tym informacje o sesjach i źródłach wizyt.

Po zaimplementowaniu fragmentu kodu po stronie serwera kod języka wygeneruje adres URL tagu graficznego, który należy umieścić na każdej śledzonej stronie. Adres URL obrazu to ten sam adres URL, pod którym hostowany jest fragment kodu po stronie serwera. Gdy użytkownik przejdzie na śledzoną stronę z urządzenia mobilnego, wczyta tę stronę w przeglądarce mobilnej, a to z kolei wyśle żądanie obrazu utworzonego za pomocą powyższego fragmentu. Gdy fragment kodu po stronie serwera otrzyma żądanie, uruchomi kolejne żądanie przesłania danych do Google Analytics.

Pierwsze kroki

Aby rozpocząć korzystanie z fragmentu kodu Google Analytics po stronie serwera, musisz:

  1. Pobierz fragment kodu serwera na potrzeby środowiska serwera.
  2. Prześlij fragment kodu na swój serwer.
  3. Zaktualizuj strony na serwerze, które chcesz śledzić, za pomocą kodu dla konkretnego języka

Pobierz Bibliotekę

Ten pakiet zawiera fragmenty kodu po stronie serwera oraz przykłady dla wszystkich obsługiwanych języków.

Pakiet Rozmiar Suma kontrolna SHA1
googleanalyticsformobile.zip 35,7 KiB 9102c9d8f9ddd3f53f7330d41b3b14b73a662646

Po pobraniu musisz przesłać fragment kodu w wybranym języku na swój serwer WWW.

Aktualizacja stron internetowych

Po przesłaniu fragmentu kodu po stronie serwera na swój serwer WWW możesz dodać kod śledzenia do każdej ze swoich stron. Kliknij kartę instrukcji dla konkretnego języka programowania.

Uwaga: we fragmentach po stronie serwera podanych poniżej musisz zmienić prefiks identyfikatora usługi internetowej w Analytics z UA- na MO-. Jeśli na przykład identyfikator usługi internetowej to UA-12345-67, we fragmentach kodu po stronie serwera użyj MO-12345-67.


PHP

Fragment kodu PHP po stronie serwera wymaga języka PHP 5.

Pakiet PHP Google Analytics dla aplikacji mobilnych zawiera plik o nazwie ga.php, który po załadowaniu powoduje zapisanie w odpowiedzi małego obrazu. Aby go użyć, skopiuj ga.php do projektu, tak aby inne skrypty PHP miały do niego dostęp. Użytkownicy nie będą mieli do niej bezpośredniego dostępu, ale Twoje własne skrypty PHP będą zawierać tag HTML <img> odwołujący się do: ga.php. Z kolei kod ga.php wysyła żądanie do usługi Analytics i zwraca dane obrazu renderowane w kodzie HTML.

Przykładową metodę (googleAnalyticsGetImageUrl) znajdziesz w pakiecie, która pomoże Ci wygenerować pełny adres URL obrazu. Oto przykładowy skrypt:

<?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);
  }
?>

Teraz wystarczy wywołać tę metodę i użyć wynikowego adresu URL jako atrybutu src tagu HTML <img>. Metoda spowoduje wysłanie do ga.php żądania z odpowiednimi parametrami śledzenia. ga.php wyśle te parametry do usługi Analytics i zwróci obraz do wyrenderowania:

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

JSP

Fragment kodu JSP po stronie serwera został przetestowany na Jetty 6.

Pakiet JSP Google Analytics dla aplikacji mobilnych zawiera plik o nazwie ga.jsp, który po załadowaniu powoduje zapisanie małego obrazu w odpowiedzi. Aby go użyć, skopiuj ga.jsp do projektu i upewnij się, że dodano do niego mapowanie w web.xml lub w inny sposób, aby móc uzyskać do niego dostęp. Użytkownicy nie będą mieli do niej bezpośredniego dostępu, ale Twoje własne JSP będą zawierać tag HTML <img> odwołujący się do tego JSP. Z kolei kod ga.jsp wysyła żądanie do usługi Analytics i zwraca dane obrazu renderowane w kodzie HTML.

Przykładową metodę googleAnalyticsGetImageUrl znajdziesz w pakiecie pobierania, która pomoże Ci wygenerować pełny adres URL obrazu. Oto przykładowy 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;");
  }
%>

Teraz wystarczy wywołać tę metodę i użyć wynikowego adresu URL jako atrybutu src tagu HTML <img>. Metoda spowoduje wysłanie do ga.jsp żądania z odpowiednimi parametrami śledzenia. ga.jsp wyśle te parametry do usługi Analytics i zwróci obraz do wyrenderowania:

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

ASP.net

Fragment kodu ASP.NET po stronie serwera został przetestowany w IIS 6.0.

Pakiet ASP.NET Google Analytics dla aplikacji mobilnych zawiera plik o nazwie ga.aspx, który po załadowaniu powoduje zapisanie w odpowiedzi małego obrazu. Aby go użyć, musisz skopiować do projektu plik ga.aspx, by inne Twoje hasła aplikacji były dostępne. Użytkownicy nie będą mieli do niej bezpośredniego dostępu, ale Twoje własne hasła aplikacji zawierają tag HTML <img> odwołujący się do: ga.aspx. Z kolei kod ga.aspx wysyła żądanie do usługi Analytics i zwraca dane obrazu renderowane w kodzie HTML.

Przykładową metodę (GoogleAnalyticsGetImageUrl) znajdziesz w pakiecie do pobrania, która pomoże Ci wygenerować pełny adres URL obrazu. Oto przykładowe hasło 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>

Teraz wystarczy wywołać tę metodę i użyć wynikowego adresu URL jako atrybutu src tagu HTML <img>. Metoda spowoduje wysłanie do ga.aspx żądania z odpowiednimi parametrami śledzenia. ga.aspx wyśle te parametry do usługi Analytics i zwróci obraz do wyrenderowania:

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

Perl

Fragment kodu po stronie serwera dla języka Perl wymaga języka Perl 5.10.

Pakiet Google Analytics dla aplikacji Mobile Perl zawiera plik o nazwie ga.pl, który po załadowaniu strony zapisuje w odpowiedzi mały obraz. Aby go użyć, skopiuj ga.pl do projektu, tak aby inne skrypty Perl miały do niego dostęp. Użytkownicy nie będą mieli do niej bezpośredniego dostępu, ale Twoje skrypty Perl będą zawierać tag HTML <img> odwołujący się do ga.pl. Z kolei kod ga.pl wysyła żądanie do usługi Analytics i zwraca dane obrazu renderowane w kodzie HTML.

W pakiecie do pobrania znajduje się przykładowa podprogram: google_analytics_get_image_url, która ułatwia generowanie pełnego adresu URL obrazu. Oto przykładowy skrypt:

# 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;
}

Teraz wystarczy wywołać tę podprocedurę i użyć wynikowego adresu URL jako atrybutu src tagu HTML <img>. Podprogram wysyła do ga.pl żądanie z odpowiednimi parametrami śledzenia. ga.pl wyśle te parametry do usługi Analytics i zwróci obraz do wyrenderowania:

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