Interfejs Google Ads API wymusza limity operacji API, np. liczbę operacji, które można wysłać w jednym żądaniu zmiany. W tabeli poniżej znajdziesz podsumowanie niektórych ważnych limitów i limitów przydziału, o których warto pamiętać.
| Typ żądania, ograniczenie i kod błędu | ||
|---|---|---|
| Operacje z poziomem dostępu Eksplorator |
2880 operacji API dziennie na kontach produkcyjnych 15 000 operacji API dziennie na kontach testowych |
RESOURCE_EXHAUSTED
|
| Operacje z poziomem dostępu Podstawowy | 15 000 operacji API dziennie na kontach testowych i produkcyjnych |
RESOURCE_EXHAUSTED
|
| Żądania zmiany |
10 000 operacji zmiany na żądanie 100 operacji działania na żądanie |
TOO_MANY_MUTATE_OPERATIONS
|
| Żądania usługi planowania | 1 zapytanie na sekundę |
RESOURCE_EXHAUSTED
|
| Żądania usługi przesyłania konwersji | 2000 konwersji na żądanie |
TOO_MANY_CONVERSIONS_IN_REQUEST
|
| Żądania usługi rozliczeń i budżetu konta | 1 operacja na żądanie zmiany |
TOO_MANY_MUTATE_OPERATIONS
|
Dzienne limity operacji API
Dzienne limity wykorzystania interfejsu API są oparte na liczbie operacji API wykonywanych za pomocą tokena programisty. Operacje API to łączna suma żądań pobierania i operacji zmiany. Limity dziennych operacji API zależą od poziomu dostępu tokena programisty. 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ąć przekroczenia tego limitu, możesz zmniejszyć liczbę wybranych pól lub użyć przesyłania strumieniowego. W przypadku operacji zmiany wysyłaj mniej operacji na żądanie.
Żądania, które naruszają to ograniczenie, nie wygenerują błędu
GoogleAdsError, ale wygenerują błąd gRPC
429 Resource Exhausted. Zapoznaj się z listą kodów i komunikatów o błędach gRPC.
Żądania zmiany
Oprócz tego, że żądanie zmiany jest wliczane do dziennego limitu operacji użytkownika,nie może ono zawierać więcej niż 10 000 operacji na żądanie.
Żądania, które naruszają to ograniczenie, są odrzucane z błędem:
TOO_MANY_MUTATE_OPERATIONS.
Dodatkowe limity i kwestie dotyczące konkretnych usług i typów żądań znajdziesz poniżej.
Żą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.
Żądania z podziałem na strony, które zawierają nieprawidłowy lub nieaktualny token strony, spowodują jednak wyjątek i zostaną wliczone do dziennego limitu operacji.
Więcej informacji o podziale na strony znajdziesz w artykule Podział wyników na strony.
Inne typy żądań
Żądanie, które nie jest żądaniem Get, Mutate, Search ani SearchStream,
jest liczone jako 1 operacja w ramach dziennego limitu operacji użytkownika.
Oto kilka przykładów takich żądań:
BatchJobService.ListMutateJobResultsConversionUploadService.UploadCallConversionsConversionUploadService.UploadClickConversionsOfflineUserDataJobService.AddOfflineUserDataJobOperationsOfflineUserDataJobService.CreateOfflineUserDataJobUserDataService.UploadUserData
Żądania, które zwracają wyjątki API
Żądania odrzucone z powodu błędu GoogleAdsFailure są nadal wliczane
do dziennego limitu operacji użytkownika.
Żądania, które nie powiodły się, ale nie zwracają błędu GoogleAdsFailure (np. z powodu
błędu na poziomie sieci), nie są wliczane do dziennego limitu operacji
użytkownika, ponieważ nigdy nie docierają do usługi. Przykładem jest awaria połączenia sieciowego.
Usługa planowania słów kluczowych
Ze względu na koszty i złożoność następujące 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ę to 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 000 |
KeywordPlanAdGroup na KeywordPlan |
200 |
KeywordPlanAdGroupKeyword na KeywordPlan |
10 000 |
KeywordPlanCampaignKeyword (wykluczające słowa kluczowe) |
1000 |
KeywordPlanCampaign na KeywordPlan |
1 |
Usługa statystyk odbiorców
Następujące metody w ramach AudienceInsightsService podlegają
określonym limitom przydziału.
- Limit około 200 żądań dziennie na ID klienta:
- Limit 2 żądań na sekundę na token programisty:
Usługa przesyłania konwersji
Limit 2000 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 2000 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 000 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 wartością
attachment_type w polu 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
Operacje zmiany można wykonywać 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ń zmiany dozwolona jest tylko 1 operacja.
Żądania, które naruszają to ograniczenie, są odrzucane z błędem:
TOO_MANY_MUTATE_OPERATIONS.Między zmianami zamówienia budżetu 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 konta Google Ads.
Zaproszenia do kont klientów
Za pomocą
CustomerUserAccessService 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 obowiązują następujące ograniczenia:
Użytkownicy nie mogą otrzymać 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:
ACCESS_INVITATION_ERROR_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:
ACCESS_INVITATION_ERROR_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 może zawierać maksymalnie 20 identyfikatorów. Przekroczenie tego
limitu w jednym UserData obiekcie 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 zahaszowane adresy e-mail lub numery telefonów, upewnij się, że są one znormalizowane i zahaszowane zgodnie z wymaganiami interfejsu Google Ads API (SHA-256, małe litery, brak białych znaków), aby zapobiec niepowodzeniom łączenia.
Jeśli np. użytkownik ma 30 adresów e-mail, możesz wysłać 2 obiekty UserData.
UserData 1: {third_party_user_id: „user123”,hashed_email: „email1@...” ...hashed_email: „email19@...”}UserData 2: {third_party_user_id: "user123",hashed_email: "email20@...", ...hashed_email: „email30@...”}
Łączny limit user_identifiers we wszystkich operacjach w ramach jednego OfflineUserDataJob wynosi 100 000.
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, wdrażając listę operacji w żądaniu zmiany.
Podczas wykonywania zapytania GAQL maksymalna liczba elementów w klauzuli IN
wynosi 20 000. Jeśli przekroczysz ten limit, zostanie zwrócony błąd
FILTER_HAS_TOO_MANY_VALUES.