Bu dokümanda, Google Analytics Data API v1'in bazı ileri seviye özellikleri açıklanmaktadır. API'nin ayrıntılı referansı için API referansı bölümüne bakın.
Özel tanımları listeleme ve rapor oluşturma
Data API, kayıtlı özel boyutlar ve özel metrikler hakkında raporlar oluşturabilir. Metadata API yöntemi, mülkünüzün kayıtlı özel tanımlarının API adlarını listelemek için kullanılabilir. Bu API adları, örneğin runReport yöntemine gönderilen rapor isteklerinde kullanılabilir.
Aşağıdaki bölümlerde her bir özel tanım türüyle ilgili örnekler gösterilmektedir. Bu örneklerde GA_PROPERTY_ID değerini mülk kimliğinizle değiştirin.
Etkinlik kapsamlı özel boyutlar
1. adım: Mülk kimliğinizle Metadata API yöntemini sorgulayın.
GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata
2. adım: Yanıttan, hakkında rapor oluşturmak istediğiniz etkinlik kapsamlı özel boyutu bulun. Boyut yoksa boyutu kaydetmeniz gerekir.
"dimensions": [
...
{
"apiName": "customEvent:achievement_id",
"uiName": "Achievement ID",
"description": "An event scoped custom dimension for your Analytics property."
},
...
],
3. adım: Özel boyutu bir rapor isteğine ekleyin. Aşağıda, runReport yöntemine gönderilen örnek bir istek verilmiştir.
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" }]
}
Kullanıcı kapsamlı özel boyutlar
1. adım: Mülk kimliğinizle Metadata API yöntemini sorgulayın.
GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata
2. adım: Yanıttan, hakkında rapor oluşturmak istediğiniz kullanıcı kapsamlı özel boyutu bulun. Boyut yoksa boyutu kaydetmeniz gerekir.
"dimensions": [
...
{
"apiName": "customUser:last_level",
"uiName": "Last level",
"description": "A user property for your Analytics property."
},
...
],
3. adım: Özel boyutu bir rapor isteğine ekleyin. Aşağıda, runReport yöntemine gönderilen örnek bir istek verilmiştir.
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" }]
}
Etkinlik kapsamlı özel metrikler
1. adım: Mülk kimliğinizle Metadata API yöntemini sorgulayın.
GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata
2. adım: Yanıttan, hakkında rapor oluşturmak istediğiniz etkinlik kapsamlı özel metriği bulun. Metrik yoksa metriği kaydetmeniz gerekir.
"metrics": [
...
{
"apiName": "customEvent:credits_spent",
"uiName": "Credits Spent",
"description": "An event scoped custom metric for your Analytics property.",
"type": "TYPE_STANDARD"
},
...
],
3. adım: Özel metriği bir rapor isteğine ekleyin. Aşağıda, runReport yöntemine gönderilen örnek bir istek verilmiştir.
POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
"dateRanges": [{ "startDate": "30daysAgo", "endDate": "yesterday" }],
"dimensions": [{ "name": "eventName" }],
"metrics": [{ "name": "customEvent:credits_spent" }]
}
Tek bir önemli etkinlik için önemli etkinlik oranı metrikleri
1. adım: Mülk kimliğinizle Metadata API yöntemini sorgulayın.
GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata
2. adım: Yanıttan, hakkında rapor oluşturmak istediğiniz bir önemli etkinlik için önemli etkinlik oranı metriğini bulun. Önemli etkinlik yoksa önemli etkinliği ayarlamanız gerekir.
"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",
},
...
],
3. adım: Önemli etkinlik oranı metriğini bir rapor isteğine ekleyin. Aşağıda, runReport yöntemine gönderilen örnek bir istek verilmiştir.
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" }]
}
Etkinlik kapsamlı özel metrik ortalamaları
1. adım: Mülk kimliğinizle Metadata API yöntemini sorgulayın.
GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata
2. adım: Yanıttan, hakkında rapor oluşturmak istediğiniz etkinlik kapsamlı özel metrik ortalamasını bulun. Metrik yoksa metriği kaydetmeniz gerekir.
"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"
},
...
],
3. adım: Özel metrik ortalamasını bir rapor isteğine ekleyin. Aşağıda, runReport yöntemine gönderilen örnek bir istek verilmiştir.
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" }]
}
Kullanıcı grubu raporu örnekleri
Kullanıcı grubu raporları, kullanıcı grubu için kullanıcıları elde tutma ile ilgili bir zaman serisi oluşturur. Her bir API alanının ayrıntılı belgeleri için CohortSpec ile ilgili REST referansına bakın.
Kullanıcı grubu raporu oluşturma
Aşağıda örnek bir kullanıcı grubu raporu verilmiştir:
- Grup,
2020-12-01firstSessionDatedeğerine sahip kullanıcılardan oluşur. Bu,cohortsnesnesi tarafından yapılandırılır. Rapor yanıtındaki boyutlar ve metrikler yalnızca kohortun kullanıcılarını temel alır. - Kullanıcı grubu raporunda üç sütun gösterilir. Bu sütunlar, boyutlar ve metrikler nesneleri tarafından yapılandırılır.
cohortboyutu, grubun adıdır.cohortNthDayboyutu,2020-12-01tarihinden itibaren geçen gün sayısıdır.cohortActiveUsersmetriği, hâlâ etkin olan kullanıcıların sayısıdır.
cohortsRangenesnesi, raporun bu grup için2020-12-01tarihinde başlayıp2020-12-06tarihinde sona eren etkinlik verilerini içermesi gerektiğini belirtir.DAILYayrıntı düzeyi kullanıldığında tutarlılık içincohortNthDayboyutu önerilir.
Kohort için rapor isteği şu şekildedir:
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"
}
},
}
Bu istek için örnek bir rapor yanıtı şöyledir:
{
"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
}
Bu rapor yanıtından sonra, bu kullanıcı grubu raporu için bir grafik gösterilir. Bu rapordan elde edilen bir analiz, bu gruptaki etkin kullanıcı sayısında en büyük düşüşün birinci ve ikinci gün arasında olduğunu gösteriyor.

Birden fazla kohort ve kullanıcıları elde tutma oranı
Kullanıcı edinme ve kullanıcıları elde tutma, web sitenizi veya uygulamanızı büyütmenin yollarıdır. Kohort raporları, kullanıcıları elde tutmaya odaklanır. Bu örnekte, rapor bu mülkün 4 günlük kullanıcıları elde tutma oranını iki hafta içinde %10 artırdığını gösteriyor.
Bu raporu oluşturmak için üç kohort belirtiriz: İlki 2020-11-02 firstSessionDate, ikincisi 2020-11-09 firstSessionDate ve üçüncüsü 2020-11-16 firstSessionDate değerine sahiptir. Mülkünüzdeki kullanıcı sayısı bu üç gün boyunca farklı olacağından, doğrudan cohortActiveUsers metriğini kullanmak yerine kohortun cohortActiveUsers/cohortTotalUsers olan kullanıcıları elde tutma oranı metriğini karşılaştırırız.
Bu gruplar için rapor isteği şu şekildedir:
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"
}
},
}
Bu istek için örnek bir rapor yanıtı şöyledir:
{
"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
}
Bu rapor yanıtından sonra, bu kullanıcı grubu raporu için bir grafik gösterilir. Bu rapordan elde edilen bir analiz, 4 günlük kullanıcıları elde tutma oranının iki hafta içinde %10 arttığını gösteriyor. 2020-11-16 değerinde firstSessionDate içeren sonraki kohort, 2020-11-02 değerinde firstSessionDate içeren önceki kohortun elde tutma oranını aşıyor.

Haftalık gruplar ve grupları diğer API özellikleriyle kullanma
Kullanıcı davranışındaki günlük varyansı kaldırmak için haftalık grupları kullanın. Haftalık kullanıcı grubu raporlarında, aynı hafta içinde firstSessionDate olan tüm kullanıcılar kullanıcı grubunu oluşturur. Haftalar pazar günü başlar ve cumartesi günü sona erer. Ayrıca bu raporda, Rusya'da etkinliği olan kullanıcıları Meksika'da etkinliği olan kullanıcılarla karşılaştırmak için grubu dilimliyoruz. Bu dilimleme, yalnızca iki ülkeyi dikkate almak için country boyutunu ve bir dimensionFilter kullanır.
Bu gruplar için rapor isteği şu şekildedir:
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"
}
},
}
Bu istek için örnek bir rapor yanıtı şöyledir:
{
"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
}
Bu rapor yanıtından sonra, bu kullanıcı grubu raporunun grafiği gösterilir. Bu rapora göre, bu mülk Meksika'da etkinliği olan kullanıcıları elde tutma konusunda Rusya'da etkinliği olan kullanıcılara kıyasla daha başarılı.

Karşılaştırmalar
Karşılaştırmalar, verilerinizin alt gruplarını yan yana değerlendirmenize olanak tanır. Bir rapor tanımında comparisons alanını belirterek karşılaştırmalar tanımlayabilirsiniz. Data API'nin karşılaştırmalar özelliği, Google Analytics ön ucundaki karşılaştırmalara benzer.
Her bir API alanının ayrıntılı belgeleri için Karşılaştırma için REST referansı'na bakın.
Karşılaştırma oluşturma
Karşılaştırmak istediğiniz her veri kümesi için ayrı bir karşılaştırma oluşturabilirsiniz. Örneğin, uygulama ve web verilerini karşılaştırmak istiyorsanız Android ve iOS verileri için bir karşılaştırma, web verileri için başka bir karşılaştırma oluşturabilirsiniz.
Aşağıda, iki karşılaştırmayı tanımlayan ve etkin kullanıcıları ülkeye göre dökümüyle döndüren örnek bir rapor verilmiştir.
"Uygulama trafiği" adlı ilk karşılaştırma, platform boyutunu "iOS" ve "Android" değerleriyle eşleştirmek için inListFilter kullanıyor. "Web trafiği" adlı ikinci karşılaştırma, platform boyutunu "web" ile eşleştirmek için stringFilter kullanır.
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"
}
]
}
Karşılaştırma özelliğini kullanan tüm isteklerde comparison alanı, oluşturulan rapora otomatik olarak eklenir. Bu alan, istekte sağlanan karşılaştırmanın adını içerir.
Karşılaştırmalar içeren bir yanıtın örnek snippet'ini aşağıda bulabilirsiniz:
{
"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"
}
]
},
...
],
...
}