Interfejs Google Ads API egzekwuje 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 kwot, o których warto pamiętać.
| Typ żądania, ograniczenie i kod błędu | ||
|---|---|---|
| Operacje na poziomie dostępu Eksplorujący |
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 modyfikacji |
10 tys. operacji zmiany na żądanie 100 operacji działania na żądanie |
TOO_MANY_MUTATE_OPERATIONS
|
| Zapytania dotyczące 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 modyfikacji |
TOO_MANY_MUTATE_OPERATIONS
|
Dzienne limity operacji interfejsu API
Dzienne limity wykorzystania interfejsu API zależą od liczby operacji interfejsu API wykonywanych przez Twój projekt w chmurze Google Cloud. Operacje interfejsu API to łączna liczba żądań get i operacji mutate. Limity dziennych operacji API zależą od poziomu dostępu do interfejsu API w Twoim projekcie Google Cloud. 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ć przesyłania strumieniowego. W przypadku operacji mutacji wysyłaj mniej operacji na żądanie.
Żądania, które naruszają to ograniczenie, nie wygenerują GoogleAdsError, ale wygenerują błąd gRPC 429 Resource
Exhausted. Zapoznaj się z listą kodów błędów i komunikatów o błędach gRPC.
Żądania modyfikacji
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.
Żądania, 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 1 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ą nieaktualny lub nieprawidłowy 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.AddOfflineUserDataJobOperations
Żądania, które zwracają wyjątki interfejsu API
Żądania odrzucone z kodem GoogleAdsFailure są nadal 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ć brak połączenia z siecią.
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:
Żądania, które naruszają te ograniczenia, są odrzucane z błędem:
RESOURCE_EXHAUSTED.1 QPS 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 za KeywordPlan |
200 |
KeywordPlanAdGroupKeyword za KeywordPlan |
10 000 |
KeywordPlanCampaignKeyword (wykluczające słowa kluczowe) |
1000 |
KeywordPlanCampaign za KeywordPlan |
1 |
Usługa statystyk odbiorców
Poniższe metody w ramach usługi AudienceInsightsService podlegają określonym limitom
kwot.
- Ograniczenie do około 200 żądań dziennie na ID klienta:
AudienceInsightsService.GenerateAudienceCompositionInsightsAudienceInsightsService.GenerateSuggestedTargetingInsights- Ograniczenie do 2 żądań na sekundę na projekt Google Cloud:
AudienceInsightsService.GenerateTargetingSuggestionMetrics
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
Ograniczenie do 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
Na koncie można utworzyć maksymalnie 100 000 reguł wartości konwersji.
Żądania, 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 zestawu reguł wartości konwersji, musisz go utworzyć i dodać do niego reguły wartości konwersji zgodnie z opisem w artykule Tworzenie zestawó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.
Żądania, 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 powinno upłynąć 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 zaproszeniem do innych użytkowników, więc może być nadużywana. Z tego powodu jej działanie jest ograniczone:
Użytkownicy nie mogą otrzymać więcej niż jednego 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 zostanie wysłane żą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 1 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 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 1 wspólny user_identifier, np. ten sam 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 operacji UserData 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 zaszyfrowane zgodnie z wymaganiami interfejsu Google Ads API (SHA-256, małe litery, brak białych znaków), aby zapobiec błędom łą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 modyfikacji.
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.