Veri API'si sınırları ve kotaları

Veri API'si için aşağıdaki sınırlar ve kotalar geçerlidir.

Kotalar nasıl uygulanır?

Google Analytics Data API v1'e gönderilen tüm istekler için bir Google Cloud projesi gerekir ve bu istekler, bu sayfada belirtilen kotalara tabidir. Kotalar, çağıran projeyi tanımlamak için kullanılan yöntemden bağımsız olarak tüketilir. Bu yöntemler arasında şunlar yer alır:

  • OAuth 2.0 kimlik bilgileriyle kimliği doğrulanmış istekler.
  • Yalnızca API anahtarı kullanılarak kimliği doğrulanmış istekler.

API anahtarları, kota ve faturalandırma amacıyla bir isteği belirli bir Google Cloud projesiyle ilişkilendirmek için kullanılır. Projenizdeki kimlik bilgileri veya API anahtarı kullanılarak yapılan tüm API çağrıları, projenizin ve Google Analytics mülkünün geçerli kotalarına göre değerlendirilir.

Kota kategorileri

Data API'nin dört istek kotası kategorisi vardır: Core, Realtime, Funnel ve Chat.

Core yöntemlerine yönelik API istekleri, Core kotalarını kullanır. Realtime yöntemlerine yönelik API istekleri, Realtime kotalarını kullanır. Dönüşüm hunisi yöntemlerine yönelik API istekleri, dönüşüm hunisi kotalarını kullanır. Chat yöntemlerine yönelik API istekleri, Chat kotalarını kullanır. Her istek yalnızca bir tür kota kullanır.

Kota kategorisi API yöntemleri
Core runReport, runPivotReport, batchRunReports, batchRunPivotReports, runAccessReport, getMetadata, checkCompatibility, createAudienceExports
Gerçek zamanlı runRealtimeReport
Dönüşüm hunisi runFunnelReport
Sohbet properties.chat

Analytics mülk kotası

Tüm istekler mülk kotalarını tüketir.

Kota Adı Standart Mülk Sınırı Analytics 360 Mülk Sınırı
Mülk Başına Günlük Temel Jeton Sayısı 200.000 2.000.000
Mülk başına saatlik çekirdek jeton sayısı 40.000 400.000
Proje Başına Mülk Başına Saatlik Core Jetonu Sayısı 14.000 140.000
Mülk Başına Temel Eşzamanlı İstek Sayısı 10 50
Proje Başına Mülk Başına Saatlik Temel Sunucu Hatası Sayısı 10 50
Mülk başına günlük gerçek zamanlı jeton sayısı 200.000 2.000.000
Mülk başına saatlik gerçek zamanlı jeton sayısı 40.000 400.000
Proje başına, mülk başına, saatlik gerçek zamanlı jeton sayısı 14.000 140.000
Mülk başına eşzamanlı gerçek zamanlı istekler 10 50
Proje başına, mülk başına, saatlik gerçek zamanlı sunucu hataları 10 50
Mülk başına günlük dönüşüm hunisi jetonları 200.000 2.000.000
Mülk Başına Saatlik Dönüşüm Hunisi Jetonu 40.000 400.000
Dönüşüm Hunisi Jetonları (Proje Başına, Mülk Başına, Saatlik) 14.000 140.000
Mülk Başına Eşzamanlı Dönüşüm Hunisi İstekleri 10 50
Proje Başına Mülk Başına Saatlik Dönüşüm Hunisi Sunucu Hatası Sayısı 10 50
Mülk Başına Günlük Sohbet Jetonu Sayısı 3.750.000 3.750.000
Saat Başına Tesis Başına Sohbet Jetonu 500.000 500.000
  • Eşzamanlı istekler, aynı anda yürütülen isteklerin sayısıyla ölçülür. İstek eşzamanlılığınızı azaltmak için ek istek göndermeden önce önceki isteklerin tamamlanmasını bekleyin.
  • Sunucu hataları 500 ve 503 kodlarıdır. Sunucu hatası kotaları yalnızca bir istek sunucu hatasıyla sonuçlandığında ücretlendirilir. Bir proje ve mülk çifti için sunucu hatası kotaları dolduğunda projeden mülke gönderilen tüm istekler engellenir. Hata yanıtlarının tam listesi için Hata Yanıtları'na bakın.
  • Her istek, hem Mülk Başına Saatlik Jeton hem de Proje Başına Mülk Başına Saatlik Jeton kotasını tüketir. Bu, "Özellik Başına Saatlik Jeton Sayısı" kotasının "Proje Başına Özellik Başına Saatlik Jeton Sayısı" kotasından önce dolması için bir özelliğe 3'ten fazla proje tarafından erişilmesi gerektiği anlamına gelir.

Mülklerin saatte 120 eşikli istek göndermesine izin verilir. userAgeBracket, userGender, brandingInterest, audienceId ve audienceName boyutlarına eşik uygulanmış olabilir. Eşikler, raporları görüntüleyen kişilerin bağımsız kullanıcıların demografisi ve ilgi alanları üzerinde çıkarımlar yapmasına engel olmak için uygulanır.

Mülk jetonları kotası

Jetonlar, Google Analytics Data API v1'e yapılan her istekte kullanılır. Ücretlendirilen jeton sayısı, isteğin karmaşıklığına bağlıdır. Çoğu istek için 10 veya daha az jeton ücreti alınsa da daha karmaşık istekler (ör. Danışmana Sor chat sorguları) daha fazla jeton tüketir.

Jeton kullanımını etkileyen faktörler

Bir isteğin tam jeton maliyeti, yürütme sırasında belirlenir. Bu nedenle, önceden kesin bir hesaplama yapmak zordur. Maliyet, isteğin kendisi ve Google Analytics mülkündeki temel verilerle ilgili bir dizi faktörden etkilenir. Bu faktörler maliyetlerin artmasına neden olabilir:

  • Satır sayısı: Daha fazla satır isteme.
  • Boyut ve metrik sayısı: Daha fazla boyut ve metrik ekleme.
  • Filtre karmaşıklığı: Karmaşık filtre ifadeleri kullanma.
  • Tarih aralığı uzunluğu: Daha uzun tarih aralıklarında sorgu yürütme.
  • Veri kardinalitesi: Yüksek kardinaliteli boyutlar (pagePath gibi birçok benzersiz değer, özel boyutlar), jeton maliyetini önemli ölçüde artırabilir.
  • Mülk etkinlik hacmi: Daha yüksek etkinlik hacmine sahip mülklerdeki sorgular, daha az veriye sahip bir mülkteki aynı sorgudan daha fazla jeton tüketebilir.

Jeton kullanımını izleme

Belirli API çağrılarınızın jeton maliyetini belirlemenin en etkili yolu, istek gövdesine "returnPropertyQuota": true parametresini eklemektir (runReport, batchRunReports, runPivotReport, batchRunPivotReports, runRealtimeReport ve runFunnelReport'de desteklenir). API yanıtı, bu durumda PropertyQuota nesnesini içerir. Bu nesne, söz konusu istek tarafından kullanılan jetonları ve kalan kota bakiyelerini ayrıntılı olarak açıklar.

returnPropertyQuota ile örnek istek
POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dateRanges": [
    { "startDate": "7daysAgo", "endDate": "yesterday" }
  ],
  "dimensions": [
    { "name": "country" }
  ],
  "metrics": [
    { "name": "activeUsers" }
  ],
  "returnPropertyQuota": true
}
Örnek propertyQuota yanıt yükü

"returnPropertyQuota": true ayarlandığında yanıt, her alanın consumed ve remaining tam sayılarını içeren bir QuotaStatus barındırdığı bir propertyQuota nesnesi içerir:

{
  "dimensionHeaders": [
    { "name": "country" }
  ],
  "metricHeaders": [
    { "name": "activeUsers", "type": "TYPE_INTEGER" }
  ],
  "rows": [
    {
      "dimensionValues": [{ "value": "United States" }],
      "metricValues": [{ "value": "4820" }]
    }
  ],
  "propertyQuota": {
    "tokensPerDay": {
      "consumed": 1,
      "remaining": 199999
    },
    "tokensPerHour": {
      "consumed": 1,
      "remaining": 39999
    },
    "concurrentRequests": {
      "consumed": 0,
      "remaining": 10
    },
    "serverErrorsPerProjectPerHour": {
      "consumed": 0,
      "remaining": 10
    },
    "potentiallyThresholdedRequestsPerHour": {
      "consumed": 0,
      "remaining": 120
    },
    "tokensPerProjectPerHour": {
      "consumed": 1,
      "remaining": 13999
    }
  }
}

propertyQuota bölümündeki her alan, Analytics mülk kotasındaki bir kotaya karşılık gelir. Tek bir API isteğinin jeton ücreti aynı anda tokensPerDay, tokensPerHour ve tokensPerProjectPerHour'den düşülür. Kota grubu 0 kalan isteğe ulaştığında, söz konusu mülke yapılan sonraki istekler 429 RESOURCE_EXHAUSTED hatası döndürür.

429 RESOURCE_EXHAUSTED hatalarını önlemeyle ilgili en iyi uygulamalar
  • remaining bakiyelerini dinamik olarak izleyin: Yanıtlardaki propertyQuota.tokensPerProjectPerHour.remaining ve propertyQuota.tokensPerHour.remaining değerlerini inceleyin ve kalan jeton sayısı güvenlik eşiğinin altına düştüğünde acil olmayan arka plan işlerini kısıtlayın veya duraklatın.
  • İlgili sorguları toplu olarak işleme: Tek bir HTTP çağrısında en fazla 5 raporu gruplandırmak ve HTTP gidiş dönüş ek yükünü azaltmak için batchRunReports veya batchRunPivotReports yöntemini kullanın (toplu işteki her raporun jeton ve concurrentRequests kotaları için ayrı ayrı sayıldığını unutmayın).
  • Sorgu karmaşıklığını ve kardinaliteyi azaltın: İstekleri yalnızca ihtiyacınız olan boyutlar ve metriklerle sınırlayın, mümkün olduğunda dateRanges kısaltın ve sık yapılan yoklama sorgularında birden fazla yüksek kardinaliteli boyutu (ör. pagePath veya fullPageUrl) birleştirmeyin.
  • İstek eşzamanlılığını kontrol edin: İsteğe bağlı olarak, devam eden isteklerin concurrentRequests sınırının (Standart için 10, Analytics 360 için 50) altında kalması için istekleri sıraya alın veya çalışan havuzu boyutunu sınırlayın.
  • Yeniden deneme sınırlarıyla eksponansiyel geri yükleme uygulayın: Bir istek 429 RESOURCE_EXHAUSTED, 500 INTERNAL veya 503 UNAVAILABLE ile başarısız olursa Hata yanıtları bölümünde açıklandığı gibi kesilmiş eksponansiyel geri yüklemeyi kullanarak yeniden deneyin.

Chat jetonu kullanımı ve izleme

Ask Advisor chat istekleri için jetonlar; model hesaplama, akıl yürütme ve temel veri alma maliyetlerini temsil eder. Chat'te jeton tüketimi şunlardan etkilenir:

  • Sorgu ve analiz kapsamı: İstenen analizin karmaşıklığı ve genişliği.
  • Model giriş ve çıkış jetonları: İşlenen bağlamsal veri hacmi ve oluşturulan yanıt anlatısı.
  • Düşünme token'ları: Bulguları sentezlemek için gereken model akıl yürütme adımları.
  • Yürütme gecikmesi: Çok adımlı veri keşifleri için gereken işleme süresi.

Sohbet jetonu kullanımını izlemek için "returnPropertyQuota": true değerini ChatRequest içinde ayarlayın. Yanıt, kullanılan ve kalan bakiyeleri içeren PropertyChatQuota nesnesini, tokensPerDay ve tokensPerHour alanlarını içerecektir.