"cannot_modify_Ad" Error Updating Final URLs for Ads

94 views
Skip to first unread message

pjod...@us.ibm.com

unread,
Oct 31, 2018, 7:16:05 PM10/31/18
to AdWords API and Google Ads API Forum
I'm trying to update Display, Video, and GSP final URLs via the API, but I'm getting a "cannot_modify_Ad" error.  I'm able to update the final URLs for Search KWs fine via the API, but can't get it to work for Ads.  Has anyone seen this before? 

I know that bulk uploading changes to an Ad final URL within the Google Ads UI isn't allowed, and I would normally think that the bulk upload functionality in the UI mimics that of what is capable with the API but I'm hoping that isn't the case.  I believe you can update final URLs for ads via the Editor and I read somewhere that the editor uses the API as well so maybe it is possible?

Any insight would be appreciated.

Thanks!
Pat

Sreelakshmi Sasidharan (AdWords API Team)

unread,
Nov 1, 2018, 3:09:01 PM11/1/18
to AdWords API and Google Ads API Forum
Hello Pat,

Starting v201806, you can use the AdService to mutate your ads without losing their performance data. Please check this guide for more details. However this is not supported for all ad types. The supported ad types can be found here. If you are trying to update the ad of these types and facing issues, could you please share the SOAP request and response without redacting the Ids? I can take a closer look. You can use reply privately to author while sharing the details.

Please note that this service is not supported in batch processing. The operations supported by BatchJobService can be found here.

Thanks,
Sreelakshmi, AdWords API Team

pjod...@us.ibm.com

unread,
Nov 5, 2018, 4:50:07 AM11/5/18
to AdWords API and Google Ads API Forum
Hi Sreelakshmi,

I would like to give you my larger processes plan and see if you have any other ideas for me.  I'm working on a tool that creates URL tags and validates their inputs.  I want to take an export from Adwords or our 3rd party search management platform and upload that into my tool to provide the inputs to the tool on how to create the URL, and then automatically pass the URL to the correct Ad via the API.  One of the inputs that I would need to create this full URL is the base URL with no tags, which I was planning on grabbing from the already created ad.  

If I cannot modify URLs for regular display/video/gmail ads after an ad has already been created, does it make sense to take in all the information needed to create the final URL, and then overwrite the entire ad, including the URL, back to Adwords?  Is that possible and do you see any issues with that solution?  I'm not sure how the creative would be exported and imported in that situation... 

Thanks! 
Pat

pjod...@us.ibm.com

unread,
Nov 5, 2018, 4:50:07 AM11/5/18
to AdWords API and Google Ads API Forum
Thanks Sreelakshmi!  To confirm, the API doesn't have the ability to edit URLs for regular image display ads, youtube, or gmail ads?  Will it ever have that capability?


On Thursday, November 1, 2018 at 3:09:01 PM UTC-4, Sreelakshmi Sasidharan (AdWords API Team) wrote:

Sreelakshmi Sasidharan (AdWords API Team)

unread,
Nov 5, 2018, 4:00:12 PM11/5/18
to AdWords API and Google Ads API Forum
Hi Pat, 

Yes, those Ad types are not supported by AdService. Hence, you may need to remove the old ad and create the new ad with the updates. This will create a new ad and you will no longer have the historical stats associated with it. You will be able to see the historical stats associated with the old ad. 

From the description, it looks like it would be ideal to use your tool before you create the Ad itself. You could start working with the proposed Final Url and let the tool come up with the correct url. You could then use the API to create the ad with the correct Url. Ads not being able to be modified for all types is a product level limitation. You can verify this in your test Google Ads account from the UI. For instance, modifying an image ad will create a new version of the ad and remove the old one. 

If you would like, you can also post this question on the advertisers community forum to see if the product experts there have any suggestions. 

pjod...@us.ibm.com

unread,
Jan 25, 2019, 2:16:25 PM1/25/19
to AdWords API and Google Ads API Forum
Hi Sreelakshmi,

A follow up question on this.  Is the Adservice able to update URLs for ads that belong to site links or does your previous response hold true for sitelinks as well?

Thanks!
Pat

googleadsapi...@google.com

unread,
Jan 25, 2019, 5:27:20 PM1/25/19
to AdWords API and Google Ads API Forum
Hi Pat, 

AdService can only mutate the Ad and not a feed item (sitelink). If you would like to update a specific extension at the campaign level, you will need to use the CampaignExtensionSettingService and perform a mutate() operation. Please check this section of the guide for more details and code snippets. You could also use the FeedItemService and update the specific feed Item. This guide illustrates how to update a feed item using the FeedItemService. 

If I misunderstood your question, could you please elaborate? 


Thanks,
Sreelakshmi, AdWords API Team

=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
    http://googleadsdeveloper.blogspot.com/search/label/adwords_api
    https://developers.google.com/adwords/api/community/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

Was your question answered? Please rate your experience with us by taking a short survey.
If not -- reply to this email and tell us what else we can do to help.

Take Survey

Also find us on our blog and discussion group:
http://googleadsdeveloper.blogspot.com/search/label/adwords_api
https://developers.google.com/adwords/api/community/

--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 adwor...@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 and Google Ads 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/d4108baa-34af-48a9-b8f5-aca6ade7e2a6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

pjod...@us.ibm.com

unread,
Jan 28, 2019, 10:55:08 AM1/28/19
to AdWords API and Google Ads API Forum
Hi Sreelakshmi,

Thanks for the response.  Does the mutate operation including removing old entries and creating new with updates?

My objective is to set the final URL for sitelinks via the API.  Do you think CampaignExtensionSettingService or FeedItemService  makes more sense for this use case?

Thanks!

googleadsapi...@google.com

unread,
Jan 28, 2019, 5:33:33 PM1/28/19
to AdWords API and Google Ads API Forum
Hi Pat,

Those are two different ways of updating the sitelinks. If you are using the extension setting services at various levels (Customer/AdGroup/Campaign) to create the extensions, I would recommend using the same to modify the final urls. The code snippet I had shared in my previous response should be useful if you decide to go with that. To prevent the new settings from overwriting the old settings, remember to send back all feed items, even if you're modifying just one item.


Thanks,
Sreelakshmi, AdWords API Team

=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
    http://googleadsdeveloper.blogspot.com/search/label/adwords_api
    https://developers.google.com/adwords/api/community/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

Was your question answered? Please rate your experience with us by taking a short survey.
If not -- reply to this email and tell us what else we can do to help.

Take Survey

Also find us on our blog and discussion group:
http://googleadsdeveloper.blogspot.com/search/label/adwords_api
https://developers.google.com/adwords/api/community/

pjod...@us.ibm.com

unread,
Jan 29, 2019, 10:21:08 AM1/29/19
to AdWords API and Google Ads API Forum
Thanks Sreelakshmi.

Is there a way to update the final URLs after the initial time of creating the site link without creating an entirely new site link?  In my situation, one team would be creating the site link and inputting the base URL, and then an internal tool would be taking that base URL, adding tagging, and then hopefully sending it back to the correct site link.

Thanks!
Pat 

googleadsapi...@google.com

unread,
Jan 29, 2019, 4:11:32 PM1/29/19
to AdWords API and Google Ads API Forum
Hi Pat,

Yes, the ADD and SET works as same for extension setting services. Based on your use-case, the steps might be similar to as follows :
  1. Add the sitelink extension using the CampaignExtensionsettingService (as an example) which will return the the details of the extension including the Feed Id and the individual Feed items in the API response. 
  2. Your program would then perform a CampaignExtensionsettingService.get() and filter with the campaign id and the extension type = SITELINK to fetch the sitelinks associated to that campaign. 
  3. You will then need to update the final urls for each sitelink feed item in the extension similar to the code snippet shared in my previous response. 
  4. Add the CampaignExtensionSetting (which includes all the sitelinks associated with the given campaign) back to the CampaignExtensionsettingService.mutate() call to perform a SET operation. 
  5. This should update your existing sitelink extensions with the new final url. Please note that the underlying feed item ids does not change when you perform this update. 
Please let me know if you have any additional questions. 

Thanks,
Sreelakshmi, AdWords API Team

=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
    http://googleadsdeveloper.blogspot.com/search/label/adwords_api
    https://developers.google.com/adwords/api/community/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

Was your question answered? Please rate your experience with us by taking a short survey.
If not -- reply to this email and tell us what else we can do to help.

Take Survey

Also find us on our blog and discussion group:
http://googleadsdeveloper.blogspot.com/search/label/adwords_api
https://developers.google.com/adwords/api/community/

pjod...@us.ibm.com

unread,
Jan 30, 2019, 11:24:03 AM1/30/19
to AdWords API and Google Ads API Forum
Thanks Sreelakshmi.  That makes sense.  Does the SET operation in step 4 act like creating a completely new sitelink that creates a new ID etc. or is it simply just acting like an update/edit function to the already created sitelink?

Thanks!
Pat

googleadsapi...@google.com

unread,
Jan 30, 2019, 4:38:06 PM1/30/19
to AdWords API and Google Ads API Forum
Hi Pat, 

It will effectively be like an update and the feed ids and feed item ids will be same as the one during the ADD operation. 

Thanks,
Sreelakshmi, AdWords API Team


=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
    http://googleadsdeveloper.blogspot.com/search/label/adwords_api
    https://developers.google.com/adwords/api/community/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

Was your question answered? Please rate your experience with us by taking a short survey.
If not -- reply to this email and tell us what else we can do to help.

Take Survey

Also find us on our blog and discussion group:
http://googleadsdeveloper.blogspot.com/search/label/adwords_api
https://developers.google.com/adwords/api/community/

Reply all
Reply to author
Forward
0 new messages