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 najważniejszych limitów i kwot, o których warto pamiętać.
| Typ żądania, ograniczenie i kod błędu | ||
|---|---|---|
| Operacje na poziomie dostępu Eksplorator |
2880 operacji API dziennie na kontach produkcyjnych 15 000 operacji API dziennie na kontach testowych |
RESOURCE_EXHAUSTED
|
| Operacje na poziomie dostępu Podstawowy | 15 000 operacji API dziennie na kontach testowych i produkcyjnych |
RESOURCE_EXHAUSTED
|
| Żądania zmiany |
10 tys. operacji zmiany na żądanie 100 operacji działania na żądanie |
TOO_MANY_MUTATE_OPERATIONS
|
| Żądania usługi planowania | 1 zapytanie/s |
RESOURCE_EXHAUSTED
|
| Żądania usługi przesyłania konwersji | 2000 konwersji na żądanie |
TOO_MANY_CONVERSIONS_IN_REQUEST
|
| Prośby dotyczące usługi rozliczeń i budżetu konta | 1 operacja na żądanie zmiany |
TOO_MANY_MUTATE_OPERATIONS
|
Dzienne limity operacji interfejsu API
Dzienne limity wykorzystania interfejsu API zależą od liczby operacji interfejsu API wykonanych za pomocą tokena programisty. Operacje API to łączna suma żądań pobierania i operacji mutate. Limity dziennych operacji interfejsu API zależą od poziomu dostępu tokena programisty. W przewodniku po poziomach dostępu i dozwolonym użytkowaniu znajdziesz szczegółowe limity operacji interfejsu 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ć strumieniowania. W przypadku operacji mutacji wysyłaj mniej operacji na żądanie.
Żądania, które naruszają to ograniczenie, nie wygenerują GoogleAdsError, ale wygenerują błąd 429 Resource Exhausted gRPC. Zapoznaj się z listą kodów błędów i komunikatów o błędach gRPC.
Żądania zmiany
Oprócz tego, że żądanie mutate jest wliczane do dziennego limitu operacji użytkownika,nie może ono zawierać więcej niż 10 tysięcy operacji.
Prośby, które naruszają to ograniczenie, są odrzucane z błędem:TOO_MANY_MUTATE_OPERATIONS.
Dodatkowe limity i uwagi dotyczące konkretnych usług i rodzajów żądań znajdziesz poniżej.
Wyszukaj żądania
Żądanie Search lub SearchStream jest liczone jako 1 operacja w ramach dziennego limitu operacji użytkownika. Jedno żądanie SearchStream jest liczone jako jedna operacja interfejsu API, niezależnie od liczby partii.
Żądania z podziałem na strony
Żądania podzielone na strony (np. żądania zawierające prawidłowy parametr
next_page_token) nie są wliczane do dziennego limitu operacji użytkownika.
Żądania podziału na strony, które zawierają nieprawidłowy lub nieważny token strony, będą jednak generować wyjątek i będą wliczane do dziennego limitu operacji.
Więcej informacji o stronicowaniu znajdziesz w artykule Przeglądanie wyników.
Inne typy próśb
Żą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 próśb:
BatchJobService.ListMutateJobResultsConversionUploadService.UploadCallConversionsConversionUploadService.UploadClickConversionsOfflineUserDataJobService.AddOfflineUserDataJobOperationsOfflineUserDataJobService.CreateOfflineUserDataJobUserDataService.UploadUserData
Żądania, które zwracają wyjątki interfejsu API
Żądania odrzucone z kodem GoogleAdsFailure nadal są wliczane do dziennego limitu operacji użytkownika.
Żądania, które nie powiodły się, ale nie zwracają kodu 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 może być awaria połączenia sieciowego.
Usługa planowania słów kluczowych
Ze względu na koszty i złożoność poniższe metody usługi Planowanie słów kluczowych podlegają limitom oddzielnym od innych typów żądań.
Ograniczenie do 1 żądania na sekundę na ID klienta:
KeywordPlanIdeaService.GenerateKeywordIdeasKeywordPlanIdeaService.GenerateKeywordHistoricalMetricsKeywordPlanIdeaService.GenerateKeywordForecastMetrics
Żądania, które naruszają te ograniczenia, są odrzucane z błędem:
RESOURCE_EXHAUSTED.1 zapytanie na sekundę to 60 żądań na 60 sekund.
Ograniczenie do 2 żądań na sekundę na identyfikator klienta:
Podczas tworzenia planu słów kluczowych pamiętaj o tych limitach.
| Obiekt planu dotyczącego 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
Poniższe metody w ramach AudienceInsightsService podlegają określonym limitom.
- Ograniczenie do około 200 żądań dziennie na ID klienta:
- Ograniczenie do 2 żądań na sekundę na token programisty:
Usługa przesyłania konwersji
Ograniczenie do 2000 konwersji telefonicznych lub konwersji z kliknięcia 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 dostosowań konwersji na żądanie:
Żądania, które naruszają te limity, są odrzucane z błędem:
TOO_MANY_ADJUSTMENTS_IN_REQUEST.
Reguły wartości konwersji
Maksymalnie 100 000 reguł wartości konwersji na konto.
Prośby, które naruszają ten limit, są odrzucane z błędem
ResourceCountLimitExceededError.ACCOUNT_LIMIT.
Jeśli na koncie istnieje już ConversionValueRuleSet z attachment_type o wartości CUSTOMER, musisz dodać do tego zbioru wszystkie nowe reguły wartości konwersji, aby stały się aktywne. Jeśli nie ma takiego zbioru reguł wartości konwersji, musisz go utworzyć i dodać do niego reguły wartości konwersji zgodnie z opisem w artykule Tworzenie zbiorów reguł.
Usługi związane z płatnościami i budżetem konta
Zmiany można wprowadzać tylko na kontach skonfigurowanych pod kątem fakturowania miesięcznego.
Prośby, które naruszają to ograniczenie, są odrzucane z błędem:
MUTATE_NOT_ALLOWED.W przypadku żądań zmiany dozwolona jest tylko 1 operacja.
Prośby, 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
Nowych użytkowników można zapraszać na istniejące konta klientów za pomocą funkcji CustomerUserAccessService. Ta funkcja wysyła e-maile z zaproszeniami do innych użytkowników, więc może być nadużywana. Dlatego jej działanie jest ograniczone:
Użytkownicy nie mogą otrzymać więcej niż 1 oczekującego zaproszenia do tego samego konta klienta. Jeśli zostanie wysłana kolejna prośba o zaproszenie użytkownika, który ma już oczekujące zaproszenie, pojawi się ten błąd:
ACCESS_INVITATION_ERROR_EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION.Konta klientów nie mogą mieć więcej niż 70 oczekujących zaproszeń jednocześnie. Jeśli wyślesz żądanie, które spowoduje przekroczenie tej wartości, zwracany jest ten błąd:
ACCESS_INVITATION_ERROR_PENDING_INVITATIONS_LIMIT_EXCEEDED.
Dane użytkownika
Danymi użytkowników zarządza się za pomocą UserDataService i OfflineUserDataJobService.
Każdy obiekt UserData w operacji create lub remove dotyczy jednego użytkownika. Pole user_identifiers w ramach pojedynczego obiektu UserData 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 ponad 20 identyfikatorami
Jeśli pojedynczy użytkownik końcowy ma więcej niż 20 identyfikatorów, które musisz przesłać, rozdziel je 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 dotyczący tego użytkownika musi zawierać co najmniej jeden wspólny user_identifier, np. ten sam identyfikator hashed_email, hashed_phone_number lub third_party_user_id. Google używa tych udostępnionych identyfikatorów do łączenia i scalania informacji z osobnych UserData operacji z odpowiednim profilem użytkownika.
Jeśli korzystasz z informacji umożliwiających identyfikację, takich jak zahaszowane adresy e-mail lub numery telefonów, zadbaj o to, aby były one znormalizowane i zahaszowane zgodnie z wymaganiami interfejsu Google Ads API (SHA-256, małe litery, brak białych znaków), aby zapobiec niepowodzeniom w zakresie łączenia.
Jeśli na przykład 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 dla user_identifiers we wszystkich operacjach w ramach jednego OfflineUserDataJob wynosi 100 tys.
Inne rodzaje 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ą powtarzanego pola, 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 tys. Jeśli przekroczysz ten limit, zwracany jest błąd FILTER_HAS_TOO_MANY_VALUES.