Hi, Our Customer Match considerations guidance states that the operations collection for each AddOfflineUserDataJobOperationsRequest can contain at most 100,000 identifiers across all of the UserData objects in the operations. If you need to submit more than 100,000 identifiers for a job, send multiple requests with the same job resource_name.
Also, avoid simultaneously running multiple OfflineUserDataJob processes that modify the same user list (that is, multiple jobs whose CustomerMatchUserListMetadata.user_list point to the same resource name). Doing so can result in a CONCURRENT_MODIFICATION error since multiple jobs are not permitted to operate on the same list at the same time. This error can also occur if attempting to simultaneously modify a list through the Google Ads UI and the Google Ads API. Note that this does not apply to adding operations to an existing job, which can be done at any time before the job is started. According to the above, you can send the first request to the OfflineUserDataJob with the first operation a remove_all operation and for the other 99,999 operations in the request you can send user data objects following the first operation in the same AddOfflineUserDataJobOperationsRequest object. After the first AddOfflineUserDataJobOperationsRequest object sends back a response (which proves that it uploaded to the job already so that future AddOfflineUserDataJobOperationsRequest objects sent to the same job won't hit a concurrent modification error ) you can then send another AddOfflineUserDataJobOperationsRequest filled with another 100,000 user data objects, and repeat etc.. until you uploaded to the job all the user data objects. You then can run the OfflineUserDataJob. To answer your question directly in light of the above remarks, the first and only the first AddOfflineUserDataJobOperationsRequest object sent to the OfflineUserDataJob has to have as its first operation a remove_all operation. The only asynchronous operation allowed is the running of the job itself and 2 jobs shouldn't be working on the same userlist at the same time. You need to get a response from the first AddOfflineUserDataJobOperationsRequest object before sending the second, and third etc. to the OfflineUserDataJob. After filling up one and only one OfflineUserDataJob with all the user data objects you want in the specified user list then you run the job. Feel free to get back to us. If you have a need that's not being addressed, could you state in business terms what you are trying to accomplish and what your constraints are? Regards, Aryeh Baker Google Ads API Team ref:_00D1U1174p._5004Q2W4GUZ:ref -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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 adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com 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 adwords-api+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/nGFoc000000000000000000000000000000000000000000000R6Y0VS00wlJjUM97THWSdXcldmACzw%40sfdc.net.