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 Test | 15 000 operacji API dziennie na kontach testowych |
RESOURCE_EXHAUSTED
|
| Operacje na poziomie dostępu eksploratora |
2880 operacji API dziennie na kontach produkcyjnych 15 000 operacji API dziennie na kontach testowych |
RESOURCE_EXHAUSTED
|
| Operacje z podstawowym poziomem dostępu | 15 000 operacji API dziennie na kontach testowych i produkcyjnych |
RESOURCE_EXHAUSTED
|
| Operacje z dostępem standardowym | Nieograniczona liczba operacji API dziennie na kontach testowych i produkcyjnych | Nie dotyczy |
| Żądania modyfikacji | 10 000 operacji modyfikacji 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 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 suma żądań Search i SearchStream, poszczególnych operacji modyfikacji oraz innych żądań usługi. 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ć strumieniowania. W przypadku operacji mutacji wysyłaj mniej operacji na żądanie.
Żądania, które naruszają to ograniczenie, nie wygenerują GoogleAdsError, ale wygenerują błąd RESOURCE_EXHAUSTED (kod gRPC 8 / HTTP 429). Zapoznaj się z listą kodó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 mutate.
Żą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ń są opisane 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 stronicowania, które zawierają wygasły 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 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.ListBatchJobResultsConversionUploadService.UploadCallConversionsConversionUploadService.UploadClickConversionsOfflineUserDataJobService.AddOfflineUserDataJobOperationsOfflineUserDataJobService.CreateOfflineUserDataJobUserDataService.UploadUserData
Żą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 zwróciły 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:
KeywordPlanIdeaService.GenerateKeywordIdeasKeywordPlanIdeaService.GenerateKeywordHistoricalMetricsKeywordPlanIdeaService.GenerateKeywordForecastMetrics
Żądania, które naruszają te ograniczenia, są odrzucane z błędem:
RESOURCE_EXHAUSTED1 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 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) na KeywordPlan |
1000 |
KeywordPlanCampaign za KeywordPlan |
1 |
Usługa Statystyki 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:
- Ograniczenie do 2 żądań na sekundę na projekt Google Cloud:
Usługa przesyłania konwersji
Ograniczenie do 2000 konwersji telefonicznych lub konwersji po kliknięciu 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 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
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 sekcji Tworzenie zestawów reguł.
Usługi rozliczeniowe i usługi budżetu 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.
Żą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 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 na konta klientów
Nowych użytkowników można zapraszać na istniejące konta klientów za pomocą funkcji CustomerUserAccessInvitationService.
Ta funkcja wysyła e-maile z zaproszeniem do innych użytkowników, dlatego może być nadużywana. Z tego powodu 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, zwracany jest ten błąd:
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:
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 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 zaszyfrowane 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 UserDataobiekty, które mają wspólny third_party_user_id (umieszczając thirdPartyUserIde-maile od 1 do 19 w pierwszym obiekcie, aby nie przekroczyć limitu 20 identyfikatorów, a thirdPartyUserIde-maile od 20 do 30 w drugim):
{
"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 dla user_identifiers we wszystkich operacjach w ramach jednego AddOfflineUserDataJobOperationsRequest wynosi 100 tys. (OfflineUserDataJob może akceptować wiele wywołań AddOfflineUserDataJobOperationsRequest, maksymalnie 1 mln operacji na zadanie). W przypadku synchronicznego przesyłania 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ń mutacji.
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.