Customer Match API - best practices for removing and replacing customer lists once a day

185 views
Skip to first unread message

foo-bar

unread,
May 17, 2023, 9:28:32 AM5/17/23
to Google Ads API and AdWords API Forum
Hey Google Ads Team,

We're working with the Customer Match API (https://developers.google.com/google-ads/api/docs/remarketing/audience-types/customer-match), and wanted to know what best practices are for replacing an audience list, once per day.

Our audience list can contain millions of members.

We understand the considerations as outlined here (https://developers.google.com/google-ads/api/docs/remarketing/audience-types/customer-match#customer_match_considerations), however what suggestions do you have when we need to update the list the following day but the prior day is still in a "Processing" state?

Screenshot 2023-05-17 at 9.26.27 AM.png

As you can see, we submitted a job yesterday that had a remove_all operation, and create operation. In this scenario, we're using a test account and there are only 2 records that are populating the customer list.

So given that it can take up to 72 hours for the job to process, and given that there is no definite order which will finish first (per our understanding), what is the correct procedure here to ensure that each day we have the latest data for the customer list?

foo-bar

unread,
May 17, 2023, 12:19:51 PM5/17/23
to Google Ads API and AdWords API Forum
If it will be less expensive of an operation for us to do reconciliation on our side, determine who should be added and who should be removed, and create 2 separate jobs (1 to remove identifies and 1 to add new identifiers), we understand that these jobs are not guaranteed to run in any particular order once submitted to Google.

However, could there be a case where we submit 2 jobs today (1 to remove and 1 to add), which for some reason don't run until tomorrow when we would have submitted a new set of removal, addition jobs? In other words, is it possible that future jobs from the next day run before jobs submitted from the previous day, which manipulate the same audience list asset?

Google Ads API Forum Advisor

unread,
May 18, 2023, 10:37:28 AM5/18/23
to adwor...@googlegroups.com

Hi, 

Thanks for reaching out to the Google Ads API Team. I hope you are doing well today.

Moving forward to your concern, please see the Google Ads APi: Customer Match considerations, for proper guidelines when implementing Customer Match, one of this that you need to keep in mind:

“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.”

I hope the above information will help you. Let us know if you encounter any issue or error. If ever, you may provide the complete (request and response with request-id) logs with request ID generated as shown in the respective links. 

If you haven't enabled logging yet, it can be enabled by navigating to the Client libraries > Your client library (ex. Java) > Logging documentation, which you can access from this link. For REST interface requests, you can enable logging via the curl command by using the -i flag. This will cause the tool to include the HTTP response headers in the output.

Reference links:


Have a great day.

Regards,

Google Logo Google Ads API Team


ref:_00D1U1174p._5004Q2lIuhT:ref

Google Ads API Forum Advisor

unread,
May 18, 2023, 10:41:11 AM5/18/23
to adwor...@googlegroups.com

Hi,

In addition, if you encounter any error or issues, you can provide the information needed via the Reply privately to author option. If this option is not available, then send it instead on this email address googleadsa...@google.com.

Regards,

foo-bar

unread,
May 18, 2023, 10:51:45 AM5/18/23
to Google Ads API and AdWords API Forum
Hi there,

Thank you for pointing out this advisory in the documentation.

Given this information, what steps can you advise when we need to remove and add customers to a given list, during the same day.
If I understand this information correctly, we should not submit a removal OfflineUserDataJob and a creation OfflineUserDataJob at the same time. In other words, we should submit either the removal or creation OfflineUserDataJob first, wait for this to complete, and then submit the other? Do I have that flow correct so that we do not encounter the CONCURRENT_MODIFICATION error that you mentioned?

Thanks

Google Ads API Forum Advisor

unread,
May 19, 2023, 10:11:11 AM5/19/23
to adwor...@googlegroups.com

Hi,

Thanks for getting back to us.

Regarding concurrency, when uploading to the same user list, you should only have one job running at a time to avoid CONCURRENT_MODIFICATION errors (see last bullet point in this section of the guide ).

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 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.

Let us know if you have further questions.

Regards,

Reply all
Reply to author
Forward
0 new messages