API sınırları ve kotaları

Google Ads API, tek bir değişiklik isteğinde gönderilebilecek işlem sayısı gibi API işlemleriyle ilgili sınırlamalar uygular. Aşağıdaki tabloda, dikkat edilmesi gereken önemli sınırlardan ve kotalardan bazıları özetlenmiştir.

İstek türü, sınırlama ve hata kodu
Test erişim düzeyiyle yapılan işlemler Test hesaplarında günde 15.000 API işlemi RESOURCE_EXHAUSTED
Keşif uzmanı erişim düzeyiyle yapılan işlemler Üretim hesaplarında günde 2.880 API işlemi
Test hesaplarında günde 15.000 API işlemi
RESOURCE_EXHAUSTED
Temel erişim düzeyindeki işlemler Hem test hem de üretim hesaplarında günde 15.000 API işlemi RESOURCE_EXHAUSTED
Standart erişim düzeyiyle yapılan işlemler Hem test hem de üretim hesaplarında günlük sınırsız API işlemi Yok
Değişiklik istekleri İstek başına 10.000 değişiklik işlemi TOO_MANY_MUTATE_OPERATIONS
Planlama Hizmeti istekleri 1 QPS RESOURCE_EXHAUSTED
Dönüşüm Yükleme Hizmeti istekleri İstek başına 2.000 dönüşüm TOO_MANY_CONVERSIONS_IN_REQUEST
Faturalandırma ve Hesap Bütçesi Hizmeti istekleri Değişiklik isteği başına 1 işlem TOO_MANY_MUTATE_OPERATIONS

Günlük API işlemi sınırları

Günlük API kullanım sınırları, Google Cloud projeniz tarafından yapılan API işlemlerinin sayısına bağlıdır. API işlemleri; Search ve SearchStream isteklerinin, bağımsız mutasyon işlemlerinin ve diğer hizmet isteklerinin toplamıdır. Günlük API işlemlerinin sınırları, Google Cloud projenizin API erişim düzeyine bağlıdır. Erişim düzeyleri ve izin verilen kullanım kılavuzu, her erişim düzeyi için belirli API işlem sınırlarını özetler.

Bu sınırları ihlal eden istekler şu hatayla reddedilir: RESOURCE_EXHAUSTED.

gRPC sınırlamaları

Tüm Google Ads API istemci kitaplıkları, istek ve yanıt oluşturmak için gRPC kullanır. gRPC'nin varsayılan mesaj boyutu 4 MB'tır ancak istemci kitaplıklarımız, verimliliği artırmak için maksimum mesaj boyutunu 64 MB olarak ayarlar.

Yanıtlar bu sınırı aşmamalıdır. Örneğin, çok sayıda alan içeren bir arama isteği, boyutu 64 MB'ı aşan bir yanıt oluşturabilir. Bu sınıra takılmamak için seçilen alanların sayısını azaltabilir veya akış özelliğini kullanabilirsiniz. Değişiklikler için istek başına daha az işlem gönderin.

Bu sınırlamayı ihlal eden istekler GoogleAdsError oluşturmaz, ancak RESOURCE_EXHAUSTED (gRPC kodu 8 / HTTP 429) hatası oluşturur. gRPC hata kodları ve mesajları listesine bakın.

Değişiklik istekleri

Kullanıcının günlük işlem kotasına dahil edilmesinin yanı sıra, bir değişiklik isteği,istek başına 10.000'den fazla değişiklik işlemi içeremez. Bu sınırlamayı ihlal eden istekler şu hatayla reddedilir: TOO_MANY_MUTATE_OPERATIONS.

Belirli hizmetler ve istek türleri için ek sınırlamalar ve dikkat edilmesi gereken noktalar aşağıda açıklanmıştır.

Arama istekleri

Bir Search veya SearchStream isteği, kullanıcının günlük işlem kotası için bir işlem olarak sayılır. Bir SearchStream isteği, grup sayısından bağımsız olarak bir API işlemi olarak sayılır.

Sayfalandırılmış istekler

Sayfalandırılmış istekler (ör. geçerli bir next_page_token içeren istekler) kullanıcının günlük işlem kotasına dahil edilmez. Ancak süresi dolmuş veya geçersiz bir sayfa jetonu içeren sayfalama istekleri bir istisna oluşturur ve günlük işlem kotasından düşülür.

Sayfalandırma hakkında daha fazla bilgi için Sonuçlar arasında gezinme başlıklı makaleyi inceleyin.

Diğer istek türleri

Mutate, Search veya SearchStream isteği olmayan bir istek, kullanıcının günlük işlem kotasından bir işlem olarak sayılır.

Bu tür taleplere birkaç örnek:

API istisnaları döndüren istekler

GoogleAdsFailure ile reddedilen istekler, kullanıcının günlük işlem kotasından düşülür.

Başarısız olan ancak ağ düzeyindeki bir hata gibi nedenlerle GoogleAdsFailure döndürmeyen istekler, hizmete ulaşmayacağı için kullanıcının günlük işlem kotasına dahil edilmez. Ağ bağlantısı hatası buna örnek olarak verilebilir.

Anahtar Kelime Planlayıcı hizmeti

Maliyet ve karmaşıklık nedeniyle, aşağıdaki Anahtar Kelime Planlayıcı hizmet yöntemleri diğer istek türlerinden ayrı sınırlara tabidir.

Anahtar kelime planı oluştururken bu sınırları göz önünde bulundurun.

Anahtar kelime planı nesnesi Maksimum sayı
KeywordPlan (hesap başına) 10.000
KeywordPlan başına KeywordPlanAdGroup 200
KeywordPlan başına KeywordPlanAdGroupKeyword 10.000
KeywordPlan başına KeywordPlanCampaignKeyword (negatif anahtar kelime) 1.000
KeywordPlan başına KeywordPlanCampaign 1

Kitle analizi hizmeti

AudienceInsightsService içindeki aşağıdaki yöntemler belirli kota sınırlarına tabidir.

Dönüşüm yükleme hizmeti

Dönüşüm ayarlama yükleme hizmeti

Dönüşüm değeri kuralları

Hesapta attachment_type değeri CUSTOMER olan bir ConversionValueRuleSet zaten varsa yeni dönüşüm değeri kurallarını etkinleştirmek için bu kuralları ilgili gruba eklemeniz gerekir. Böyle bir dönüşüm değeri kural kümesi yoksa bir kural kümesi oluşturmanız ve dönüşüm değeri kurallarınızı Kural kümeleri oluşturma bölümünde açıklandığı şekilde bu kümeye eklemeniz gerekir.

Faturalandırma ve hesap bütçesi hizmetleri

  • Değişiklikler yalnızca aylık faturalandırma için yapılandırılmış hesaplarda yapılabilir.

    Bu sınırlamayı ihlal eden istekler şu hatayla reddedilir: MUTATE_NOT_ALLOWED.

  • Değişiklik istekleri için yalnızca 1 işleme izin verilir.

    Bu sınırlamayı ihlal eden istekler şu hatayla reddedilir: TOO_MANY_MUTATE_OPERATIONS.

  • Aynı hesapta hesap bütçesi (AccountBudget veya AccountBudgetProposal) değişiklikleri arasında en az 12 saat beklemeniz gerekir. 12 saat geçmeden değişiklik yapılması, yalnızca Google Ads hesap temsilciniz tarafından çözülebilecek, kurtarılamayan hatalara neden olabilir.

Müşteri hesaplarına davetler

Yeni kullanıcılar, CustomerUserAccessInvitationService ile mevcut müşteri hesaplarına davet edilebilir. Bu özellik, diğer kullanıcılara davet e-postaları gönderdiğinden kötüye kullanılma potansiyeline sahiptir. Bu nedenle, davranışıyla ilgili sınırlamalar vardır:

  • Kullanıcılar aynı müşteri hesabı için birden fazla bekleyen davet alamaz. Beklemede olan bir davetiyesi bulunan kullanıcıya davetiye göndermek için başka bir istek gönderilirse şu hata döndürülür: EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION.

  • Müşteri hesaplarında aynı anda en fazla 70 bekleyen davetiye olabilir. Bu değerin aşılmasına neden olan bir istek gönderilirse şu hata döndürülür: PENDING_INVITATIONS_LIMIT_EXCEEDED.

Kullanıcı verileri

Kullanıcı verileri, UserDataService ve OfflineUserDataJobService ile yönetilir.

Bir create veya remove işlemindeki her UserData nesnesi tek bir son kullanıcıyla ilgilidir. Tek bir UserData nesnesindeki user_identifiers alanı en fazla 20 tanımlayıcıyla sınırlıdır. Tek bir UserData nesnesinde bu sınırın aşılması, OfflineUserDataJobError.TOO_MANY_USER_IDENTIFIERS veya UserDataError.TOO_MANY_USER_IDENTIFIERS hatasına neden olur.

20'den fazla tanımlayıcısı olan kullanıcıları işleme

Tek bir son kullanıcının yüklemeniz gereken 20'den fazla tanımlayıcısı varsa bu tanımlayıcıları birden fazla UserData nesnesine dağıtmanız gerekir. Google'ın tüm bu tanımlayıcıları aynı son kullanıcıyla ilişkilendirebilmesi için söz konusu kullanıcıya ait her UserData nesnesinin en az bir ortak user_identifier (ör. aynı hashed_email, hashed_phone_number veya third_party_user_id) içermesi gerekir. Google, ayrı UserData işlemlerinden gelen bilgileri doğru son kullanıcı profiline bağlamak ve birleştirmek için bu paylaşılan tanımlayıcıları kullanır.

Karma oluşturma işlemi uygulanmış e-postalar veya telefon numaraları gibi kimliği tanımlayabilecek bilgiler kullanıyorsanız bağlantı hatalarını önlemek için bunların Google Ads API şartlarına göre normalleştirildiğinden ve karma oluşturma işlemi uygulandığından (SHA-256, küçük harf, boşluksuz) emin olun.

Örneğin, bir kullanıcının 30 e-posta adresi varsa ortak bir third_party_user_id paylaşan iki UserData nesnesi gönderebilirsiniz (20 tanımlayıcı sınırını aşmamak için thirdPartyUserId ve 1 ile 19 arasındaki e-postaları ilk nesneye, thirdPartyUserId ve 20 ile 30 arasındaki e-postaları ikinci nesneye yerleştirin):

{
  "userIdentifiers": [
    { "thirdPartyUserId": "user123" },
    { "hashedEmail": "SHA256_OF_EMAIL_1" },
    // Hashed emails 2 through 18 are omitted here.
    { "hashedEmail": "SHA256_OF_EMAIL_19" }
  ]
}
{
  "userIdentifiers": [
    { "thirdPartyUserId": "user123" },
    { "hashedEmail": "SHA256_OF_EMAIL_20" },
    // Hashed emails 21 through 29 are omitted here.
    { "hashedEmail": "SHA256_OF_EMAIL_30" }
  ]
}

Tek bir AddOfflineUserDataJobOperationsRequest içindeki tüm işlemler genelinde user_identifiers için toplam sınır 100.000'dir (bir OfflineUserDataJob, iş başına önerilen maksimum 1.000.000 işlem olmak üzere birden fazla AddOfflineUserDataJobOperationsRequest çağrısını kabul edebilir). UploadUserDataRequest (UserDataService.UploadUserData) kullanan eşzamanlı yüklemelerde her istek, tüm istek genelinde maksimum 10 işlem ve 100 user_identifiers ile sınırlıdır.

Diğer sınır türleri

İstekte çok fazla öğe içeren yinelenen bir alan (ör. işlem listesi) şu hataya neden olabilir: REQUEST_SIZE_LIMIT_EXCEEDED. Bu hata mesajı, başka sorunlardan da kaynaklanabilir.

Bu sınırlamayla karşılaşırsanız ve yinelenen alan kullanan istekler gönderiyorsanız işlem listesini birden fazla değişiklik isteğine bölerek yinelenen alandaki öğe sayısını azaltmayı deneyin.

GAQL sorgusu yaparken IN yan tümcesindeki maksimum öğe sayısı 20.000'dir. Bu sınırı aşarsanız FILTER_HAS_TOO_MANY_VALUES hatası döndürülür.