Thanks for the clarification. Just to follow up on *Access Levels and Permissible Use * <https://developers.google.com/google-ads/api/docs/access-levels>documentation, I’m using a Basic access developer token and would like clarification on the 15,000 operations/day limit mentioned in the documentation.
In my setup, I upload Customer Match data using *AddOfflineUserDataJobOperations*, where each *OfflineUserDataJobOperation* contains one hashed email (i.e., one identifier), and I batch 10,000 operations per *AddOfflineUserDataJobOperationsRequest*. Does the 15,000 daily operations limit refer to: - The total number of *OfflineUserDataJobOperation* entries (i.e., user-level operations like hashed emails), (If so am I limited to uploading only 15000 identifiers a day with Basic token?) or - The number of API requests (e.g., calls to *AddOfflineUserDataJobOperations* and *RunOfflineUserDataJob*)? Best regards, S.Kethiri On Tuesday, June 10, 2025 at 7:04:31 PM UTC+10 Google Ads API Forum Advisor wrote: > Hi, > > Thank you for contacting the Google Ads API support team. > > 1. Yes, with the basic access hitting 2,500 > AddOfflineUserDataJobOperationsRequest calls per day likely exceeds the > quota limit. According to this *documentation* > <https://developers.google.com/google-ads/api/docs/best-practices/quotas#mutate_requests>, > > with basic access a mutate request cannot contain more than *10,000* > operations per request and you are planning to execute 500 > AddOfflineUserDataJobOperationsRequest calls, each containing 10,000 > OfflineUserDataJobOperation. > > 2. Yes, batching is highly recommended in this scenario. Note that use of > batching can reduce the number of requests sent but its use must be > evaluated to see if it's a good fit for your needs. The main reasons for > using batch processing are to minimize the number of API requests and retry > operations that fail due to transient errors. Batching 10,000 users per > request and reducing to 50 as per list per day can hardly make 250 mutate > calls per day. > > 3. To avoid *RESOURCE_EXHAUSTED* > <https://developers.google.com/google-ads/api/reference/rpc/v19/QuotaErrorEnum.QuotaError#resource_exhausted> > > error, set up short delays between requests or combine more operations in > fewer requests. I would recommend you to check this sample code for how to > *Handle > a Rate Exceeded Error* > <https://developers.google.com/google-ads/api/samples/handle-rate-exceeded-error> > > for more information and *Best practices guide* > <https://developers.google.com/google-ads/api/docs/best-practices/overview#optimization> > > to optimize the efficiency and performance. > > 4. According to *Access Levels and Permissible Use * > <https://developers.google.com/google-ads/api/docs/access-levels>documentation, > > having standard access will allow you to make unlimited API calls. I would > recommend you to avoid sending too many requests at a time, so that you can > make any number of API calls with standard level access. > Thanks, > > [image: Google Logo] Google Ads API Team > Feedback > How was our support today? > > [image: rating1] > <https://docs.google.com/forms/d/e/1FAIpQLSeRhIg5VeThVmbcD0c5DTWTDjmpJuSktN8vFelEL7_KV_Orbg/viewform?usp=pp_url&entry.141427034=1&entry.295079254=500Ht00001remZCIAY> > > [image: rating2] > <https://docs.google.com/forms/d/e/1FAIpQLSeRhIg5VeThVmbcD0c5DTWTDjmpJuSktN8vFelEL7_KV_Orbg/viewform?usp=pp_url&entry.141427034=2&entry.295079254=500Ht00001remZCIAY> > > [image: rating3] > <https://docs.google.com/forms/d/e/1FAIpQLSeRhIg5VeThVmbcD0c5DTWTDjmpJuSktN8vFelEL7_KV_Orbg/viewform?usp=pp_url&entry.141427034=3&entry.295079254=500Ht00001remZCIAY> > > [image: rating4] > <https://docs.google.com/forms/d/e/1FAIpQLSeRhIg5VeThVmbcD0c5DTWTDjmpJuSktN8vFelEL7_KV_Orbg/viewform?usp=pp_url&entry.141427034=4&entry.295079254=500Ht00001remZCIAY> > > [image: rating5] > <https://docs.google.com/forms/d/e/1FAIpQLSeRhIg5VeThVmbcD0c5DTWTDjmpJuSktN8vFelEL7_KV_Orbg/viewform?usp=pp_url&entry.141427034=5&entry.295079254=500Ht00001remZCIAY> > [2025-06-10 09:03:50Z GMT] This message is in relation to case > "ref:!00D1U01174p.!500Ht01remZC:ref" (ADR-00313411) > > > -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog: https://googleadsdeveloper.blogspot.com/ =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads API Forum" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en --- You received this message because you are subscribed to the Google Groups "Google Ads API and AdWords API Forum" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/adwords-api/d5dd0b0e-a048-4758-8b9b-37a77c5c3f40n%40googlegroups.com.
