API-Limits und ‑Kontingente

Für die Google Ads API gelten Limits für API-Vorgänge, z. B. für die Anzahl der Vorgänge, die in einer einzelnen Mutationsanfrage gesendet werden können. In der folgenden Tabelle sind einige der wichtigen Limits und Kontingente zusammengefasst, die Sie beachten sollten.

Anfragetyp, Einschränkung und Fehlercode
Vorgänge mit der Zugriffsebene „Test“ 15.000 API-Vorgänge pro Tag für Testkonten RESOURCE_EXHAUSTED
Vorgänge mit der Zugriffsebene „Explorer“ 2.880 API-Vorgänge pro Tag für Produktionskonten
15.000 API-Vorgänge pro Tag für Testkonten
RESOURCE_EXHAUSTED
Vorgänge mit der Zugriffsebene „Basic“ 15.000 API-Vorgänge pro Tag für Test- und Produktionskonten RESOURCE_EXHAUSTED
Vorgänge mit Standardzugriffsebene Unbegrenzte Anzahl von API-Vorgängen pro Tag für Test- und Produktionskonten
Mutationsanfragen 10.000 Mutationsvorgänge pro Anfrage TOO_MANY_MUTATE_OPERATIONS
Planungsserviceanfragen 1 Abfrage pro Sekunde RESOURCE_EXHAUSTED
Anfragen an den Conversion Upload Service 2.000 Conversions pro Anfrage TOO_MANY_CONVERSIONS_IN_REQUEST
Serviceanfragen für Abrechnung und Kontobudget 1 Vorgang pro Mutationsanfrage TOO_MANY_MUTATE_OPERATIONS

Tägliche Limits für API-Vorgänge

Die täglichen API-Nutzungslimits basieren auf der Anzahl der API-Vorgänge, die von Ihrem Google Cloud-Projekt ausgeführt werden. API-Vorgänge sind die Gesamtsumme von Search- und SearchStream-Anfragen, einzelnen Mutate-Vorgängen und anderen Serviceanfragen. Die Limits für tägliche API-Vorgänge hängen von der API-Zugriffsebene Ihres Google Cloud-Projekts ab. Im Leitfaden zu Zugriffsebenen und zulässiger Nutzung finden Sie die spezifischen API-Vorgangslimits für jede Zugriffsebene.

Anfragen, die diese Grenzwerte überschreiten, werden mit dem Fehler RESOURCE_EXHAUSTED abgelehnt.

gRPC-Einschränkungen

Alle Clientbibliotheken der Google Ads API verwenden gRPC zum Generieren von Anfragen und Antworten. Standardmäßig ist die Nachrichtengröße in gRPC auf 4 MB festgelegt. In unseren Clientbibliotheken wird die maximale Nachrichtengröße jedoch auf 64 MB festgelegt, um die Effizienz zu steigern.

Antworten dürfen dieses Limit nicht überschreiten. Eine Suchanfrage mit vielen Feldern kann beispielsweise eine Antwort mit einer Größe von mehr als 64 MB generieren. Um dieses Limit zu umgehen, können Sie die Anzahl der ausgewählten Felder reduzieren oder Streaming verwenden. Senden Sie bei Mutationen weniger Vorgänge pro Anfrage.

Anfragen, die gegen diese Einschränkung verstoßen, generieren keine GoogleAdsError, sondern einen Fehler vom Typ RESOURCE_EXHAUSTED (gRPC-Code 8 / HTTP-Code 429). Liste der gRPC-Fehlercodes und ‑Meldungen

Mutationsanfragen

Eine Mutate-Anfrage wird nicht nur auf das tägliche Vorgangskontingent des Nutzers angerechnet, sondern darf auch nicht mehr als 10.000 Mutate-Vorgänge pro Anfrage enthalten. Anfragen, die gegen diese Einschränkung verstoßen, werden mit dem Fehler TOO_MANY_MUTATE_OPERATIONS abgelehnt.

Zusätzliche Einschränkungen und Überlegungen für bestimmte Dienste und Anfragetypen werden im Folgenden beschrieben.

Suchanfragen

Eine Search- oder SearchStream-Anfrage wird als ein Vorgang auf das tägliche Vorgangskontingent des Nutzers angerechnet. Eine SearchStream-Anfrage wird unabhängig von der Anzahl der Batches als ein API-Vorgang gezählt.

Paginierte Anfragen

Paginierte Anfragen (z. B. Anfragen, die ein gültiges next_page_token enthalten) werden nicht auf das tägliche Vorgangskontingent eines Nutzers angerechnet. Seitenanforderungen, die ein abgelaufenes oder ungültiges Seitentoken enthalten, lösen jedoch eine Ausnahme aus und werden auf das tägliche Vorgangskontingent angerechnet.

Weitere Informationen zur Paginierung finden Sie unter In Ergebnissen suchen.

Andere Arten von Anfragen

Eine Anfrage, die keine Mutate-, Search- oder SearchStream-Anfrage ist, wird als ein Vorgang auf das tägliche Vorgangskontingent des Nutzers angerechnet.

Hier einige Beispiele für solche Anfragen:

Anfragen, die API-Ausnahmen zurückgeben

Anfragen, die mit einem GoogleAdsFailure abgelehnt werden, werden weiterhin auf das tägliche Vorgangskontingent des Nutzers angerechnet.

Anfragen, die fehlschlagen, aber keinen GoogleAdsFailure-Fehler zurückgeben, z. B. aufgrund eines Fehlers auf Netzwerkebene, werden nicht auf das tägliche Kontingent des Nutzers angerechnet, da die Anfragen den Dienst nie erreichen. Ein Beispiel hierfür ist ein Fehler bei der Netzwerkverbindung.

Keyword-Planungsservice

Aus Kostengründen und aufgrund der Komplexität unterliegen die folgenden Methoden des Keyword Planning-Dienstes separaten Beschränkungen als andere Arten von Anfragen.

Beachten Sie diese Einschränkungen beim Erstellen eines Keyword-Plans.

Keyword-Plan-Objekt Maximale Anzahl
KeywordPlan pro Konto 10.000
KeywordPlanAdGroup pro KeywordPlan 200
KeywordPlanAdGroupKeyword pro KeywordPlan 10.000
KeywordPlanCampaignKeyword (auszuschließende Keywords) pro KeywordPlan 1.000
KeywordPlanCampaign pro KeywordPlan 1

Dienst für Zielgruppeninformationen

Die folgenden Methoden in AudienceInsightsService unterliegen bestimmten Kontingentlimits.

Conversion-Upload-Dienst

Dienst zum Hochladen von Conversion-Anpassungen

Regeln für Conversion-Wert

Wenn für das Konto bereits ein ConversionValueRuleSet mit dem attachment_type CUSTOMER vorhanden ist, müssen Sie alle neuen Conversion-Wert-Regeln dieser Gruppe hinzufügen, damit sie aktiv werden. Wenn kein solcher Satz von Regeln für Conversion-Werte vorhanden ist, müssen Sie einen erstellen und Ihre Regeln für Conversion-Werte hinzufügen, wie unter Regelsätze erstellen beschrieben.

Abrechnungs- und Kontobudgetdienste

  • Änderungen können nur für Konten vorgenommen werden, die für die monatliche Rechnungsstellung konfiguriert sind.

    Anfragen, die gegen diese Einschränkung verstoßen, werden mit dem Fehler MUTATE_NOT_ALLOWED abgelehnt.

  • Für Mutate-Anfragen ist nur ein Vorgang zulässig.

    Anfragen, die gegen diese Einschränkung verstoßen, werden mit dem Fehler TOO_MANY_MUTATE_OPERATIONS abgelehnt.

  • Zwischen Änderungen am Kontobudget (AccountBudget oder AccountBudgetProposal) für dasselbe Konto sollten mindestens 12 Stunden liegen. Wenn Sie Änderungen vornehmen, bevor 12 Stunden vergangen sind, kann dies zu nicht behebbaren Fehlern führen, die nur von Ihrem Google Ads-Kontobetreuer behoben werden können.

Einladungen für Kundenkonten

Neue Nutzer können mit der CustomerUserAccessInvitationService in bestehende Kundenkonten eingeladen werden. Da mit dieser Funktion Einladungs-E‑Mails an andere Nutzer gesendet werden, besteht die Gefahr, dass sie missbraucht wird. Daher gibt es Einschränkungen bei der Verwendung:

  • Nutzer können nicht mehr als eine ausstehende Einladung für dasselbe Kundenkonto erhalten. Wenn eine nachfolgende Anfrage zum Senden einer Einladung an einen Nutzer gestellt wird, der bereits eine ausstehende Einladung hat, wird dieser Fehler zurückgegeben: EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION.

  • In Kundenkonten können nicht mehr als 70 Einladungen gleichzeitig ausstehen. Wenn eine Anfrage gesendet wird, die dazu führt, dass dieser Wert überschritten wird, wird dieser Fehler zurückgegeben: PENDING_INVITATIONS_LIMIT_EXCEEDED.

Nutzerdaten

Nutzerdaten werden mit dem UserDataService und dem OfflineUserDataJobService verwaltet.

Jedes UserData-Objekt in einem create- oder remove-Vorgang bezieht sich auf einen einzelnen Endnutzer. Das Feld user_identifiers in einem einzelnen UserData-Objekt ist auf maximal 20 Kennungen beschränkt. Das Überschreiten dieses Limits in einem einzelnen UserData-Objekt führt zu einem Fehler vom Typ OfflineUserDataJobError.TOO_MANY_USER_IDENTIFIERS oder UserDataError.TOO_MANY_USER_IDENTIFIERS.

Nutzer mit mehr als 20 Kennungen verarbeiten

Wenn ein einzelner Endnutzer mehr als 20 Kennungen hat, die Sie hochladen müssen, sollten Sie diese Kennungen auf mehrere UserData-Objekte verteilen. Damit Google alle diese IDs demselben Endnutzer zuordnen kann, muss jedes UserData-Objekt für diesen Nutzer mindestens ein gemeinsames user_identifier enthalten, z. B. dieselbe hashed_email, hashed_phone_number oder third_party_user_id. Google verwendet diese freigegebenen Kennungen, um die Informationen aus den separaten UserData-Vorgängen mit dem richtigen Endnutzerprofil zu verknüpfen und zusammenzuführen.

Wenn Sie auf personenbezogene Daten wie gehashte E-Mail-Adressen oder Telefonnummern angewiesen sind, müssen diese normalisiert und gemäß den Google Ads API-Anforderungen (SHA-256, Kleinbuchstaben, keine Leerzeichen) gehasht werden, um Verknüpfungsfehler zu vermeiden.

Wenn ein Nutzer beispielsweise 30 E-Mail-Adressen hat, können Sie zwei UserData-Objekte mit einem gemeinsamen third_party_user_id senden. Dazu fügen Sie thirdPartyUserId sowie die E-Mail-Adressen 1 bis 19 in das erste Objekt ein, um das Limit von 20 Kennungen nicht zu überschreiten, und thirdPartyUserId sowie die E-Mail-Adressen 20 bis 30 in das zweite Objekt:

{
  "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" }
  ]
}

Das Gesamtdatenlimit für user_identifiers für alle Vorgänge in einem einzelnen AddOfflineUserDataJobOperationsRequest beträgt 100.000 (ein OfflineUserDataJob kann mehrere AddOfflineUserDataJobOperationsRequest-Aufrufe akzeptieren, bis zu einem empfohlenen Maximum von 1.000.000 Vorgängen pro Job). Bei synchronen Uploads mit UploadUserDataRequest (UserDataService.UploadUserData) ist jede Anfrage auf maximal 10 Vorgänge und 100 user_identifiers für die gesamte Anfrage begrenzt.

Andere Arten von Limits

Ein wiederholtes Feld, z. B. eine Liste von Vorgängen, das zu viele Elemente in einer Anfrage enthält, kann den Fehler REQUEST_SIZE_LIMIT_EXCEEDED verursachen. Diese Fehlermeldung kann auch andere Ursachen haben.

Wenn Sie auf diese Einschränkung stoßen und Anfragen mit einem wiederholten Feld stellen, versuchen Sie, die Anzahl der Elemente im wiederholten Feld zu reduzieren, indem Sie die Liste der Vorgänge auf mehrere Mutate-Anfragen aufteilen.

Bei einer GAQL-Abfrage beträgt die maximale Anzahl von Elementen in einer IN-Klausel 20.000. Wenn Sie dieses Limit überschreiten, wird der Fehler FILTER_HAS_TOO_MANY_VALUES zurückgegeben.