Interfejs Google Ads API wymusza limity operacji API, np. liczbę operacji, które można wysłać w jednym żądaniu modyfikacji. W tabeli poniżej znajdziesz podsumowanie niektórych ważnych limitów i limitów wykorzystania.
| Typ żądania, ograniczenie i kod błędu | ||
|---|---|---|
| Operacje z poziomem dostępu Test | 15 tys. operacji API dziennie na kontach testowych |
RESOURCE_EXHAUSTED
|
| Operacje z poziomem dostępu Eksplorator |
2880 operacji API dziennie na kontach produkcyjnych 15 tys. operacji API dziennie na kontach testowych |
RESOURCE_EXHAUSTED
|
| Operacje z poziomem dostępu Podstawowy | 15 tys. operacji API dziennie na kontach testowych i produkcyjnych |
RESOURCE_EXHAUSTED
|
| Operacje z poziomem dostępu Standardowy | Nieograniczona liczba operacji API dziennie na kontach testowych i produkcyjnych | Nie dotyczy |
| Żądania modyfikacji | 10 tys. operacji modyfikacji na żądanie |
TOO_MANY_MUTATE_OPERATIONS
|
| Żądania usługi planowania | 1 zapytanie na sekundę |
RESOURCE_EXHAUSTED
|
| Zapytania o usługę przesyłania konwersji | 2 tys. konwersji na żądanie |
TOO_MANY_CONVERSIONS_IN_REQUEST
|
| Żądania usługi rozliczeń i budżetu konta | 1 operacja na żądanie modyfikacji |
TOO_MANY_MUTATE_OPERATIONS
|
Dzienne limity operacji API
Dzienne limity wykorzystania interfejsu API są oparte na liczbie operacji API wykonywanych przez Twój projekt w chmurze Google. Operacje API to łączna suma żądań Search
i SearchStream, poszczególnych operacji modyfikacji oraz innych żądań usług. Limity dziennych operacji API zależą od poziomu dostępu do interfejsu API w Twoim projekcie w chmurze Google. W przewodniku Poziomy dostępu i
dopuszczalne użycie znajdziesz szczegółowe limity operacji API
dla każdego poziomu dostępu.
Żądania, które naruszają te limity, są odrzucane z błędem:
RESOURCE_EXHAUSTED.
Ograniczenia gRPC
Wszystkie biblioteki klienta interfejsu Google Ads API używają gRPC do generowania żądań i odpowiedzi. Domyślnie gRPC ma rozmiar wiadomości 4 MB, ale nasze biblioteki klienta ustawiają maksymalny rozmiar wiadomości na 64 MB , aby zwiększyć wydajność.
Odpowiedzi nie mogą przekraczać tego limitu. Na przykład żądanie wyszukiwania, które zawiera wiele pól, może wygenerować odpowiedź o rozmiarze przekraczającym 64 MB. Aby uniknąć tego limitu, możesz zmniejszyć liczbę wybranych pól lub użyć przesyłania strumieniowego. W przypadku modyfikacji wysyłaj mniej operacji na żądanie.
Żądania, które naruszają to ograniczenie, nie wygenerują błędu
GoogleAdsError, ale wygenerują błąd
RESOURCE_EXHAUSTED (kod gRPC 8 / HTTP 429). Zapoznaj się z
listą kodów błędów i komunikatów gRPC.
Żądania modyfikacji
Oprócz tego, że żądanie modyfikacji jest wliczane do dziennego limitu operacji użytkownika,nie może ono zawierać więcej niż 10 tys. operacji modyfikacji na żądanie.
Żądania, które naruszają to ograniczenie, są odrzucane z błędem:
TOO_MANY_MUTATE_OPERATIONS.
Poniżej znajdziesz dodatkowe limity i kwestie dotyczące konkretnych usług i typów żądań.
Żądania wyszukiwania
Żądanie Search lub SearchStream jest liczone jako 1 operacja w ramach dziennego limitu operacji użytkownika. Żądanie SearchStream jest liczone jako 1 operacja API niezależnie od liczby partii.
Żądania z podziałem na strony
Żądania z podziałem na strony (np. żądania zawierające prawidłowy token next_page_token) nie są wliczane do dziennego limitu operacji użytkownika.
Jednak żądania z podziałem na strony, które zawierają wygasły lub nieprawidłowy token strony, spowodują wyjątek i będą wliczane do dziennego limitu operacji.
Więcej informacji o podziale na strony znajdziesz w artykule Przeglądanie wyników.
Inne typy żądań
Żądanie, które nie jest żądaniem Mutate, Search, ani SearchStream,
jest liczone jako 1 operacja w ramach dziennego limitu operacji użytkownika.
Oto kilka przykładów takich żądań:
BatchJobService.ListBatchJobResultsConversionUploadService.UploadCallConversionsConversionUploadService.UploadClickConversionsOfflineUserDataJobService.AddOfflineUserDataJobOperationsOfflineUserDataJobService.CreateOfflineUserDataJobUserDataService.UploadUserData
Żądania, które zwracają wyjątki API
Żądania odrzucone z powodu GoogleAdsFailure nadal
są wliczane do dziennego limitu operacji użytkownika.
Żądania, które nie powiodły się, ale nie zwróciły GoogleAdsFailure,
np. z powodu błędu na poziomie sieci, nie będą wliczane do dziennego
limitu operacji użytkownika, ponieważ nigdy nie dotrą do usługi. Przykładem jest brak połączenia sieciowego.
Usługa planowania słów kluczowych
Ze względu na koszty i złożoność te metody usługi planowania słów kluczowych podlegają innym limitom niż inne typy żądań.
Limit 1 żądania na sekundę na ID klienta:
KeywordPlanIdeaService.GenerateKeywordIdeasKeywordPlanIdeaService.GenerateKeywordHistoricalMetricsKeywordPlanIdeaService.GenerateKeywordForecastMetrics
Żądania, które naruszają te limity, są odrzucane z błędem:
RESOURCE_EXHAUSTED.1 zapytanie na sekundę jest obliczane jako 60 żądań na 60 sekund.
Limit 2 żądań na sekundę na ID klienta:
Podczas tworzenia planu słów kluczowych pamiętaj o tych limitach.
| Obiekt planu słów kluczowych | Maksymalna liczba |
|---|---|
KeywordPlan na konto |
10 tys. |
KeywordPlanAdGroup na KeywordPlan |
200 |
KeywordPlanAdGroupKeyword na KeywordPlan |
10 tys. |
KeywordPlanCampaignKeyword (wykluczające słowa kluczowe) na KeywordPlan |
1000 |
KeywordPlanCampaign na KeywordPlan |
1 |
Usługa statystyk odbiorców
Te metody w ramach
AudienceInsightsService podlegają określonym
limitom wykorzystania.
- Limit około 200 żądań dziennie na ID klienta:
- Limit 2 żądań na sekundę na projekt w chmurze Google Cloud:
Usługa przesyłania konwersji
Limit 2 tys. konwersji połączeń lub kliknięć na żądanie:
Żądania, które naruszają te limity, są odrzucane z błędem:
TOO_MANY_CONVERSIONS_IN_REQUEST.
Usługa przesyłania korekt konwersji
Limit 2 tys. korekt konwersji na żądanie:
Żądania, które naruszają te limity, są odrzucane z błędem:
TOO_MANY_ADJUSTMENTS_IN_REQUEST.
Reguły wartości konwersji
Limit 100 tys. reguł wartości konwersji na konto.
Żądania, które naruszają ten limit, są odrzucane z błędem
ResourceCountLimitExceededError.ACCOUNT_LIMIT.
Jeśli na koncie istnieje już ConversionValueRuleSet z
attachment_type ustawionym na CUSTOMER, musisz dodać do niego wszystkie
nowe reguły wartości konwersji, aby stały się aktywne. Jeśli taki
zbiór reguł wartości konwersji nie istnieje, musisz go utworzyć i dodać do niego reguły wartości
konwersji zgodnie z opisem w artykule Tworzenie zbiorów reguł.
Usługi rozliczeń i budżetu konta
Modyfikacje można wprowadzać tylko na kontach skonfigurowanych do fakturowania miesięcznego.
Żądania, które naruszają to ograniczenie, są odrzucane z błędem:
MUTATE_NOT_ALLOWED.W przypadku żądań modyfikacji dozwolona jest tylko 1 operacja.
Żądania, które naruszają to ograniczenie, są odrzucane z błędem:
TOO_MANY_MUTATE_OPERATIONS.Między zmianami budżetu konta (
AccountBudgetlubAccountBudgetProposal) na tym samym koncie należy odczekać co najmniej 12 godzin. Wprowadzanie zmian przed upływem 12 godzin może spowodować nieodwracalne błędy, które może rozwiązać tylko przedstawiciel Google Ads.
Zaproszenia do kont klientów
Za pomocą
CustomerUserAccessInvitationService można zapraszać nowych użytkowników do istniejących kont klientów.
Ta funkcja wysyła e-maile z zaproszeniami do innych użytkowników, dlatego może być nadużywana. Z tego powodu jej działanie podlega pewnym ograniczeniom:
Użytkownicy nie mogą mieć więcej niż 1 oczekującego zaproszenia na to samo konto klienta. Jeśli zostanie wysłane kolejne żądanie zaproszenia użytkownika który ma już oczekujące zaproszenie, zostanie zwrócony ten błąd:
EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION.Konta klientów nie mogą mieć jednocześnie więcej niż 70 oczekujących zaproszeń. Jeśli zostanie wysłane żądanie, które spowoduje przekroczenie tej wartości, zostanie zwrócony ten błąd:
PENDING_INVITATIONS_LIMIT_EXCEEDED.
Dane użytkownika
Dane użytkownika są zarządzane za pomocą UserDataService i
OfflineUserDataJobService.
Każdy UserData obiekt w operacji create lub remove dotyczy
jednego użytkownika. Pole user_identifiers w
jednym UserData obiekcie jest ograniczone do maksymalnie 20 identyfikatorów. Przekroczenie
tego limitu w jednym obiekcie UserData spowoduje błąd
OfflineUserDataJobError.TOO_MANY_USER_IDENTIFIERS
lub UserDataError.TOO_MANY_USER_IDENTIFIERS.
Obsługa użytkowników z więcej niż 20 identyfikatorami
Jeśli jeden użytkownik ma więcej niż 20 identyfikatorów, które musisz przesłać, rozdziel te identyfikatory na kilka obiektów UserData. Aby mieć pewność, że Google może powiązać wszystkie te identyfikatory z tym samym użytkownikiem, każdy obiekt UserData dla tego użytkownika musi zawierać co najmniej 1 wspólny user_identifier, np. ten sam hashed_email, hashed_phone_number lub third_party_user_id. Google używa tych wspólnych identyfikatorów do łączenia i scalania informacji z oddzielnych operacji UserData z prawidłowym profilem użytkownika.
Jeśli korzystasz z informacji umożliwiających identyfikację osoby, takich jak zaszyfrowane adresy e-mail lub numery telefonów, upewnij się, że są one znormalizowane i zaszyfrowane zgodnie z wymaganiami interfejsu Google Ads API (SHA-256, małe litery, brak białych znaków), aby zapobiec niepowodzeniom w łączeniu.
Jeśli na przykład użytkownik ma 30 adresów e-mail, możesz wysłać 2 obiekty UserData, które mają wspólny third_party_user_id (w pierwszym obiekcie umieść thirdPartyUserId oraz adresy e-mail od 1 do 19, aby nie przekroczyć limitu 20 identyfikatorów, a w drugim – thirdPartyUserId oraz adresy e-mail od 20 do 30):
{
"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" }
]
}
Łączny limit user_identifiers we wszystkich operacjach w ramach jednego
AddOfflineUserDataJobOperationsRequest wynosi 100 tys. (an
OfflineUserDataJob może akceptować wiele
AddOfflineUserDataJobOperationsRequest wywołań, maksymalnie
1 mln operacji na zadanie). W przypadku synchronicznych przesyłań za pomocą
UploadUserDataRequest
(UserDataService.UploadUserData) każde żądanie jest ograniczone
do maksymalnie 10 operacji i 100 user_identifiers w całym
żądaniu.
Inne typy limitów
Pole powtarzane, np. lista operacji, które zawiera zbyt wiele elementów w
żądaniu, może spowodować błąd:
REQUEST_SIZE_LIMIT_EXCEEDED. Ten sam komunikat o błędzie może być też spowodowany innymi problemami.
Jeśli napotkasz to ograniczenie i wysyłasz żądania, które używają pola powtarzanego, spróbuj zmniejszyć liczbę elementów w tym polu, dzieląc listę operacji na kilka żądań modyfikacji.
Podczas wykonywania zapytania GAQL maksymalna liczba elementów w
klauzuli IN wynosi 20 tys. Jeśli przekroczysz ten limit, zostanie zwrócony błąd
FILTER_HAS_TOO_MANY_VALUES.