Guía para programadores de informes sin muestrear

La API de administración de Google Analytics permite crear informes sin muestrear de forma programática.

Introducción

Los informes sin muestrear son informes de Google Analytics que se han generado con datos sin muestrear. Los informes sin muestrear actualmente solo están disponibles para los usuarios de Google Analytics Premium.

Con esta API puedes:

  • Recuperar la información sobre todos los informes sin muestrear existentes. Crear informes sin muestrear únicos.
  • Comprobar el estado de procesamiento de los informes sin muestrear.
  • Obtener un enlace al archivo de datos de un informe sin muestrear una vez que se ha completado el procesamiento.
  • Suprimir informes sin muestrear.

Recuperar datos para informes sin muestrear

Al crear un informe sin muestrear puede transcurrir algo de tiempo antes de que el informe se pueda descargar. El campo status de un informe sin muestrear indica si se ha completado el procesamiento de ese informe. Cuando el estado es FINALIZADO, puedes usar el objeto downloadType y el campo de detalles de descarga correspondiente para recuperar el archivo que contiene los datos del informe. Por ejemplo:

No utilices un sondeo continuo de frecuencia alta para comprobar el estado de estos informes, ya que es probable que agotes la cuota diaria con bastante rapidez. Debes espaciar las solicitudes al consultar el estado de los informes sin muestrear.

Usar la API de Google Drive y Google Cloud Storage

En función del lugar en el que se entregue el archivo (Google Drive o Google Cloud Storage), recibirás el enlace correspondiente. Puedes usar la API de Drive o la de Cloud Storage para descargar el archivo mediante este enlace. Para obtener más información sobre cómo recuperar este archivo, consulta la documentación de la API de Google Drive o la API de Google Cloud Storage.

Por ejemplo, si tu informe sin muestrear se almacena en Google Drive, puedes enviar una solicitud HTTP GET autorizada a la URL del recurso del archivo e incluir el parámetro de consulta alt=media.

GET /drive/v2/files/XXXXXX?alt=media
Host: www.googleapis.com
Content-length: 0
Authorization: Bearer ya29.AHESVbXTUv5mHMo3RYfmS1YJonjzzdTOFZwvyOAUVhrs

Donde XXXXXX es el informe sin muestrear driveDownloadDetails.documentId.

Autenticación

Si tienes previsto utilizar el informe sin muestrear en combinación con las API de Drive o de Cloud Storage para las descargas de archivos, debes incluir el ámbito de autenticación correspondiente para dicha API (además del ámbito de autenticación de la API de Analytics) al solicitar un token de OAuth 2.0. De este modo podrás usar el mismo token de autenticación en ambas API.

Suprimir informes sin muestrear

Puedes suprimir informes sin muestrear programados o completados. Sin embargo, llamar a delete durante el corto espacio de tiempo que dura la generación del informe puede provocar un error. Suprimir informes sin muestrear quita únicamente el recurso de tu vista (perfil) GA; los datos exportados en Google Drive o Google Cloud Storage permanecerán.

Restricciones

Se aplican las siguientes restricciones a la creación de los informes sin muestrear.

  • Solo puedes especificar un máximo de cuatro dimensiones.
  • Algunos tipos de datos de informe no se admiten, por ejemplo, los de AdWords.
  • No se admiten las consultas que se considere que pueden suponer demasiada carga.

Si se determina que tu solicitud genera demasiada carga, la operación de creación devolverá un error con un mensaje adecuado. Si esto sucede, puedes:

  • Solicitar menos dimensiones.
  • Dividir la consulta en varias consultas con periodos de menor duración y combinar los informes resultantes.

Casos prácticos

Informes sin muestrear y API de informes centrales

Si utilizas la API de informes centrales para recuperar datos de informes y contienen datos muestreados, puedes crear un informe sin muestrear para la misma consulta.

  1. Crea una solicitud de la API de informes centrales.
  2. En la respuesta, comprueba si la propiedad containsSampledData incluye datos muestreados.
  3. Si esta propiedad se establece en true, puedes usar los campos query y profileInfo de la misma respuesta para crear una solicitud de un informe sin muestrear.

Campo query de ejemplo de la respuesta de la API de informes centrales:

"query": {
  "start-date": "2011-01-01",
  "end-date": "2011-01-31",
  "ids": "ga:1234",
  "dimensions": "ga:browser",
  "metrics": [
  "ga:visits"
  ],
  "filters": "ga:country==US",
  "start-index": 1,
  "max-results": 1000
}

Campo profileInfo de ejemplo de la respuesta de la API de informes centrales:

"profileInfo": {
  "profileId": "1234",
  "accountId": "12345",
  "webPropertyId": "UA-12345-1",
  "internalWebPropertyId": "11254",
  "profileName": "Name of the profile",
  "tableId": "ga:1234"
}

A continuación se ofrece un ejemplo de cómo crear un informe sin muestrear a partir de una respuesta de la API de informes centrales:

Java

// Make a Core Reporting API call.
GaData reportingApiData = v3.data().ga().get(...).execute();

// Check if the response is sampled.
if (reportingApiData.getContainsSampledData()) {

  // Use the “query” object to construct an unsampled report object.
  Query query = reportingApiData.getQuery();
  UnsampledReport report = new UnsampledReport()
      .setDimensions(query.getDimensions())
      .setMetrics(Joiner.on(',').join(query.getMetrics()))
      .setStartDate(startDate)
      .setEndDate(endDate)
      .setSegment(query.getSegment())
      .setFilters(query.getFilters())
      .setTitle(“My unsampled report”);

  // Use “profileInfo” to create an InsertRequest for creating an
  // unsampled report.
  ProfileInfo profileInfo = reportingApiData.getProfileInfo();
  Insert insertRequest = analytics.management().unsampledReports()
  .insert(profileInfo.getAccountId(),
          profileInfo.getWebPropertyId(),
          profileInfo.getProfileId(),
          report);
  UnsampledReport createdReport = insertRequest.execute();
}

Combinar de datos sin muestrear de varios días

Puedes combinar los informes de varios días para obtener datos sin muestrear durante un determinado periodo. Esto resulta útil cuando una solicitud de datos sin muestrear es demasiado grande. En estos casos, puedes dividir la solicitud en varias solicitudes con un periodo más breve y, después, combinar los resultados.

Política sobre cuotas

Consulta en Límites y cuotas de las API de configuración e informes la lista completa de límites y cuotas que se aplican al crear informes sin muestrear.