Integración en Google Analytics

La plataforma de Google Analytics te permite medir las interacciones de los usuarios con tu empresa en diversos dispositivos y entornos. Google Analytics proporciona los recursos para recopilar, almacenar, informar y procesar estas interacciones de usuarios.

Puedes recopilar estadísticas del cliente y del servidor.

Recopilación de estadísticas del cliente

Usa los SDK y las API de Google Analytics para medir cómo interactúan los usuarios con tu contenido y tus iniciativas de marketing. Puedes ver los datos sobre la interacción de los usuarios en la interfaz de usuario de Google Analytics o usar las API de informes para buscar los datos. Para obtener más información sobre la recopilación de estadísticas del cliente, selecciona el siguiente vínculo según el tipo de cliente:

  • Seguimiento web (analytics.js): Mide la interacción de los usuarios con las aplicaciones o los sitios web.
  • Android: Mide la interacción de los usuarios con las aplicaciones para Android.
  • iOS: Mide la interacción de los usuarios con las aplicaciones para iOS.
  • Protocolo de medición: Mide la interacción de los usuarios en cualquier entorno con este protocolo de nivel bajo.

Recopilación de estadísticas del servidor

Si bien App Engine brinda un mecanismo que permite registrar eventos en tu aplicación, puedes usar Google Analytics para realizar el seguimiento de los eventos específicos del servidor y hacer lo siguiente:

  • Analizar datos históricos: App Engine te permite configurar la cantidad máxima de días o de tamaño para tus archivos de registro. Tras superar ese límite, ya no tendrás acceso a esos archivos de registro. El seguimiento de eventos en Google Analytics te permite una visibilidad más prolongada de los eventos pasados.
  • Realizar el seguimiento de eventos clave: Los archivos de registro pueden ser detallados, ya que reciben datos de varios componentes de tu aplicación. Si usas el seguimiento de eventos, puedes identificar los eventos clave y seguirlos, junto con algunos metadatos.
  • Trabajar en la interfaz de usuario: Aprovecha la amplia interfaz de usuario que proporciona Google Analytics para visualizar, informar y exportar estos eventos del servidor.

Para habilitar la recopilación de estadísticas del servidor, puedes usar un cliente HTTP y realizar solicitudes HTTP con el Protocolo de medición de Google Analytics. Si deseas obtener más información, consulta la guía para desarrolladores de Google Analytics sobre el seguimiento de eventos.

Aplicación de muestra

La siguiente aplicación de muestra te enseña a realizar el seguimiento de eventos en tu aplicación de App Engine. La aplicación realiza una solicitud HTTP y publica datos sobre el evento en Google Analytics.

Antes de usar el Protocolo de medición de Google Analytics en App Engine, haz lo siguiente:

  • Antes de ejecutar la app de muestra de manera local, configura las variables de entorno que requiere la aplicación:

    export GA_TRACKING_ID=YOUR_TRACKING_ID
    
  • Puedes ejecutar el código de muestra de manera local con la línea de comandos. Por ejemplo:

    go run analytics.go
    

  • Puedes integrar el siguiente código en tu aplicación de App Engine para publicar datos del seguimiento de eventos en Google Analytics:

    
    // Sample analytics demonstrates Google Analytics calls from App Engine flexible environment.
    package main
    
    import (
    	"errors"
    	"fmt"
    	"log"
    	"net"
    	"net/http"
    	"net/url"
    	"os"
    
    	uuid "github.com/gofrs/uuid"
    
    	"google.golang.org/appengine"
    )
    
    var gaPropertyID = mustGetenv("GA_TRACKING_ID")
    
    func mustGetenv(k string) string {
    	v := os.Getenv(k)
    	if v == "" {
    		log.Fatalf("%s environment variable not set.", k)
    	}
    	return v
    }
    
    func main() {
    	http.HandleFunc("/", handle)
    
    	appengine.Main()
    }
    
    func handle(w http.ResponseWriter, r *http.Request) {
    	if r.URL.Path != "/" {
    		http.NotFound(w, r)
    		return
    	}
    
    	if err := trackEvent(r, "Example", "Test action", "label", nil); err != nil {
    		fmt.Fprintf(w, "Event did not track: %v", err)
    		return
    	}
    	fmt.Fprint(w, "Event tracked.")
    }
    
    func trackEvent(r *http.Request, category, action, label string, value *uint) error {
    	if gaPropertyID == "" {
    		return errors.New("analytics: GA_TRACKING_ID environment variable is missing")
    	}
    	if category == "" || action == "" {
    		return errors.New("analytics: category and action are required")
    	}
    
    	v := url.Values{
    		"v":   {"1"},
    		"tid": {gaPropertyID},
    		// Anonymously identifies a particular user. See the parameter guide for
    		// details:
    		// https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#cid
    		//
    		// Depending on your application, this might want to be associated with the
    		// user in a cookie.
    		"cid": {uuid.Must(uuid.NewV4()).String()},
    		"t":   {"event"},
    		"ec":  {category},
    		"ea":  {action},
    		"ua":  {r.UserAgent()},
    	}
    
    	if label != "" {
    		v.Set("el", label)
    	}
    
    	if value != nil {
    		v.Set("ev", fmt.Sprintf("%d", *value))
    	}
    
    	if remoteIP, _, err := net.SplitHostPort(r.RemoteAddr); err != nil {
    		v.Set("uip", remoteIP)
    	}
    
    	// NOTE: Google Analytics returns a 200, even if the request is malformed.
    	_, err := http.PostForm("https://www.google-analytics.com/collect", v)
    	return err
    }
    

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Entorno flexible de App Engine para Go