Hi Ivan, As for your last statement, I want to clarify that you want to have the > option to send a single operation for adding or removing of extensions to > multiple ad groups wherein you can specify an array of ad groups and array > of extensions in a single operation?
Yes. I want to be able to perform bulk changes synchronously like AdWords UI. While working with the Extension Setting Services, I also found some inconveniences. Please correct me if I am wrong here. For example, if I want to update an extension feed item -- it would have to be set in either Customer, Campaign or Ad Group because I can only access them in their respective ExtensionSettings. *If I want to update them and they are not set within these entities*, I would have to use Feed Services. It wouldn't be so much of a problem if I can use the concrete feed items like CalloutFeedItem <https://developers.google.com/adwords/api/docs/reference/v201702/CustomerExtensionSettingService.CalloutFeedItem> like in the rest of my application, but in Feed Services, I must first convert them to FeedItem <https://developers.google.com/adwords/api/docs/reference/v201702/FeedItemService.FeedItem>. The conversion process is particularly difficult as it requires that I retrieve the Feed <https://developers.google.com/adwords/api/docs/reference/v201702/FeedService.Feed> and FeedMapping <https://developers.google.com/adwords/api/docs/reference/v201702/FeedMappingService.FeedMapping> and use the placeholder Ids <https://developers.google.com/adwords/api/docs/appendix/placeholders>. Then, manually set each attribute. The same is true for getting the list of available extensions. In AdWords UI, the list of available extensions in the *add panel* are on the left. I have replicated the UI in my app. In order to get the list of available extensions, I can also only use Feed Services. Whereas setting/adding them into Customer, Campaign or Ad Group, I can use Extension Setting Services. So I had to convert them here as well. Optimally, I would like to be able to update and get a list of extension feed items in their concrete form. e.g. CalloutFeedItem SitelinkFeedItem and so on. Expanding on retrieving the Feed to do the above: I would need to know which feed to retrieve in the first place. There's no explicit way to know which feeds contains the callouts and so on. I found out that AdWords UI places the callouts in a feed named "Main callout feed" so I am selecting using the feed name in the get operation. As this is not documented, I imagine it can be changed at anytime without notice and thus breaking my application. Can you please feedback the above to the team as well? On Tuesday, 21 March 2017 14:49:11 UTC+8, Ivan Bautista wrote: > > Hi JC, > > Yes, validation of your extensions should be done separately from removal > of extensions. However, for adding of extensions, you might not need to > validate because the ADD and SET operator for > AdGroupExtensionSettingService.mutate() > <https://developers.google.com/adwords/api/docs/reference/v201702/AdGroupExtensionSettingService#mutate> > are > treated identically so if you try to ADD an existing extension, it will > just be treated as a SET operation. > > As for your last statement, I want to clarify that you want to have the > option to send a single operation for adding or removing of extensions to > multiple ad groups wherein you can specify an array of ad groups and array > of extensions in a single operation? I will try to raise this to the team > but I can't guarantee that it will be added to future release. > > However, you may try to achieve similar behavior by: > > 1. Getting the list of ad groups > 2. Traversing through each ad group and validate existing extensions > (validation could possibly be for REMOVE operation only) > 3. Perform multiple separate REMOVE or ADD operation of extensions to > each ad group > > The decision to do Step 3 synchronously via AdGroupExtensionSettingService > or asynchronously via BatchJobService or your own mechanism depends on your > design. In addition, here's a guide > <https://developers.google.com/adwords/api/docs/guides/extension-settings> in > managing ad extensions via Extension Setting Services. > > Regards, > Ivan > AdWords API Team > -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and Google+: https://googleadsdeveloper.blogspot.com/ https://plus.google.com/+GoogleAdsDevelopers/posts =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords 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 "AdWords API Forum" group. To unsubscribe from this group and stop receiving emails from it, send an email to adwords-api+unsubscr...@googlegroups.com. Visit this group at https://groups.google.com/group/adwords-api. To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/d4b4924f-9456-4871-823d-d3c5637dd5c0%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.