La API de Google Ads aplica límites a las operaciones de la API, como la cantidad de operaciones que se pueden enviar en una sola solicitud de mutación. En la siguiente tabla, se resumen algunos de los límites y las cuotas importantes que debes conocer.
| Tipo de solicitud, limitación y código de error | ||
|---|---|---|
| Operaciones con nivel de acceso de prueba | 15,000 operaciones de API por día en cuentas de prueba |
RESOURCE_EXHAUSTED
|
| Operaciones con nivel de acceso de explorador |
2,880 operaciones de API por día en cuentas de producción 15,000 operaciones de API por día en cuentas de prueba |
RESOURCE_EXHAUSTED
|
| Operaciones con nivel de acceso básico | 15,000 operaciones de API por día en cuentas de prueba y de producción |
RESOURCE_EXHAUSTED
|
| Operaciones con nivel de acceso estándar | Operaciones de API ilimitadas por día en cuentas de prueba y de producción cuentas | N/A |
| Solicitudes de mutación | 10,000 operaciones de mutación por solicitud |
TOO_MANY_MUTATE_OPERATIONS
|
| Solicitudes del servicio de planificación | 1 QPS |
RESOURCE_EXHAUSTED
|
| Solicitudes del servicio de carga de conversiones | 2,000 conversiones por solicitud |
TOO_MANY_CONVERSIONS_IN_REQUEST
|
| Solicitudes del servicio de facturación y presupuesto de la cuenta | 1 operación por solicitud de mutación |
TOO_MANY_MUTATE_OPERATIONS
|
Límites de operaciones de la API diarias
Los límites de uso diario de la API se basan en la cantidad de operaciones de la API
que realiza tu proyecto de Google Cloud. Las operaciones de la API son la suma total de las solicitudes Search
y SearchStream, las operaciones de mutación individuales y otras solicitudes de servicio. Los límites de las operaciones de la API diarias dependen del nivel de acceso a la API de tu proyecto de Google Cloud. En la guía Niveles de acceso y
uso permitido, se describen los límites específicos de las operaciones de la API
para cada nivel de acceso.
Las solicitudes que incumplen estos límites se rechazan con el error:
RESOURCE_EXHAUSTED.
Limitaciones de gRPC
Todas las bibliotecas cliente de la API de Google Ads usan gRPC para generar solicitudes y respuestas. De forma predeterminada, gRPC tiene un tamaño de mensaje de 4 MB, pero nuestras bibliotecas cliente establecen el tamaño máximo del mensaje en 64 MB para aumentar la eficiencia.
Las respuestas no deben exceder este límite. Por ejemplo, una solicitud de búsqueda que incluye muchos campos puede generar una respuesta que supere los 64 MB de tamaño. Para evitar este límite, puedes reducir la cantidad de campos seleccionados o usar la transmisión. En el caso de las mutaciones, envía menos operaciones por solicitud.
Las solicitudes que incumplan esta limitación no generarán un
GoogleAdsError, sino un error
RESOURCE_EXHAUSTED (código gRPC 8 / HTTP 429). Consulta la
lista de códigos y mensajes de error de gRPC.
Solicitudes de mutación
Además de contabilizarse en la cuota de operaciones diarias del usuario, una solicitud de mutación no puede contener más de 10,000 operaciones de mutación por solicitud.
Las solicitudes que incumplen esta limitación se rechazan con el error:
TOO_MANY_MUTATE_OPERATIONS.
A continuación, se describen límites y consideraciones adicionales para servicios y tipos de solicitudes específicos.
Solicitudes de búsqueda
Una solicitud Search o SearchStream se considera una operación en la cuota de operaciones diarias del usuario. Una solicitud SearchStream se considera una operación de la API, independientemente de la cantidad de lotes.
Solicitudes paginadas
Las solicitudes paginadas (por ejemplo, las solicitudes que contienen un next_page_token válido) no se contabilizan en la cuota de operaciones diarias de un usuario.
Sin embargo, las solicitudes de paginación que contienen un token de página vencido o no válido generarán una excepción y se contabilizarán en la cuota de operaciones diarias.
Para obtener más detalles sobre la paginación, consulta Desplázate por los resultados.
Otros tipos de solicitudes
Una solicitud que no sea una solicitud Mutate, Search o SearchStream
se considera una operación en la cuota de operaciones diarias del usuario.
Algunos ejemplos de este tipo de solicitudes incluyen los siguientes:
BatchJobService.ListBatchJobResultsConversionUploadService.UploadCallConversionsConversionUploadService.UploadClickConversionsOfflineUserDataJobService.AddOfflineUserDataJobOperationsOfflineUserDataJobService.CreateOfflineUserDataJobUserDataService.UploadUserData
Solicitudes que muestran excepciones de la API
Las solicitudes que se rechazan con un GoogleAdsFailure aún
se contabilizan en la cuota de operaciones diarias del usuario.
Las solicitudes que fallan, pero no muestran un GoogleAdsFailure,
como un error a nivel de la red, no se contabilizarán en la cuota de operaciones diarias del usuario, ya que las solicitudes nunca llegarían al servicio. Un ejemplo de esto es una falla de conectividad de red.
Servicio de planificación de palabras clave
Debido al costo y la complejidad, los siguientes métodos del servicio de planificación de palabras clave están sujetos a límites independientes de otros tipos de solicitudes.
Límite de 1 solicitud por segundo por CID:
KeywordPlanIdeaService.GenerateKeywordIdeasKeywordPlanIdeaService.GenerateKeywordHistoricalMetricsKeywordPlanIdeaService.GenerateKeywordForecastMetrics
Las solicitudes que incumplen estos límites se rechazan con el error:
RESOURCE_EXHAUSTED.1 QPS se calcula como 60 solicitudes por 60 segundos.
Límite de 2 solicitudes por segundo por CID:
Ten en cuenta estos límites cuando crees un plan de palabras clave.
| Objeto del plan de palabras clave | Cantidad máxima |
|---|---|
KeywordPlan por cuenta |
10,000 |
KeywordPlanAdGroup por KeywordPlan |
200 |
KeywordPlanAdGroupKeyword por KeywordPlan |
10,000 |
KeywordPlanCampaignKeyword (palabras clave negativas) por KeywordPlan |
1,000 |
KeywordPlanCampaign por KeywordPlan |
1 |
Servicio de estadísticas de público
Los siguientes métodos dentro de
AudienceInsightsService están sujetos a límites de
cuota específicos.
- Límite de aproximadamente 200 solicitudes por día por CID:
- Límite de 2 solicitudes por segundo por proyecto de Google Cloud:
Servicio de carga de conversiones
Límite de 2,000 conversiones de llamadas o clics por solicitud:
Las solicitudes que incumplen estos límites se rechazan con el error:
TOO_MANY_CONVERSIONS_IN_REQUEST.
Servicio de carga de ajustes de conversiones
Límite de 2,000 ajustes de conversiones por solicitud:
Las solicitudes que incumplen estos límites se rechazan con el error:
TOO_MANY_ADJUSTMENTS_IN_REQUEST.
Reglas de valor de conversión
Límite de 100,000 reglas de valor de conversión por cuenta.
Las solicitudes que incumplen este límite se rechazan con el error
ResourceCountLimitExceededError.ACCOUNT_LIMIT.
Si ya existe un ConversionValueRuleSet con un
attachment_type de CUSTOMER para la cuenta, debes agregarle las
nuevas reglas de valor de conversión para que se activen. Si no existe ese
conjunto de reglas de valor de conversión, debes crear uno y agregarle tus reglas de valor
de conversión como se describe en Crea conjuntos de reglas.
Servicios de facturación y presupuesto de la cuenta
Las mutaciones solo se pueden realizar en cuentas configuradas para la facturación mensual.
Las solicitudes que incumplen esta limitación se rechazan con el error:
MUTATE_NOT_ALLOWED.Solo se permite 1 operación para las solicitudes de mutación.
Las solicitudes que incumplen esta limitación se rechazan con el error:
TOO_MANY_MUTATE_OPERATIONS.Debes esperar al menos 12 horas entre los cambios en el presupuesto de la cuenta (
AccountBudgetoAccountBudgetProposal) en la misma cuenta. Si realizas cambios antes de que transcurran 12 horas, es posible que se produzcan fallas irrecuperables que solo puede resolver tu representante de la cuenta de Google Ads.
Invitaciones a cuentas de clientes
Se puede invitar a usuarios nuevos a cuentas de clientes existentes con el
CustomerUserAccessInvitationService.
Como esta función envía correos electrónicos de invitación a otros usuarios, puede usarse de forma inadecuada. Por lo tanto, existen limitaciones en su comportamiento:
Los usuarios no pueden recibir más de una invitación pendiente para la misma cuenta de cliente. Si se realiza una solicitud posterior para enviar una invitación a un usuario que ya tiene una invitación pendiente, se muestra este error:
EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION.Las cuentas de clientes no pueden tener más de 70 invitaciones pendientes a la vez. Si se envía una solicitud que hace que se exceda este valor, se muestra este error es devuelto:
PENDING_INVITATIONS_LIMIT_EXCEEDED.
Datos del usuario
Los datos del usuario se administran con el UserDataService y el
OfflineUserDataJobService.
Cada objeto UserData en una operación create o remove pertenece
a un solo usuario final. El user_identifiers campo dentro de un
solo UserData objeto está limitado a un máximo de 20 identificadores. Si se excede
este límite en un solo objeto UserData, se producirá un error
OfflineUserDataJobError.TOO_MANY_USER_IDENTIFIERS
o UserDataError.TOO_MANY_USER_IDENTIFIERS.
Cómo controlar usuarios con más de 20 identificadores
Si un solo usuario final posee más de 20 identificadores que necesitas subir, debes distribuirlos en varios objetos UserData. Para asegurarte de que Google pueda asociar todos estos identificadores con el mismo usuario final, cada objeto UserData de ese usuario debe incluir al menos un user_identifier común, como el mismo hashed_email, hashed_phone_number o third_party_user_id. Google usa estos identificadores compartidos para vincular y combinar la información de las operaciones UserData independientes con el perfil de usuario final correcto.
Si dependes de la PII, como correos electrónicos o números de teléfono con hash, asegúrate de que estén normalizados y codificados con hash según los requisitos de la API de Google Ads (SHA-256, minúsculas, sin espacios en blanco) para evitar fallas de vinculación.
Por ejemplo, si un usuario tiene 30 direcciones de correo electrónico, puedes enviar dos objetos UserData que compartan un third_party_user_id común (colocando thirdPartyUserId más los correos electrónicos del 1 al 19 en el primer objeto para permanecer dentro del límite de 20 identificadores, y thirdPartyUserId más los correos electrónicos del 20 al 30 en el segundo):
{
"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" }
]
}
El límite total para user_identifiers en todas las operaciones de un solo
AddOfflineUserDataJobOperationsRequest es de 100,000 (un
OfflineUserDataJob puede aceptar varias llamadas
AddOfflineUserDataJobOperationsRequest, hasta un máximo recomendado de
1,000,000 operaciones por trabajo). Para las cargas síncronas con
UploadUserDataRequest
(UserDataService.UploadUserData), cada solicitud está limitada
a un máximo de 10 operaciones y 100 user_identifiers en toda la
solicitud.
Otros tipos de límites
Un campo repetido, como una lista de operaciones, que tiene demasiados elementos en una
solicitud puede generar el error:
REQUEST_SIZE_LIMIT_EXCEEDED. Este mismo mensaje de error también puede deberse a otros problemas.
Si te encuentras con esta limitación y realizas solicitudes que usan un campo repetido, intenta reducir la cantidad de elementos en el campo repetido dividiendo la lista de operaciones en varias solicitudes de mutación.
Cuando se realiza una consulta GAQL, la cantidad máxima de elementos dentro de
una cláusula IN es de 20,000. Si excedes ese límite, se muestra un
FILTER_HAS_TOO_MANY_VALUES error.