Guía para desarrolladores de informes sin muestrear

La API de Google Analytics Management te permite crear informes sin muestrear de manera programática.

Introducción

Los informes sin muestrear son informes de Google Analytics que se generaron con datos sin muestrear. Actualmente, los informes sin muestrear solo están disponibles para los usuarios de Google Analytics 360.

Con esta API, puedes hacer lo siguiente:

  • Recupera la información de configuración de todos tus informes sin muestrear existentes y crea informes únicos sin muestrear.
  • Verifica el estado de procesamiento de los informes sin muestrear.
  • Obtener un vínculo al archivo de datos de un informe sin muestrear una vez que se complete el procesamiento
  • Borra los informes sin muestrear.

Recupera datos de informes sin muestrear

Cuando creas un informe sin muestrear, puede transcurrir un tiempo hasta que esté disponible para descargarse. El campo status de un informe sin muestrear indica si se completó el procesamiento de ese informe. Una vez que el estado se marque como COMPLETED, podrás usar downloadType y el campo de detalles de descarga correspondiente para recuperar el archivo que contiene los datos del informe. Por ejemplo:

No utilices sondeos continuos de alta tasa para comprobar el estado de estos informes, ya que es probable que te quedes sin cuota diaria con bastante rapidez. Deberías tener un retraso entre las solicitudes cuando verifiques el estado de los informes sin muestrear.

Usa la API de Google Drive o Google Cloud Storage

Según el lugar en el que se entreguen tus archivos (Google Drive o Google Cloud Storage), obtendrás el vínculo correspondiente para ese archivo. Puedes usar la API de Drive o la API de Cloud Storage para descargar el archivo por medio de este vínculo. Para obtener más detalles sobre cómo recuperar el 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 realizar una solicitud GET de HTTP autorizada a la URL de 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 planeas usar el informe sin muestrear junto con Drive o las APIs de Cloud Storage para descargar archivos, debes incluir el alcance de autenticación correspondiente para esa API (además del alcance de autenticación de la API de Analytics) y solicitar un token de OAuth 2.0. Esto te permitirá usar el mismo token de autenticación para ambas APIs.

Cómo borrar informes sin muestrear

Puedes borrar los informes programados o completados sin muestrear. Sin embargo, si se llama a delete durante un período breve mientras se genera el informe, se producirá un error. Si borras los informes sin muestrear, solo se quitará el recurso de la vista de Google Analytics (perfil), pero se conservarán los datos exportados en Google Drive o Google Cloud Storage.

Restricciones

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

  • Solo puedes especificar hasta 4 dimensiones.
  • No se admiten algunos tipos de datos de informes, como los datos de Google Ads.
  • No se admiten las consultas que se consideran demasiado costosas.
  • Si creaste demasiados informes sin muestrear y alcanzaste el límite, puedes borrar con seguridad los recursos del informe y dejar intactos los datos del informe generado en Google Drive o Google Cloud.

Si se determina que tu solicitud es demasiado costosa, la operación de creación mostrará un error con un mensaje adecuado. En ese caso, puedes hacer lo siguiente:

  • Solicita menos dimensiones.
  • Divide la consulta en varias búsquedas con períodos más pequeños y une los informes resultantes.

Casos de uso

Informes sin muestrear y la API de Core Reporting

Si usas la API de Core Reporting para recuperar datos de informes y estos contienen datos de muestra, podrías crear un informe sin muestrear para la misma consulta de la siguiente manera:

  1. Realizar una solicitud a la API de Core Reporting
  2. En la respuesta, verifica la propiedad containsSampledData para ver si se muestrearon los datos.
  3. Si se establece esta propiedad como true, puedes usar los campos query y profileInfo de la misma respuesta para crear una solicitud para un informe sin muestrear.

Campo de consulta de muestra de la respuesta de la API de Core Reporting:

"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 muestra de la respuesta de la API de Core Reporting:

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

El siguiente es un ejemplo de cómo crear un informe sin muestrear a partir de una respuesta de la API de Core Reporting:

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

Une datos sin muestrear durante varios días

Puede combinar o unir informes de varios días para obtener datos sin muestrear de un período determinado. Esto es útil cuando una solicitud de datos sin muestrear es demasiado grande. En esos casos, puede dividir la solicitud en varias solicitudes con un período más corto y, luego, combinar los resultados.

Política de cuotas

Consulta Límites y cuotas de la API de informes y configuración para obtener una lista completa de los límites y cuotas que se aplican cuando creas informes sin muestrear.