Because of that, I'm under the impression that running the mutate "add" operation on multiple campaigns with the same SiteLinkFeedItems (and specifically, new ones, i.e. without ids) would attempt to re-create the sitelinks, and I would either end up with duplicate copies of the sitelinksHello, it's not an impression. I've followed this process and I've got duplicate sitelinks. I really don't know how to avoid this. Maybe if you create only the CampaignExtensionSetting for the first campaign, then get the SitelinkFeedItem id in the response and for the others campaigns, set the id ?
On Tuesday, September 15, 2015 at 5:13:55 PM UTC+2, Alexander Cavalli wrote:
Hi Nadine,Thanks for the info. I've looked at the examples and the documentation, and while they are very clear for the simple case (each campaign has a separate set of sitelinks), it isn't clear to me what to do if I want to share the same sitelinks across multiple campaigns (similar to how the Shared Library works in the Adwords UI).It sounds like you are suggesting that I run the mutate "add" action to each campaign for some set of SiteLinkFeedItems using the CampaignExtensionSetting service. As you said, the mutate "add" operation both creates the sitelinks and creates the mappings. Because of that, I'm under the impression that running the mutate "add" operation on multiple campaigns with the same SiteLinkFeedItems (and specifically, new ones, i.e. without ids) would attempt to re-create the sitelinks, and I would either end up with duplicate copies of the sitelinks, or Adwords would reject the request because the sitelinks already exist. Is this the behavior? Or does the API figure out that it has received sitelinks that already exist, and uses the existing ones rather than trying to create more (despite not being provided IDs)?I can do this with the old-style FeedItems already - the steps would be something like:
- Create the sitelinks using the FeedItem service and get the feed item ids from the response (1,2,3,4,5)
- Create a matching function for a campaign feed, something like "feed_item_id IN (1,2,3,4,5)".
- Create a CampaignFeed for each campaign id I want to map to using the matching function generated in step 2.
It sounds like, to do this with extension settings, you're suggesting something like this:
- Build an ExtensionSetting containing all the sitelinks I want to create and map.
- Build CampaignExtensionSettings using the ExtensionSetting from step 1 for each campaign id I want mapped.
- Build CampaignExtensionSettingOperat
ions using the CampaignExtensionSettings from step 2 and the ADD operator. (this is the step I'm wondering about, specifically the ADD operator) - Use the CampaignExtensionSettingServic
e to push the array of operations from step 3 using the mutate call. Intuitively to me this seems like it will fail, because the first operation in the array (built in step 3) will create the sitelinks, and the second and all future operations will try to create the sitelinks again and do something bad (either fail or make duplicates). If the API will handle this properly, please let me know. And thanks again for the help!- Alex
On Monday, September 14, 2015 at 6:51:25 PM UTC-5, Nadine Sundquist (AdWords API Team) wrote:Hi Alex,For Extension Settings Services, we don't separate the process of creating the site link from attaching it to a campaign. It's all done in one mutate call. We still have the feed services option because there are a few cases where it could be useful to use feeds.Each of our client libraries have examples on creating site links. Here's an AddSiteLinks example in Java, if you want to take a look. You'll want to add a CampaignExtensionSetting with your associated SiteLinkFeedItems for each campaign.Best,Nadine, AdWords API Team
On Monday, September 14, 2015 at 10:13:37 AM UTC-4, Alexander Cavalli wrote:Hi Umesh,Thanks for the suggestion, that was what I was originally considering doing. But it seems like that will make different sitelinks across the campaigns, unless I use sitelinks that already exist (i.e. ones that I have the Adwords IDs for) and the SET operation within mutate. I'd like to share the sitelinks across the multiple campaigns, since they will actually be the same sitelinks (and I'd rather not store a mapping between the unified sitelink on my end on the many different sitelinks on the Adwords end). It sounds like in order to do this with the ExtensionSetting services I'd have to go with the approach I originally suggested: ADD to one campaign (to get the IDs), and then SET on the remaining campaigns. If that's the case, that's fine, I was just wondering if there was some way to separate the implicit creation of the sitelinks happening on the ADD step from the campaign-sitelink mapping happening on both the ADD and SET steps.Thanks again for the help,- Alex
On Thursday, September 10, 2015 at 4:45:13 PM UTC-5, Umesh Dengale wrote:Hi Alex,Yes, you are correct. The CustomerExtensionSettingService will apply the sitelinks to all campaigns in the account. You could use the CampaignExtensionSettingService to add the sitelinks to specific campaigns. You could create the CampaignExtensionSettingOperation for an individual campaign and pass these CampaignExtensionSettingOperation objects (Campaigns you want to add the sitelinks) to an array as input to the CampaignExtensionSettingServic e.mutate operation. Thanks,Umesh, 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+unsubscribe@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+unsubscribe@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/4867fc9d-e744-4dc1-bdd9-606ac76d71d9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment