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 (
pagePathgibi 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
remainingbakiyelerini dinamik olarak izleyin: YanıtlardakipropertyQuota.tokensPerProjectPerHour.remainingvepropertyQuota.tokensPerHour.remainingdeğ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
batchRunReportsveyabatchRunPivotReportsyöntemini kullanın (toplu işteki her raporun jeton veconcurrentRequestskotaları 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
dateRangeskısaltın ve sık yapılan yoklama sorgularında birden fazla yüksek kardinaliteli boyutu (ör.pagePathveyafullPageUrl) birleştirmeyin. - İstek eşzamanlılığını kontrol edin: İsteğe bağlı olarak, devam eden isteklerin
concurrentRequestssı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 INTERNALveya503 UNAVAILABLEile 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.