RunOfflineUserDataJob execution question

371 views
Skip to first unread message

Philip Amendolia

unread,
Jan 14, 2021, 10:35:32 AM1/14/21
to AdWords API and Google Ads API Forum
Hi,

Using the Google Ads API RunOfflineUserDataJob service if I send 2 separate jobs synchronously, in order on my end, will the job cantaining the RemoveAll operation be executed before the job containing the Create operations?
The end goal is to "refresh" a Customer Match List". What I am trying to do currently: 

1. First job - uses the remove_all OfflineUserDataJobOperation to wipe a Customer Match Audience list, first job with a resource name i.e. 'customers/4925422580/offlineUserDataJobs/4354690227'.

2. Second job - uses the  create OfflineUserDataJobOperation to create operations for a new list of emails and runs the 2nd job, with a separate resource name i.e.  'customers/4925422580/offlineUserDataJobs/4354690227'

Can I be confident that the first job will be executed by Google before the 2nd job? Or is there a chance that the new user list will be uploaded first, and then the job with the remove all wipes that new user list?


As both jobs can take up to 24 hours, I can't exactly wait for a SUCCEEDED status from job 1 before proceeding to job 2. Can you offer any insight on this?

Vijay Bang

unread,
Jul 15, 2022, 1:19:13 AM7/15/22
to Google Ads API and AdWords API Forum
Hi Google Team,

Can you please provide insight on this?

Google Ads API Forum Advisor

unread,
Jul 15, 2022, 4:28:07 AM7/15/22
to vijay...@onlinesales.ai, adwor...@googlegroups.com

Hi Vijay,

Thanks for reaching out to the Google Ads API Forum.



Using the Google Ads API RunOfflineUserDataJob service if I send 2 separate jobs synchronously, in order on my end, will the job cantaining the RemoveAll operation be executed before the job containing the Create operations?

>>  Note that OfflineUserDataJobs are processed asynchronously. 

For your question, “Can I be confident that the first job will be executed by Google before the 2nd job?”, no since OfflineUserDataJob are asynchronous in nature and it depends on the size of operations added. Note that for the Job with the remove_all operation, it may run for up to 72 hours. 

What I recommend to you is to wait for the first Job to finish, then you can run another Job. However, you may also create only one Job, and add first remove_all operation as the first operation in a job, then you can add the create operations for a new list of emails. Note that when a remove_all operation is included, it must be the first operation in a job. If not, then running the job will return an INVALID_OPERATION_ORDER error. This way you don’t need to wait and it will finish once it processes all your operations.

For this question, “ is there a chance that the new user list will be uploaded first, and then the job with the remove all wipes that new user list?”, note that running more than one OfflineUserDataJob at same time on same user list can result in errors. In addition, upon checking your Job with Id 4354690227, I can see that status is SUCCESS in our backend.

For more information, you may refer to this guide.

Regards,

Google Logo
Yasar
Google Ads API Team
 


ref:_00D1U1174p._5004Q2cWNt8:ref
Reply all
Reply to author
Forward
0 new messages