Gelişmiş kullanım alanları

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-01 firstSessionDate değerine sahip kullanıcılardan oluşur. Bu, cohorts nesnesi 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.
    • cohort boyutu, grubun adıdır.
    • cohortNthDay boyutu, 2020-12-01 tarihinden itibaren geçen gün sayısıdır.
    • cohortActiveUsers metriği, hâlâ etkin olan kullanıcıların sayısıdır.
  • cohortsRange nesnesi, raporun bu grup için 2020-12-01 tarihinde başlayıp 2020-12-06 tarihinde sona eren etkinlik verilerini içermesi gerektiğini belirtir.
    • DAILY ayrıntı düzeyi kullanıldığında tutarlılık için cohortNthDay boyutu ö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.

Zaman içinde kohort kullanıcılarının görselleştirmesi

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.

Birden fazla kohortun elde tutma oranını gösteren grafik

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ı.

Ülke karşılaştırma gruplarının grafiği

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

    ...

  ],

...

}