Erweiterte Anwendungsfälle

In diesem Dokument werden mehrere erweiterte Funktionen von Google Analytics beschrieben. Data API Version 1. Eine ausführliche Referenz zur API finden Sie in der API-Referenz.

Benutzerdefinierte Definitionen auflisten und Berichte erstellen

Mit der Data API können Berichte zu registrierten benutzerdefinierten Dimensionen und Benutzerdefiniert Messwerte: Das Metadata API Method, um die API aufzulisten. Namen der registrierten benutzerdefinierten Definitionen Ihrer Property. Diese API-Namen können die in Anfragen an den runReport-Methode ein.

In den folgenden Abschnitten finden Sie Beispiele für die einzelnen Arten von benutzerdefinierten Definitionen. In Ersetzen Sie in diesen Beispielen GA_PROPERTY_ID durch Ihre Property-ID.

Benutzerdefinierte Dimensionen auf Ereignisebene

Schritt 1: Methode Metadata API abfragen durch Ihre Property-ID.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

Schritt 2:Gewünschte benutzerdefinierte Dimension auf Ereignisebene finden Erstellen von Berichten aus der Antwort. Wenn die Dimension nicht vorhanden ist, müssen Sie um die Dimension zu registrieren.

"dimensions": [
...
    {
      "apiName": "customEvent:achievement_id",
      "uiName": "Achievement ID",
      "description": "An event scoped custom dimension for your Analytics property."
    },
...
],

Schritt 3: Fügen Sie die benutzerdefinierte Dimension in eine Berichtsanfrage ein. Die folgenden ist eine Beispielanfrage an die Methode runReport.

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "2020-09-01", "endDate": "2020-09-15" }],
  "dimensions": [{ "name": "customEvent:achievement_id" }],
  "metrics": [{ "name": "eventCount" }]
}

Benutzerdefinierte Dimensionen auf Nutzerebene

Schritt 1: Methode Metadata API abfragen durch Ihre Property-ID.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

Schritt 2:Gewünschte benutzerdefinierte Dimension auf Nutzerebene finden Erstellen von Berichten aus der Antwort. Wenn die Dimension nicht vorhanden ist, müssen Sie um die Dimension zu registrieren.

"dimensions": [
...
    {
      "apiName": "customUser:last_level",
      "uiName": "Last level",
      "description": "A user property for your Analytics property."
    },
...
],

Schritt 3: Fügen Sie die benutzerdefinierte Dimension in eine Berichtsanfrage ein. Die folgenden ist eine Beispielanfrage an die Methode runReport.

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "entity": { "propertyId": "GA_PROPERTY_ID" },
  "dateRanges": [{ "startDate": "7daysAgo", "endDate": "yesterday" }],
  "dimensions": [{ "name": "customUser:last_level" }],
  "metrics": [{ "name": "activeUsers" }]
}

Benutzerdefinierte Messwerte auf Ereignisebene

Schritt 1: Methode Metadata API abfragen durch Ihre Property-ID.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

Schritt 2:Interessanten benutzerdefinierten Messwert auf Ereignisebene finden Erstellen von Berichten aus der Antwort. Ist der Messwert nicht vorhanden, müssen Sie Messwert registrieren

"metrics": [
...
    {
      "apiName": "customEvent:credits_spent",
      "uiName": "Credits Spent",
      "description": "An event scoped custom metric for your Analytics property.",
      "type": "TYPE_STANDARD"
    },
...
],

Schritt 3:Fügen Sie den benutzerdefinierten Messwert in eine Berichtsanfrage ein. Die folgenden ist eine Beispielanfrage an die Methode runReport.

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "30daysAgo", "endDate": "yesterday" }],
  "dimensions": [{ "name": "eventName" }],
  "metrics": [{ "name": "customEvent:credits_spent" }]
}

Messwerte zur Schlüsselereignisrate für ein Schlüsselereignis

Schritt 1: Metadata API abfragen Method durch Ihre Property-ID.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

Schritt 2:Messwert für die Schlüsselereignisrate für ein relevantes Schlüsselereignis ermitteln beim Erstellen von Berichten aus der Antwort. Ist kein Schlüsselereignis vorhanden, müssen Sie den Schlüssel fest.

"metrics": [
...
    {
      "apiName": "sessionKeyEventRate:add_to_cart",
      "uiName": "Session key event rate for add_to_cart",
      "description": "The percentage of sessions in which a specific key event was triggered",
    },
...
],

Schritt 3:Fügen Sie den Messwert „Schlüsselereignisrate“ in eine Berichtsanfrage ein. Die folgenden ist eine Beispielanfrage an runReport. .

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "30daysAgo", "endDate": "yesterday" }],
  "dimensions": [{ "name": "eventName" }],
  "metrics": [{ "name": "sessionKeyEventRate:add_to_cart" }]
}

Durchschnittswerte benutzerdefinierter Messwerte auf Ereignisebene

Schritt 1: Methode Metadata API abfragen durch Ihre Property-ID.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

Schritt 2:Interessanten ereignisbezogenen benutzerdefinierten Messwert ermitteln Erstellen von Berichten aus der Antwort. Ist der Messwert nicht vorhanden, müssen Sie Messwert registrieren

"metrics": [
...
    {
      "apiName": "averageCustomEvent:credits_spent",
      "uiName": "Average Credits Spent",
      "description": "The average of an event scoped custom metric for your Analytics property.",
      "type": "TYPE_STANDARD"
    },
...
],

Schritt 3:Fügen Sie den Durchschnitt des benutzerdefinierten Messwerts in eine Berichtsanfrage ein. Die folgenden ist eine Beispielanfrage an die Methode runReport.

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "2020-11-01", "endDate": "2020-11-10" }],
  "dimensions": [{ "name": "eventName" }],
  "metrics": [{ "name": "averageCustomEvent:credits_spent" }]
}

Beispiele für Kohortenberichte

In Kohortenberichten wird eine Zeitreihe zur Nutzerbindung für die Kohorte erstellt. Für Ausführliche Dokumentation zu den einzelnen API-Feldern finden Sie in der REST-Referenz für CohortSpec

Kohortenbericht erstellen

Hier sehen Sie ein Beispiel für einen Kohortenbericht:

  • Die Kohorte umfasst Nutzer mit einem firstSessionDate von 2020-12-01. das ist vom cohorts-Objekt konfiguriert. Dimensionen und Messwerte im Bericht nur auf den Nutzern der Kohorte.
  • Der Kohortenbericht enthält drei Spalten: wird dies vom Dimensionen und Messwertobjekten.
    • Die Dimension cohort ist der Name der Kohorte.
    • Die Dimension cohortNthDay ist die Anzahl der Tage seit 2020-12-01.
    • Der Messwert cohortActiveUsers ist die Anzahl der noch aktiven Nutzer.
  • Das Objekt cohortsRange gibt an, dass der Bericht Ereignisdaten enthalten soll Diese Kohorte beginnt am 2020-12-01 und endet am 2020-12-06.
    • Wenn der Detaillierungsgrad DAILY verwendet wird, ist die Dimension cohortNthDay für Einheitlichkeit empfohlen.

Die Berichtsanfrage für die Kohorte ist:

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dimensions": [{ "name": "cohort" }, { "name": "cohortNthDay" }],
  "metrics": [{ "name": "cohortActiveUsers" }],
  "cohortSpec": {
    "cohorts": [
      {
        "dimension": "firstSessionDate",
        "dateRange": { "startDate": "2020-12-01", "endDate": "2020-12-01" }
      }
    ],
    "cohortsRange": {
      "endOffset": 5,
      "granularity": "DAILY"
    }
  },
}

Hier ein Beispiel für eine Berichtsantwort auf diese Anfrage:

{
  "dimensionHeaders": [
    { "name": "cohort" }, { "name": "cohortNthDay" }
  ],
  "metricHeaders": [
    { "name": "cohortActiveUsers", "type": "TYPE_INTEGER" }
  ],
  "rows": [
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0000" }],
      "metricValues": [{ "value": "293" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0001" }],
      "metricValues": [{ "value": "143" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0002" }],
      "metricValues": [{ "value": "123" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0003" }],
      "metricValues": [{ "value": "92" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0005" }],
      "metricValues": [{ "value": "86" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0004" }],
      "metricValues": [{ "value": "83" }]
    }
  ],
  "metadata": {},
  "rowCount": 6
}

Aus dieser Berichtsantwort folgt ein Diagramm für diesen Kohortenbericht. Eine Erkenntnis aus diesem Bericht ist, dass der größte Rückgang der aktiven Nutzer für diese Kohorte zwischen dem ersten und dem zweiten Tag.

Visualisierung von Kohortennutzern im Zeitverlauf

Mehrere Kohorten und Anteil an der Nutzerbindung

Nutzergewinnung und -bindung sind Möglichkeiten, Ihre Website oder App auszubauen. Kohorte liegt der Schwerpunkt auf der Nutzerbindung. In diesem Beispiel wird diese Property im Bericht angezeigt. seine 4-tägige Nutzerbindung innerhalb von zwei Wochen um 10% verbessert hat.

Für diesen Bericht geben wir drei Kohorten an: Die erste mit einem firstSessionDate: 2020-11-02, die zweite mit firstSessionDate: 2020-11-09 und die dritte mit einem firstSessionDate von 2020-11-16. Da die für diese drei Tage unterschiedlich sein wird, den Messwert für den Anteil der Nutzerbindung der Kohorte cohortActiveUsers/cohortTotalUsers statt der direkten Messwert cohortActiveUsers.

Die Berichtsanforderung für diese Kohorten ist:

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dimensions": [{ "name": "cohort" },{ "name": "cohortNthDay" }],
  "metrics": [
    {
      "name": "cohortRetentionFraction",
      "expression": "cohortActiveUsers/cohortTotalUsers"
    }
  ],
  "cohortSpec": {
    "cohorts": [
      {
        "dimension": "firstSessionDate",
        "dateRange": { "startDate": "2020-11-02", "endDate": "2020-11-02" }
      },
      {
        "dimension": "firstSessionDate",
        "dateRange": { "startDate": "2020-11-09", "endDate": "2020-11-09" }
      },
      {
        "dimension": "firstSessionDate",
        "dateRange": { "startDate": "2020-11-16", "endDate": "2020-11-16" }
      }
    ],
    "cohortsRange": {
      "endOffset": 4,
      "granularity": "DAILY"
    }
  },
}

Hier ein Beispiel für eine Berichtsantwort auf diese Anfrage:

{
  "dimensionHeaders": [{ "name": "cohort" },{ "name": "cohortNthDay" }],
  "metricHeaders": [{
      "name": "cohortRetentionFraction",
      "type": "TYPE_FLOAT"
    }
  ],
  "rows": [
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0000" }],
      "metricValues": [{ "value": "1" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0000" }],
      "metricValues": [{ "value": "1" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0000" }],
      "metricValues": [{ "value": "1" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0001" }],
      "metricValues": [{ "value": "0.308" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0001" }],
      "metricValues": [{ "value": "0.272" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0002" }],
      "metricValues": [{ "value": "0.257" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0001" }],
      "metricValues": [{ "value": "0.248" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0003" }],
      "metricValues": [{ "value": "0.235" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0004" }],
      "metricValues": [{ "value": "0.211" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0002" }],
      "metricValues": [{ "value": "0.198" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0002" }],
      "metricValues": [{ "value": "0.172" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0003" }],
      "metricValues": [{ "value": "0.167" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0004" }],
      "metricValues": [{ "value": "0.155" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0003" }],
      "metricValues": [{ "value": "0.141" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0004" }],
      "metricValues": [{ "value": "0.118" }]
    }
  ],
  "metadata": {},
  "rowCount": 15
}

Aus dieser Berichtsantwort folgt ein Diagramm für diesen Kohortenbericht. Eine Erkenntnis aus diesem Bericht, dass die 4-tägige Nutzerbindung im Vergleich zur zwei Wochen dauert. Die spätere Kohorte mit firstSessionDate von 2020-11-16 überschreitet die Bindung bei der früheren Kohorte mit firstSessionDate von 2020-11-02.

Diagramm zur Bindung mehrerer Kohorten

Wöchentliche Kohorten und die Verwendung von Kohorten mit anderen API-Funktionen

Verwenden Sie wöchentliche Kohorten, um Abweichungen des Nutzerverhaltens von Tag zu Tag zu entfernen. In der Woche Kohortenberichten wurden alle Nutzer mit firstSessionDate in derselben Woche aus dem Kohorte. Wochen beginnen am Sonntag und enden am Samstag. In diesem Bericht durch Aufteilung der Kohorte, um die Aktivitäten der Nutzer in Russland mit denen der Nutzer Aktivitäten in Mexiko. Für dieses Segmentierung werden die Dimension country und ein dimensionFilter, um nur die beiden Länder zu berücksichtigen.

Die Berichtsanforderung für diese Kohorten ist:

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dimensions": [
    { "name": "cohort" },
    { "name": "cohortNthWeek" },
    { "name": "country" }
  ],
  "metrics": [{ "name": "cohortActiveUsers" }],
  "dimensionFilter": {
    "filter": {
      "fieldName": "country",
      "inListFilter": {
        "values": [ "Russia", "Mexico" ]
      }
    }
  },
  "cohortSpec": {
    "cohorts": [
      {
        "dimension": "firstSessionDate",
        "dateRange": {
          "startDate": "2020-10-04",
          "endDate": "2020-10-10"
        }
      }
    ],
    "cohortsRange": {
      "endOffset": 5,
      "granularity": "WEEKLY"
    }
  },
}

Hier ein Beispiel für eine Berichtsantwort auf diese Anfrage:

{
  "dimensionHeaders": [
    { "name": "cohort" },
    { "name": "cohortNthWeek" },
    { "name": "country" }
  ],
  "metricHeaders": [
    { "name": "cohortActiveUsers", "type": "TYPE_INTEGER" }
  ],
  "rows": [
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0000" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "105" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0000" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "98" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0001" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "35" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0002" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "24" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0001" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "23" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0004" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "17" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0003" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "15" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0005" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "15" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0002" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "3" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0003" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "1" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0004" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "1" }]
    }
  ],
  "metadata": {},
  "rowCount": 11
}

Aus dieser Berichtsantwort folgt ein Diagramm dieses Kohortenberichts. Basierend auf diesem Bericht zeigt diese Property, dass Nutzer*innen mit Aktivitäten in Mexiko besser an sich binden. als Nutzer mit Aktivität in Russland.

Diagramm mit Ländervergleichskohorten

Vergleiche

Durch Vergleiche lassen sich Teilmengen von Daten gegenüberstellen. Sie können definieren Sie Vergleiche, indem Sie comparisons angeben. in einer Berichtdefinition. Die Vergleichsfunktion der Data API ist ähnlich unter Vergleiche im Google Analytics-Front-End.

Eine ausführliche Dokumentation der einzelnen API-Felder finden Sie in der REST-Referenz für Vergleich

Vergleich erstellen

Sie können für jedes Dataset, das Sie vergleichen möchten, einen separaten Vergleich erstellen. Um beispielsweise App- und Webdaten zu vergleichen, können Sie einen Vergleich für Android- und iOS-Daten und ein weiterer Vergleich für Webdaten.

Hier sehen Sie einen Beispielbericht, in dem zwei Vergleiche definiert und aktive Nutzer zurückgegeben werden nach Ländern aufgeschlüsselt.

Der erste Vergleich mit der Bezeichnung „App-Traffic“ verwendet inListFilter, um entspricht der Dimension „platform“ mit den Werten „iOS“ und „Android“. Die zweite Vergleich namens „Webzugriffe“ verwendet stringFilter, um platform abzugleichen mit „Web“.

  POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
  {
    "comparisons": [
      {
        "name": "App traffic",
        "dimensionFilter": {
          "filter": {
            "fieldName": "platform",
            "inListFilter": {
              "values": [
                "iOS",
                "Android"
              ]
            }
          }
        }
      },
      {
        "name": "Web traffic",
        "dimensionFilter": {
          "filter": {
            "fieldName": "platform",
            "stringFilter": {
              "matchType": "EXACT",
              "value": "web"
            }
          }
        }
      }
    ],
    "dateRanges": [
      {
        "startDate": "2024-05-01",
        "endDate": "2024-05-15"
      }
    ],
    "dimensions": [
      {
        "name": "country"
      }
    ],
    "metrics": [
      {
        "name": "activeUsers"
      }
    ]
  }

Für alle Anfragen, bei denen die Vergleichsfunktion verwendet wird, ist das Feld comparison automatisch zum generierten Bericht hinzugefügt. Dieses Feld enthält den Namen des Vergleichs aus der Anfrage.

Hier ist ein Beispiel-Snippet einer Antwort, die Vergleiche enthält:

{
  "dimensionHeaders": [
    {
      "name": "comparison"
    },
    {
      "name": "country"
    }
  ],
  "metricHeaders": [
    {
      "name": "activeUsers",
      "type": "TYPE_INTEGER"
    }
  ],
  "rows": [
    {
      "dimensionValues": [
        {
          "value": "Web traffic"
        },
        {
          "value": "United States"
        }
      ],
      "metricValues": [
        {
          "value": "638572"
        }
      ]
    },
    {
      "dimensionValues": [
        {
          "value": "Web traffic"
        },
        {
          "value": "Japan"
        }
      ],
      "metricValues": [
        {
          "value": "376578"
        }
      ]
    },
  {
      "dimensionValues": [
        {
          "value": "App traffic"
        },
        {
          "value": "United States"
        }
      ],
      "metricValues": [
        {
          "value": "79527"
        }
      ]
    },

    ...

  ],

...

}