Re: Does AddOfflineUserDataJobOperationsRequest ensure the request with removeAll operation is executed first?

2022-02-07 Thread 'Google Ads API Forum Advisor' via Google Ads API and AdWords API Forum
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/nGFoc0R6Y0VS00wlJjUM97THWSdXcldmACzw%40sfdc.net.


Re: Does AddOfflineUserDataJobOperationsRequest ensure the request with removeAll operation is executed first?

2022-02-07 Thread Matta Reddy Mannem
Hi,
Thank you for the response. This info helps but sorry I am still looking
for a response to my last query where we submitted two asynchronous jobs
one with remove_all as first operation to remove users from an audience and
immediately fire a second asynchronous job to add a list of users to that
audience. Can we expect Google to ensure the first job with remove_all
fires before executing the second job.

Thanks
Paid Media Team

On Mon, Feb 7, 2022 at 6:55 AM 'Google Ads API Forum Advisor' via Google
Ads API and AdWords API Forum  wrote:

> Hi Paid Media Team,
>
> Thanks for getting back to us.
>
> 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. If you encounter API errors, you may provide us with the complete
> *request*
> 
> and *response*
> 
> logs with the *request-id*
> 
> via the *Reply privately to author* option, so our team can better check.
> Also, to remove data from a Customer Match audience list, you may refer to
> *this*
> 
> guide.
>
> In addition, we recommend that in order to make sure that all data is
> loaded / updated for user lists uploads, you should implement logging. This
> is because generated request
> 
> and response
> 
> logs should contain information of your uploads and other details that were
> included, and also the details of either the successful request or errors
> encountered. That said, and if you haven't yet, logging can be enabled by
> navigating to the *Client libraries > Your client library (ex. Java) >
> Logging* documentation, which you can access from this link
> .
> The said logs are also a helpful source of information for troubleshooting
> conversion upload errors, or general API issues.
>
> Let us know if you have any further questions.
>
> Regards,
> [image: Google Logo]
> Yasar
> 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/jH2f30R6WUMD00bA95tTo0SwuBIjll8cRm1g%40sfdc.net
> 
> .
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/CALd-Ymo4JiNQWaMYOmGwFBawzneKYsVous72qLB_Lx68JVV5WQ%40mail.gmail.com.


Re: Does AddOfflineUserDataJobOperationsRequest ensure the request with removeAll operation is executed first?

2022-02-06 Thread Paid Media
Hi,

I have tried to explain our use case below. The reason to create separate 
async jobs is due to the limit on UserIdentifiers in a single API call.


[image: async jobs.jpg]

On Monday, February 7, 2022 at 6:56:02 AM UTC+5:30 adsapi wrote:

> Hi Paid Media Team,
>
> Thanks for getting back to us.
>
> 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. If you encounter API errors, you may provide us with the complete 
> *request* 
> 
>  
> and *response* 
> 
>  
> logs with the *request-id* 
> 
>  
> via the *Reply privately to author* option, so our team can better check. 
> Also, to remove data from a Customer Match audience list, you may refer to 
> *this* 
> 
>  
> guide.
>
> In addition, we recommend that in order to make sure that all data is 
> loaded / updated for user lists uploads, you should implement logging. This 
> is because generated request 
> 
>  
> and response 
> 
>  
> logs should contain information of your uploads and other details that were 
> included, and also the details of either the successful request or errors 
> encountered. That said, and if you haven't yet, logging can be enabled by 
> navigating to the *Client libraries > Your client library (ex. Java) > 
> Logging* documentation, which you can access from this link 
> . 
> The said logs are also a helpful source of information for troubleshooting 
> conversion upload errors, or general API issues.
>
> Let us know if you have any further questions.
>
> Regards, 
> [image: Google Logo] 
> Yasar 
> 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/3c70acc9-4252-4871-9bca-a3115e654fcan%40googlegroups.com.


Re: Does AddOfflineUserDataJobOperationsRequest ensure the request with removeAll operation is executed first?

2022-02-06 Thread 'Google Ads API Forum Advisor' via Google Ads API and AdWords API Forum
Hi Paid Media Team,

Thanks for getting back to us.

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. If you encounter API errors, you may provide us 
with the complete request and response logs with the request-id via the Reply 
privately to author option, so our team can better check. Also, to remove data 
from a Customer Match audience list, you may refer to this guide.

In addition, we recommend that in order to make sure that all data is loaded / 
updated for user lists uploads, you should implement logging. This is because 
generated request and response logs should contain information of your uploads 
and other details that were included, and also the details of either the 
successful request or errors encountered. That said, and if you haven't yet, 
logging can be enabled by navigating to the Client libraries > Your client 
library (ex. Java) > Logging documentation, which you can access from this 
link. The said logs are also a helpful source of information for 
troubleshooting conversion upload errors, or general API issues.

Let us know if you have any further questions.

Regards,

Yasar
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/jH2f30R6WUMD00bA95tTo0SwuBIjll8cRm1g%40sfdc.net.


Re: Does AddOfflineUserDataJobOperationsRequest ensure the request with removeAll operation is executed first?

2022-02-04 Thread Paid Media
Hi,
In simple our use case is to remove all users and add new set of users. As 
we can't fit all adds in one job due to limitation of 10 identifies, we 
need to split add jobs. So let us consider a simple scenario where we need 
to achieve this in two jobs.  The first asynchronous job will be submitted 
with remove_all (and if it is mandatory include adds then few adds) and 
second asynchronous job with only adds.

In this scenario, does Google ensures executing job with remove all first 
and then only second job with only adds. If it does not, then we end up 
adding few users as part of second job before first job removing all users.

Thank you in advance!

On Friday, February 4, 2022 at 8:28:59 PM UTC+5:30 adsapi wrote:

> Hi there,
>
> I am interpreting what you are asking as you have no way of designating 
> the first  AddOfflineUserDataJobOperationsRequest 
> 
>  to 
> be the one that has it's first operation set to remove_all. If that's the 
> case you will have multiple remove_all operations in the job. 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. 
> Are you asking if another remove_all in the job after the first one will 
> break the job? If so, I am testing a modified sample 
> AddCustomerMatchUserList.java 
> 
>  
> to do just that and it's still running so I don't have an answer yet.
>
> Also note that if you end up concurrently modifying any object in the API 
> 
>  
> you will get a DatabaseError.CONCURRENT_MODIFICATION_ERROR 
> .
>  
> When modifying the job itself it is necessary to make sure no other process 
> is modifying it at the same time. Feel free to clarify the question.
>
> From previous posts it appears that you have a need to delete a few 
> members, for such a case the synchronous UserDataService 
> 
>  service 
> would be a better fit.
>
> Regards,
>
> [image: Google Logo] 
> 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/cfca72ea-46a3-450c-a48c-312ca720f3f2n%40googlegroups.com.


RE: Does AddOfflineUserDataJobOperationsRequest ensure the request with removeAll operation is executed first?

2022-02-04 Thread 'Google Ads API Forum Advisor' via Google Ads API and AdWords API Forum
Hi there,

I am interpreting what you are asking as you have no way of designating the 
first AddOfflineUserDataJobOperationsRequest to be the one that has it's first 
operation set to remove_all. If that's the case you will have multiple 
remove_all operations in the job. 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. Are you asking if another 
remove_all in the job after the first one will break the job? If so, I am 
testing a modified sample AddCustomerMatchUserList.java to do just that and 
it's still running so I don't have an answer yet.

Also note that if you end up concurrently modifying any object in the API you 
will get a DatabaseError.CONCURRENT_MODIFICATION_ERROR. When modifying the job 
itself it is necessary to make sure no other process is modifying it at the 
same time. Feel free to clarify the question.

>From previous posts it appears that you have a need to delete a few members, 
>for such a case the synchronous UserDataService service would be a better fit.

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/8Y7740R6SC9E00fQ4OOx8yTKqBEwq4Agpq3A%40sfdc.net.


Does AddOfflineUserDataJobOperationsRequest ensure the request with removeAll operation is executed first?

2022-02-03 Thread Paid Media
Hi,

As per the Google Ads API documentation - 
*https://developers.google.com/google-ads/api/docs/remarketing/audience-types/customer-match
 

 
*it says

*To completely replace the members of a user list with new members, order 
the operations in AddOfflineUserDataJobOperationsRequest in this sequence :*
*1. Set remove_all to true in an OfflineUserDataJobOperation 
.*
*2. For each new member, add a create operation setting their UserData in 
an OfflineUserDataJobOperation.*

*When you run your job, the Google Ads API will first mark all current 
members of the list for removal, and then apply the create operations.*

We have a Kafka based infrastructure where multiple queue items process 
*AddOfflineUserDataJobOperationsRequest* type of requests parallelly.* i.e. 
*each queue item will contain above mentioned type of request object. When 
multiple such API requests are submitted asynchronously to Google Ads 
server, does it ensure the request  with removeAll operation is executed 
first followed by other API requests?

Thanks,
Paid Media Team

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/a6b46adb-de51-4b85-8055-30c2a28a08fen%40googlegroups.com.