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 misma solicitud de modificación. En la siguiente tabla, se resumen algunos de los límites y cuotas importantes que se deben tener en cuenta.
Tipo de solicitud, limitación y código de error | |||
---|---|---|---|
Solicitudes paginadas | 10,000 filas por página |
INVALID_PAGE_SIZE
|
|
Operaciones con acceso básico | 15,000 operaciones de API por día |
RESOURCE_EXHAUSTED
|
|
Modificación de solicitudes | 10,000 operaciones por solicitud |
TOO_MANY_MUTATE_OPERATIONS
|
|
Solicitudes de servicios 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 de servicios de facturación y presupuesto de la cuenta | 1 operación por solicitud de mutación |
TOO_MANY_MUTATE_OPERATIONS
|
Límites diarios de operaciones de API
Los límites de uso diario de la API se basan en la cantidad de operaciones de la API realizadas por cada token de desarrollador. Las operaciones de la API son la suma total de las solicitudes get y las operaciones de mutación. Los límites para las operaciones diarias de la API dependen del nivel de acceso del token de desarrollador. En la guía de niveles de acceso y uso permitido, se describen los límites específicos de operación de la API para cada nivel de acceso.
Las solicitudes que infringen 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 de mensaje en 64 MB para aumentar la eficiencia.
Las respuestas no deben superar 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, reducir el tamaño de la página o usar el de transmisión. Para mutaciones, envía menos operaciones por solicitud.
Las solicitudes que infrinjan esta limitación no generarán un GoogleAdsError
, pero sí un error 429 Resource Exhausted
de gRPC. Consulta la lista de códigos de error y mensajes de gRPC.
Modificación de solicitudes
Además de contar para la cuota de operaciones diarias del usuario, una solicitud de modificación no puede contener más de 10,000 operaciones por solicitud.
Las solicitudes que infringen esta limitación se rechazan con el error TOO_MANY_MUTATE_OPERATIONS
.
A continuación, se describen los límites y las consideraciones adicionales para servicios y tipos de solicitudes específicos.
Solicitudes de búsqueda
Una solicitud Search
o SearchStream
cuenta como una operación de la cuota de operaciones diarias del usuario. Una solicitud SearchStream
cuenta como una operación de API, independientemente de la cantidad de lotes.
Solicitudes paginadas
Las solicitudes paginadas (por ejemplo, las que contienen un next_page_token
válido) no se descuentan de la cuota de operaciones diarias de un usuario.
Sin embargo, las solicitudes de paginación que contienen un token de página no válido o vencido generarán una excepción y se tendrán en cuenta para la cuota de operaciones diarias.
Las solicitudes paginadas, como las solicitudes de búsqueda, también están sujetas a la limitación de Page size cannot exceed 10,000 rows
y se rechazan si infringen este límite con el error INVALID_PAGE_SIZE
.
Para obtener más detalles sobre la paginación, consulta Cómo desplazarse por los resultados.
Otros tipos de solicitudes
Una solicitud que no sea de tipo Get
, Mutate
, Search
o SearchStream
cuenta como una operación que se descontará de la cuota de operación diaria del usuario.
Algunos ejemplos de esas solicitudes incluyen lo siguiente:
BatchJobService.ListMutateJobResults
ConversionUploadService.UploadCallConversions
ConversionUploadService.UploadClickConversions
OfflineUserDataJobService.AddOfflineUserDataJobOperations
OfflineUserDataJobService.CreateOfflineUserDataJob
UserDataService.UploadUserData
Solicitudes que muestran excepciones de API
Las solicitudes que se rechazan con un GoogleAdsFailure
se descuentan de la cuota de operaciones diaria del usuario.
Las solicitudes que fallan pero no muestran un GoogleAdsFailure
(por ejemplo, si se produce un error en el nivel de red) no se descuentan de 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.
Servicios de planificación
Debido al costo y la complejidad, los métodos del servicio de planificación que se enumeran a continuación están sujetos a límites independientes de otros tipos de solicitudes.
Limitado a 1 solicitud por segundo por CID o token de desarrollador:
KeywordPlanService.GetKeywordPlan
KeywordPlanService.GenerateHistoricalMetrics
KeywordPlanService.GenerateForecastMetrics
Las solicitudes que infringen estas limitaciones se rechazan con el error
RESOURCE_EXHAUSTED
.1 QPS se calcula como 60 solicitudes por 60 segundos.
Ten en cuenta estos límites cuando crees un plan de palabras clave.
Objeto de 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) |
1,000 |
KeywordPlanCampaign por KeywordPlan |
1 |
Servicio de carga de conversiones
Límite de 2,000 conversiones de llamada o clic por solicitud:
Las solicitudes que infringen estos límites se rechazan con el error
TOO_MANY_CONVERSIONS_IN_REQUEST
.
Servicio de carga de ajuste de conversiones
Límite de 2,000 ajustes de conversión por solicitud:
Las solicitudes que infringen estos límites se rechazan con el error
TOO_MANY_ADJUSTMENTS_IN_REQUEST
.
Servicios de facturación y presupuesto de la cuenta
Solo pueden realizarse modificaciones en las cuentas configuradas para la facturación mensual.
Las solicitudes que infringen esta limitación se rechazan con el error
MUTATE_NOT_ALLOWED
.Solo se permite la operación 1 para las solicitudes de modificación.
Las solicitudes que infringen esta limitación se rechazan con el error
TOO_MANY_MUTATE_OPERATIONS
.Debes esperar al menos 12 horas entre los cambios de pedido de presupuesto de la misma cuenta. Si realizas cambios antes de que transcurran 12 horas, es posible que se generen fallas irrecuperables que solo el representante de tu cuenta de Google Ads pueda resolver.
Invitaciones a cuentas de clientes
Se puede invitar a usuarios nuevos a cuentas de cliente existentes con el CustomerUserAccessService
. Debido a que esta función envía correos electrónicos de invitación a otros usuarios, tiene el potencial de usarse de forma inadecuada, por lo que su comportamiento presenta limitaciones:
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 mostrará este error:
ACCESS_INVITATION_ERROR_EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION
.Las cuentas de cliente no pueden tener más de 70 invitaciones pendientes a la vez. Si se envía una solicitud que hace que se supere este valor, se muestra este error:
ACCESS_INVITATION_ERROR_PENDING_INVITATIONS_LIMIT_EXCEEDED
.
Datos del usuario
Los datos del usuario se administran con UserDataService
y OfflineUserDataJobService
.
En una operación UserData
específica para crear o quitar, cada conjunto de user_identifiers
debe ser específico de un solo usuario.
Para aplicar esto, se muestra un error OfflineUserDataJobError.TOO_MANY_USER_IDENTIFIERS
o UserDataError.TOO_MANY_USER_IDENTIFIERS
cuando hay más de 20 user_identifiers
en un conjunto UserData
.
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 mediante la implementación de una lista de operaciones en una solicitud de mutación.
Cuando realizas una consulta de GAQL, la cantidad máxima de elementos en una cláusula IN
es de 20,000. Si superas ese límite, se mostrará un error FILTER_HAS_TOO_MANY_VALUES
.