Google AdWords MutateMembersAsync vs Google Ads UploadUserDataAsync

66 views
Skip to first unread message

Mads Grout

unread,
Apr 6, 2022, 3:07:17 AM4/6/22
to Google Ads API and AdWords API Forum
Hi
As our company migrating an integration from the AdWords Api to the Google Ads api we have encountered a problem.

Case:
We have an integration which is using the old AdWords api to create, remove and update members in userlists.
The integration runs every 5 minutes to check whether new users should be added to the userlist or some old members should be removed.

Problem:
When a userlist is added there is a possibility that the list we are adding has 1million or more users which has to be added to the userlist in Google ads.

The old Adwords api call MutateUserMembersAsync was able to handle up to 2000 userIds in 1 call. This made it fairly feasible to add alot of members at the start when creating the userlist.

The Google Ads api can only handle 100 userIds in 1 api call with the UploadUserDataAsync method.
As our system is working realtime and looking for updates every 5 minutes we cannot use the asynchronous OfflineUserDataJob.
So this is a significant slowdown in performance and is a very big problem as we have several customers actually using the integration.

Could you please elaborate on why it went from being able to handle 2000 userIds down to only 100 userIds?
And is it possible to have the limit raised above 100 userIds?? Especially when BatchJobs aren't working with userlists yet.

Best Regards
Mads Grout

Google Ads API Forum Advisor

unread,
Apr 6, 2022, 6:48:49 AM4/6/22
to mads...@gmail.com, adwor...@googlegroups.com

Hi Mads,

Thanks for reaching out to the Google Ads API Forum.

As mentioned in this guide, the UserDataService has a limit of 10 operations and 100 user IDs per request. However, allow me to raise this to my rest of team with regards to your slowdown in performance concern. We will respond back to you as soon as possible.

Regards,

Google Logo
Yasar
Google Ads API Team
 


ref:_00D1U1174p._5004Q2ZKG8A:ref

Google Ads API Forum Advisor

unread,
Apr 7, 2022, 10:50:13 AM4/7/22
to mads...@gmail.com, adwor...@googlegroups.com
Hello Mads,

This was escalated up to me because I know a lot about our systems that processes user lists.

I think there may be a bit of confusion around what is replacing AdWordsUserListService in the Google Ads API and how UserDataService fits into the story. I feel that this is good feedback, and I'll look at updating our guides to make that more clear in the future.

The replacement for AdWordsUserListService is OfflineUserDataJob. AdWordsUserListService was asynchronous, and so is OfflineUserDataJob. Both these services were optimized for large uploads that could possibly take a very long time. So, if you want behavior that is one to one, then that's the path to choose.

UserDatsService is something brand new. That service is optimized to handle small requests, and it's built to be synchronous. So, UserDataService is optimized for the use case where someone may have only 10 items to update at a time quickly. It is not meant for bulk use. Since it only handles a few at a time, we can process it synchronously. 

It appears your use case of uploading 1 million at a time is not meant for UserDataService. UserDataService was not built for that, so we cannot increase the number of items you can upload for that service at a time. It's not a regression because it's a brand new feature meant for a specific use case. If you're coming from the AdWords API and would like the same behavior, then OfflineUserDataJob is the migration path you would choose.

Best,
Google Logo
Nadine Wang
Google Ads API Team
 


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