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 bazı önemli sınırlar ve kotalar özetlenmektedir.

İstek türü, sınırlama ve hata kodu
Test erişim düzeyiyle yapılan işlemler Test hesaplarına karşı günde 15.000 API işlemi RESOURCE_EXHAUSTED
Gezgin erişim düzeyindeki işlemler Üretim hesaplarına karşı günde 2.880 API işlemi
Test hesaplarına karşı günde 15.000 API işlemi
RESOURCE_EXHAUSTED
Temel erişim düzeyiyle yapılan işlemler Hem test hem de üretim hesaplarında günde 15.000 API işlemi RESOURCE_EXHAUSTED
Standart erişim düzeyine sahip 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ştirme 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 projenizin yaptığı API işlemlerinin sayısına göre belirlenir. API işlemleri, Search ve SearchStream isteklerinin, tekil mutasyon işlemlerinin ve diğer hizmet isteklerinin toplamıdır. Günlük API işlemleriyle ilgili 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ılavuzunda, her erişim düzeyi için geçerli olan belirli API işlemi sınırları açıklanmaktadır.

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ıtlarda bu sınır aşılmamalı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ış 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

Search veya SearchStream isteği, kullanıcının günlük işlem kotası kapsamında tek bir işlem olarak sayılır. Toplu işlem sayısından bağımsız olarak bir SearchStream isteği, bir API işlemi olarak kabul edilir.

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ı kapsamında bir işlem olarak sayılır.

Bu tür taleplere örnek olarak şunlar verilebilir:

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 GoogleAdsFailure döndürmeyen istekler (ör. ağ düzeyindeki bir hatadan kaynaklananlar) hizmete hiçbir zaman ulaşmayacağından kullanıcının günlük işlem kotasına dahil edilmez. Buna örnek olarak ağ bağlantısı hatası verilebilir.

Anahtar Kelime Planlayıcı hizmeti

Maliyet ve karmaşıklık nedeniyle, aşağıdaki anahtar kelime planlama hizmeti 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
KeywordPlanCampaignKeyword (negatif anahtar kelimeler) başına KeywordPlan 1.000
KeywordPlan başına KeywordPlanCampaign 1

Kitle analizi hizmeti

AudienceInsightsService kapsamındaki 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ın etkinleşmesi için bunları ilgili kümeye 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 sonraki bir istek yapılırsa şu hata döndürülür: EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION.

  • Müşteri hesaplarının aynı anda en fazla 70 bekleyen davetiyesi 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şlemlerden gelen bilgileri doğru son kullanıcı profiliyle 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 bilgilerden yararlanıyorsanız bağlantı hatalarını önlemek için bu bilgilerin Google Ads API şartlarına (SHA-256, küçük harf, boşluk yok) göre normalleştirildiğinden ve karma oluşturma işlemi uygulandığından 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 için toplam user_identifiers sınırı 100.000'dir (bir OfflineUserDataJob, iş başına önerilen maksimum 1.000.000 işleme kadar birden fazla AddOfflineUserDataJobOperationsRequest çağrısı 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

İstek içinde çok fazla öğe içeren işlemler listesi gibi yinelenen bir alan ş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 oluştururken bir IN ifadesindeki 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.