Zaawansowane przypadki użycia

W tym dokumencie opisano kilka zaawansowanych funkcji Google Analytics, Interfejs Data API v1. Szczegółowe informacje o interfejsie API znajdziesz w dokumentacji interfejsu API.

Wyświetlanie listy definicji niestandardowych i tworzenie raportów

Interfejs API danych może tworzyć raporty dotyczące zarejestrowanych niestandardowych Wymiary i Niestandardowe Dane. Interfejs API metadanych Metoda może służyć do wyświetlania listy interfejsów API zarejestrowanych w Twojej usłudze nazw definicji niestandardowych. Te nazwy interfejsów API mogą być używane w żądaniach przesyłanych do runReport.

W poniższych sekcjach znajdziesz przykłady poszczególnych typów definicji niestandardowej. W w tych przykładach zastąp GA_PROPERTY_ID identyfikatorem usługi.

Wymiary niestandardowe ograniczone do zdarzenia

Krok 1. Wyślij zapytanie dotyczące metody interfejsu Metadata API. za pomocą identyfikatora usługi.

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

Krok 2: znajdź wymiar niestandardowy ograniczony do zdarzenia, który Cię interesuje w celu tworzenia raportów na podstawie odpowiedzi. Jeśli nie ma wymiaru, musisz podać aby zarejestrować wymiar.

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

Krok 3. Uwzględnij wymiar niestandardowy w żądaniu raportu. Poniżej to przykładowe żądanie metody 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" }]
}

Wymiary niestandardowe ograniczone do użytkownika

Krok 1. Wyślij zapytanie dotyczące metody interfejsu Metadata API. za pomocą identyfikatora usługi.

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

Krok 2. Znajdź wymiar niestandardowy ograniczony do użytkownika, który Cię interesuje w celu tworzenia raportów na podstawie odpowiedzi. Jeśli nie ma wymiaru, musisz podać aby zarejestrować wymiar.

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

Krok 3. Uwzględnij wymiar niestandardowy w żądaniu raportu. Poniżej to przykładowe żądanie metody 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" }]
}

Dane niestandardowe ograniczone do zdarzenia

Krok 1. Wyślij zapytanie dotyczące metody interfejsu Metadata API. za pomocą identyfikatora usługi.

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

Krok 2. Znajdź interesujące Cię dane niestandardowe o zakresie na poziomie zdarzenia w celu tworzenia raportów na podstawie odpowiedzi. Jeśli dane nie są dostępne, musisz: rejestrować dane.

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

Krok 3. Uwzględnij dane niestandardowe w żądaniu raportu. Poniżej to przykładowe żądanie metody 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" }]
}

Dane dotyczące współczynnika kluczowych zdarzeń dla jednego zdarzenia

Krok 1. Wyślij zapytanie do interfejsu Metadata API Method (Metoda), korzystając z identyfikatora usługi.

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

Krok 2. Znajdź dane współczynnika kluczowych zdarzeń dla jednego kluczowego zdarzenia, które Cię interesuje w tworzeniu raportów na podstawie odpowiedzi. Jeśli nie ma kluczowego zdarzenia, Muszę skonfigurować klucz .

"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",
    },
...
],

Krok 3. Uwzględnij w żądaniu raportu dane o współczynniku kluczowych zdarzeń. Poniżej to przykładowe żądanie metody 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" }]
}

Średnie dane niestandardowe ograniczone do zdarzenia

Krok 1. Wyślij zapytanie dotyczące metody interfejsu Metadata API. za pomocą identyfikatora usługi.

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

Krok 2. Znajdź średnią niestandardowych danych ograniczonych do zdarzenia, która Cię interesuje w celu tworzenia raportów na podstawie odpowiedzi. Jeśli dane nie są dostępne, musisz: rejestrować dane.

"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"
    },
...
],

Krok 3. Uwzględnij w żądaniu raportu średnią danych niestandardowych. Poniżej to przykładowe żądanie metody 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" }]
}

Przykłady raportów dotyczących kohorty

Raporty dotyczące kohorty tworzą ciąg czasowy utrzymania użytkowników w kohorcie. Dla: szczegółową dokumentację każdego pola interfejsu API znajdziesz w dokumentacji REST Specyfikacja kohorty.

Tworzenie raportu dotyczącego kohorty

Oto przykładowy raport dotyczący kohorty, w którym:

  • Kohorta są użytkownicy z wskaźnikiem firstSessionDate o wartości 2020-12-01; to skonfigurowane przez obiekt cohorts. Wymiary i dane w raporcie będzie oparta wyłącznie na użytkownikach kohorty.
  • Raport dotyczący kohorty zawiera 3 kolumny. jest konfigurowany przez obiektów wymiarów i danych.
    • Wymiar cohort to nazwa kohorty.
    • Wymiar cohortNthDay to liczba dni od 2020-12-01.
    • Dane cohortActiveUsers to liczba wciąż aktywnych użytkowników.
  • Obiekt cohortsRange określa, że raport powinien zawierać dane zdarzenia. od 2020-12-01 do 2020-12-06 w tej kohorcie.
    • Jeśli używana jest szczegółowość wynosząca DAILY, wymiar cohortNthDay będzie zalecane dla zachowania spójności.

Żądanie raportu dotyczące kohorty:

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"
    }
  },
}

Przykładowa odpowiedź w przypadku tego żądania:

{
  "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
}

Na podstawie odpowiedzi w tym raporcie widoczny jest wykres dotyczący tego raportu dotyczącego kohorty. Obserwacja Największy spadek liczby aktywnych użytkowników w tej kohorcie między pierwszym a drugim dniem.

Wizualizacja użytkowników kohorty na przestrzeni czasu

Wiele kohort i odsetek utrzymania użytkowników

Pozyskiwanie i utrzymywanie użytkowników to sposoby na rozwijanie witryny lub aplikacji. Kohorta i skupiają się na utrzymaniu użytkowników. W tym przykładzie raport pokazuje tę właściwość poprawiła się o 10% w ciągu 2 tygodni.

Aby utworzyć ten raport, wybieramy 3 kohorty: pierwszą z firstSessionDate z 2020-11-02, druga z firstSessionDate o wartości 2020-11-09, a trzeci – firstSessionDate o wartości 2020-11-16. Ponieważ liczba użytkowników w Twojej usłudze będzie różna dla tych trzech dni, porównać odsetek utrzymania użytkowników w kohorcie cohortActiveUsers/cohortTotalUsers, zamiast bezpośredniego Wskaźnik: cohortActiveUsers.

Żądanie raportu dotyczące tych kohort:

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"
    }
  },
}

Przykładowa odpowiedź w przypadku tego żądania:

{
  "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
}

Na podstawie odpowiedzi w tym raporcie widoczny jest wykres dotyczący tego raportu dotyczącego kohorty. Obserwacja z tego raportu wynika, że 4-dniowy wskaźnik utrzymania użytkowników wzrósł o 10% trwa to dwa tygodnie. Kolejna kohorta (firstSessionDate z 2020-11-16) przekracza utrzymanie wcześniejszej kohorty o firstSessionDate z 2020-11-02.

Wykres przedstawiający przechowywanie wielu kohort

Kohorty tygodniowe i korzystanie z kohort z innymi funkcjami interfejsu API

Aby usunąć różnice w zachowaniu użytkowników z dnia na dzień, użyj kohort tygodniowych. Za tydzień w raportach dotyczących kohorty, wszyscy użytkownicy, którzy mieli firstSessionDate w tym samym tygodniu, tworzą kohorty. Tydzień zaczyna się w niedzielę, a kończy w sobotę. W tym raporcie Pobieramy kohortę w celu porównania użytkowników z aktywnością w Rosji z użytkownikami z w Meksyku. W tym dzieleniu korzysta się z wymiaru country i obiektu dimensionFilter, aby uwzględnić tylko 2 kraje.

Żądanie raportu dotyczące tych kohort:

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"
    }
  },
}

Przykładowa odpowiedź w przypadku tego żądania:

{
  "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
}

Po odpowiedzi w odpowiedzi na ten raport pojawi się wykres przedstawiający raport dotyczący kohorty. Na podstawie twierdzą, że ta usługa lepiej utrzymuje użytkowników, którzy wykazali aktywność w Meksyku. niż użytkownicy z Rosją.

Wykres kohorty porównawczej krajów

Porównania

Dzięki porównaniom możesz analizować równolegle podzbiory danych. Dostępne opcje zdefiniuj porównania, określając comparisons w definicji raportu. Funkcja Porównania interfejsu Data API jest podobna. w sekcji Porównania w interfejsie Google Analytics.

Szczegółową dokumentację każdego pola interfejsu API znajdziesz w dokumentacji REST Porównanie

Utwórz porównanie

Możesz utworzyć osobne porównanie dla każdego zbioru danych, który chcesz porównać. Aby np. porównać dane z aplikacji i strony internetowej, możesz utworzyć jedno porównanie dotyczące dane dotyczące Androida i iOS oraz kolejne porównanie danych z sieci.

Oto przykładowy raport, który definiuje 2 porównania i zwraca liczbę aktywnych użytkowników w podziale na kraje.

Pierwsze porównanie o nazwie „Ruch w aplikacjach” używa: inListFilter do: dopasuj wymiar platform do wartości „iOS” i „Android”. Druga porównanie o nazwie „Ruch internetowy” używa stringFilter, aby dopasować platform wymiarem „sieć”.

  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"
      }
    ]
  }

W przypadku wszystkich żądań korzystających z funkcji porównań pole comparison ma postać automatycznie dodane do wygenerowanego raportu. To pole zawiera nazwę porównanie użyte w żądaniu.

Oto przykładowy fragment odpowiedzi zawierającej porównania:

{
  "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"
        }
      ]
    },

    ...

  ],

...

}