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ści2020-12-01
; to skonfigurowane przez obiektcohorts
. 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 od2020-12-01
. - Dane
cohortActiveUsers
to liczba wciąż aktywnych użytkowników.
- Wymiar
- Obiekt
cohortsRange
określa, że raport powinien zawierać dane zdarzenia. od2020-12-01
do2020-12-06
w tej kohorcie.- Jeśli używana jest szczegółowość wynosząca
DAILY
, wymiarcohortNthDay
będzie zalecane dla zachowania spójności.
- Jeśli używana jest szczegółowość wynosząca
Żą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.
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
.
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ą.
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"
}
]
},
...
],
...
}