Re: Creating Mobile App Engaement Ads in bulk
Hello again, I am having a problem after I upload App Engagement Image Ads and App Engagement Text Ads, From th AdWords UI I can see they are created but the preview can no longer be shown when I click View full size display ad. I attach an image to this post with the error message I am getting. This used to work a couple of days ago after I uploaded Ads with the same program. Is it possible that I am not uploading well-formed ad's and this is the reason the UI cannot generate a preview for them? Strangely enough, when I click the ad to modify it, I can click save and after I do that the UI becomes able to show the preview. Can somebody explain this to me? El viernes, 21 de agosto de 2015, 8:09:33 (UTC-3), sebastia...@despegar.com escribió: Hi Josh, OK, I see we are finally talking about the same use case. I tried using *originAdId* and now it seems to work (although when I had the error I posted before I was doing the exact same thing and got an InternalApiError.UNEXPECTED_INTERNAL_API_ERROR; maybe it was another problem from our side). When setting the *Image*, you *should* be able to simply pass an *Image* object with its mediaId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.Image#mediaId set to an existing image in order to reuse that image. Unfortunately, this doesn't work right now. I have raised this issue and we're looking into it. I'm glad that you have a new issue for this. I think it's the most intuitive way to reuse media, and also this will be consistent with the API reference. Thanks for your guidance on how to use the API properly, seb. El jueves, 20 de agosto de 2015, 15:46:55 (UTC-3), Josh Radcliff (AdWords API Team) escribió: Hi, I finally get it. :) The key points are: 1. For the Image app engagement ad (455) https://developers.google.com/adwords/api/docs/appendix/templateads#image_cto_ad and Image app install ad (432) https://developers.google.com/adwords/api/docs/appendix/templateads#image_ctd_ad, you *must* set the *Image* for the ad via the TemplateAd.adAsImage https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#adAsImage attribute, as you were doing in your code. 2. When setting the *Image*, you *should* be able to simply pass an *Image* object with its mediaId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.Image#mediaId set to an existing image in order to reuse that image. Unfortunately, this doesn't work right now. I have raised this issue and we're looking into it. 3. Although using *mediaId* doesn't work, I have good news! You *can* set originAdId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#originAdId to an existing ad that uses the same template, and AdWords will copy all of the template elements *and* the *Image* from the origin ad to your new ad. #3 means that for your use case of creating 500 ads, you can create one ad by setting the *Image.data* and using that for the *adAsImage* field. To create the other 499 ads, you can specify the first ad's ID for *originAdId*, and skip the rest. This will work even if you are creating ads in a different ad group from the first ad. Note that when creating the *TemplateAd*s using *originAdId*, you should do the following: - set *url, displayUrl, templateId, name*, and *originAdId* - do *not *set templateElements https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#templateElements, *dimensions, *or *adAsImage* I think that covers everything, but let me know if you still have questions. Thanks for bearing with me while I was trying to understand your use case. :) Cheers, Josh, AdWords API Team On Thursday, August 20, 2015 at 9:15:38 AM UTC-4, seb wrote: El jueves, 20 de agosto de 2015, 8:45:50 (UTC-3), sebastia...@despegar.com escribió: Hi Josh, I noticed in your code that you are setting the adAsImage https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#adAsImage field, and that's the only place where you use an *Image* object. However, I'm pretty sure that the *adAsImage* field is being ignored since that field is meant to provide you a preview of the ad in image form, and that preview for template ID 455 is simply based on the other fields in the ad that identify your app. Does the image you provided actually appear on the ad in the AdWords user interface? No it doesn't, but the UI doesn't show the image when I create one manually either. If I download the report for two Image app engagement ad's, one created manually via the AdWords UI and one created automatically with the program I sent you the structure is the same. These arguments seem to
Re: Creating Mobile App Engaement Ads in bulk
I started a new question with these new problems here https://groups.google.com/forum/?utm_medium=emailutm_source=footer#!topic/adwords-api/joBzQcn9_t8 . El viernes, 28 de agosto de 2015, 12:21:27 (UTC-3), sebastia...@despegar.com escribió: I also have a problem when creating App Engagement Text Ads. Apparently the Call to Action field is loaded correctly but when shown in the preview it is not refresh accordingly. I attach an image this post so you can understand the problem. In the image, where it says INSTALL it should say what the Call to Action field says, but this is not what I get. El viernes, 28 de agosto de 2015, 8:36:21 (UTC-3), sebastia...@despegar.com escribió: Hello again, I am having a problem after I upload App Engagement Image Ads and App Engagement Text Ads, From th AdWords UI I can see they are created but the preview can no longer be shown when I click View full size display ad. I attach an image to this post with the error message I am getting. This used to work a couple of days ago after I uploaded Ads with the same program. Is it possible that I am not uploading well-formed ad's and this is the reason the UI cannot generate a preview for them? Strangely enough, when I click the ad to modify it, I can click save and after I do that the UI becomes able to show the preview. Can somebody explain this to me? El viernes, 21 de agosto de 2015, 8:09:33 (UTC-3), sebastia...@despegar.com escribió: Hi Josh, OK, I see we are finally talking about the same use case. I tried using *originAdId* and now it seems to work (although when I had the error I posted before I was doing the exact same thing and got an InternalApiError.UNEXPECTED_INTERNAL_API_ERROR; maybe it was another problem from our side). When setting the *Image*, you *should* be able to simply pass an *Image* object with its mediaId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.Image#mediaId set to an existing image in order to reuse that image. Unfortunately, this doesn't work right now. I have raised this issue and we're looking into it. I'm glad that you have a new issue for this. I think it's the most intuitive way to reuse media, and also this will be consistent with the API reference. Thanks for your guidance on how to use the API properly, seb. El jueves, 20 de agosto de 2015, 15:46:55 (UTC-3), Josh Radcliff (AdWords API Team) escribió: Hi, I finally get it. :) The key points are: 1. For the Image app engagement ad (455) https://developers.google.com/adwords/api/docs/appendix/templateads#image_cto_ad and Image app install ad (432) https://developers.google.com/adwords/api/docs/appendix/templateads#image_ctd_ad, you *must* set the *Image* for the ad via the TemplateAd.adAsImage https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#adAsImage attribute, as you were doing in your code. 2. When setting the *Image*, you *should* be able to simply pass an *Image* object with its mediaId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.Image#mediaId set to an existing image in order to reuse that image. Unfortunately, this doesn't work right now. I have raised this issue and we're looking into it. 3. Although using *mediaId* doesn't work, I have good news! You *can* set originAdId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#originAdId to an existing ad that uses the same template, and AdWords will copy all of the template elements *and* the *Image* from the origin ad to your new ad. #3 means that for your use case of creating 500 ads, you can create one ad by setting the *Image.data* and using that for the *adAsImage* field. To create the other 499 ads, you can specify the first ad's ID for *originAdId*, and skip the rest. This will work even if you are creating ads in a different ad group from the first ad. Note that when creating the *TemplateAd*s using *originAdId*, you should do the following: - set *url, displayUrl, templateId, name*, and *originAdId* - do *not *set templateElements https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#templateElements, *dimensions, *or *adAsImage* I think that covers everything, but let me know if you still have questions. Thanks for bearing with me while I was trying to understand your use case. :) Cheers, Josh, AdWords API Team On Thursday, August 20, 2015 at 9:15:38 AM UTC-4, seb wrote: El jueves, 20 de agosto de 2015, 8:45:50 (UTC-3), sebastia...@despegar.com escribió: Hi Josh, I noticed in your code that you are setting the adAsImage https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#adAsImage field,
Re: Creating Mobile App Engaement Ads in bulk
I also have a problem when creating App Engagement Text Ads. Apparently the Call to Action field is loaded correctly but when shown in the preview it is not refresh accordingly. I attach an image this post so you can understand the problem. In the image, where it says INSTALL it should say what the Call to Action field says, but this is not what I get. El viernes, 28 de agosto de 2015, 8:36:21 (UTC-3), sebastia...@despegar.com escribió: Hello again, I am having a problem after I upload App Engagement Image Ads and App Engagement Text Ads, From th AdWords UI I can see they are created but the preview can no longer be shown when I click View full size display ad. I attach an image to this post with the error message I am getting. This used to work a couple of days ago after I uploaded Ads with the same program. Is it possible that I am not uploading well-formed ad's and this is the reason the UI cannot generate a preview for them? Strangely enough, when I click the ad to modify it, I can click save and after I do that the UI becomes able to show the preview. Can somebody explain this to me? El viernes, 21 de agosto de 2015, 8:09:33 (UTC-3), sebastia...@despegar.com escribió: Hi Josh, OK, I see we are finally talking about the same use case. I tried using *originAdId* and now it seems to work (although when I had the error I posted before I was doing the exact same thing and got an InternalApiError.UNEXPECTED_INTERNAL_API_ERROR; maybe it was another problem from our side). When setting the *Image*, you *should* be able to simply pass an *Image* object with its mediaId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.Image#mediaId set to an existing image in order to reuse that image. Unfortunately, this doesn't work right now. I have raised this issue and we're looking into it. I'm glad that you have a new issue for this. I think it's the most intuitive way to reuse media, and also this will be consistent with the API reference. Thanks for your guidance on how to use the API properly, seb. El jueves, 20 de agosto de 2015, 15:46:55 (UTC-3), Josh Radcliff (AdWords API Team) escribió: Hi, I finally get it. :) The key points are: 1. For the Image app engagement ad (455) https://developers.google.com/adwords/api/docs/appendix/templateads#image_cto_ad and Image app install ad (432) https://developers.google.com/adwords/api/docs/appendix/templateads#image_ctd_ad, you *must* set the *Image* for the ad via the TemplateAd.adAsImage https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#adAsImage attribute, as you were doing in your code. 2. When setting the *Image*, you *should* be able to simply pass an *Image* object with its mediaId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.Image#mediaId set to an existing image in order to reuse that image. Unfortunately, this doesn't work right now. I have raised this issue and we're looking into it. 3. Although using *mediaId* doesn't work, I have good news! You *can* set originAdId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#originAdId to an existing ad that uses the same template, and AdWords will copy all of the template elements *and* the *Image* from the origin ad to your new ad. #3 means that for your use case of creating 500 ads, you can create one ad by setting the *Image.data* and using that for the *adAsImage* field. To create the other 499 ads, you can specify the first ad's ID for *originAdId*, and skip the rest. This will work even if you are creating ads in a different ad group from the first ad. Note that when creating the *TemplateAd*s using *originAdId*, you should do the following: - set *url, displayUrl, templateId, name*, and *originAdId* - do *not *set templateElements https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#templateElements, *dimensions, *or *adAsImage* I think that covers everything, but let me know if you still have questions. Thanks for bearing with me while I was trying to understand your use case. :) Cheers, Josh, AdWords API Team On Thursday, August 20, 2015 at 9:15:38 AM UTC-4, seb wrote: El jueves, 20 de agosto de 2015, 8:45:50 (UTC-3), sebastia...@despegar.com escribió: Hi Josh, I noticed in your code that you are setting the adAsImage https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#adAsImage field, and that's the only place where you use an *Image* object. However, I'm pretty sure that the *adAsImage* field is being ignored since that field is meant to provide you a preview of the ad in image form, and that preview for template ID 455 is simply
Re: Creating Mobile App Engaement Ads in bulk
Hi Josh, OK, I see we are finally talking about the same use case. I tried using *originAdId* and now it seems to work (although when I had the error I posted before I was doing the exact same thing and got an InternalApiError.UNEXPECTED_INTERNAL_API_ERROR; maybe it was another problem from our side). When setting the *Image*, you *should* be able to simply pass an *Image* object with its mediaId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.Image#mediaId set to an existing image in order to reuse that image. Unfortunately, this doesn't work right now. I have raised this issue and we're looking into it. I'm glad that you have a new issue for this. I think it's the most intuitive way to reuse media, and also this will be consistent with the API reference. Thanks for your guidance on how to use the API properly, seb. El jueves, 20 de agosto de 2015, 15:46:55 (UTC-3), Josh Radcliff (AdWords API Team) escribió: Hi, I finally get it. :) The key points are: 1. For the Image app engagement ad (455) https://developers.google.com/adwords/api/docs/appendix/templateads#image_cto_ad and Image app install ad (432) https://developers.google.com/adwords/api/docs/appendix/templateads#image_ctd_ad, you *must* set the *Image* for the ad via the TemplateAd.adAsImage https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#adAsImage attribute, as you were doing in your code. 2. When setting the *Image*, you *should* be able to simply pass an *Image* object with its mediaId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.Image#mediaId set to an existing image in order to reuse that image. Unfortunately, this doesn't work right now. I have raised this issue and we're looking into it. 3. Although using *mediaId* doesn't work, I have good news! You *can* set originAdId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#originAdId to an existing ad that uses the same template, and AdWords will copy all of the template elements *and* the *Image* from the origin ad to your new ad. #3 means that for your use case of creating 500 ads, you can create one ad by setting the *Image.data* and using that for the *adAsImage* field. To create the other 499 ads, you can specify the first ad's ID for *originAdId*, and skip the rest. This will work even if you are creating ads in a different ad group from the first ad. Note that when creating the *TemplateAd*s using *originAdId*, you should do the following: - set *url, displayUrl, templateId, name*, and *originAdId* - do *not *set templateElements https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#templateElements, *dimensions, *or *adAsImage* I think that covers everything, but let me know if you still have questions. Thanks for bearing with me while I was trying to understand your use case. :) Cheers, Josh, AdWords API Team On Thursday, August 20, 2015 at 9:15:38 AM UTC-4, seb wrote: El jueves, 20 de agosto de 2015, 8:45:50 (UTC-3), sebastia...@despegar.com escribió: Hi Josh, I noticed in your code that you are setting the adAsImage https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#adAsImage field, and that's the only place where you use an *Image* object. However, I'm pretty sure that the *adAsImage* field is being ignored since that field is meant to provide you a preview of the ad in image form, and that preview for template ID 455 is simply based on the other fields in the ad that identify your app. Does the image you provided actually appear on the ad in the AdWords user interface? No it doesn't, but the UI doesn't show the image when I create one manually either. If I download the report for two Image app engagement ad's, one created manually via the AdWords UI and one created automatically with the program I sent you the structure is the same. These arguments seem to favor, in my view, that the adAsIamge is not being ignored. UPDATE: Yes, it does show the image in the AdWords UI. Initially when I said no was because I was using Firefox, but in Chrome it does show the image in both cases (manually created Ad, and created with the program I sent you). -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: Creating Mobile App Engaement Ads in bulk
Hi Josh, I noticed in your code that you are setting the adAsImage https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#adAsImage field, and that's the only place where you use an *Image* object. However, I'm pretty sure that the *adAsImage* field is being ignored since that field is meant to provide you a preview of the ad in image form, and that preview for template ID 455 is simply based on the other fields in the ad that identify your app. Does the image you provided actually appear on the ad in the AdWords user interface? No it doesn't, but the UI doesn't show the image when I create one manually either. If I download the report for two Image app engagement ad's, one created manually via the AdWords UI and one created automatically with the program I sent you the structure is the same. These arguments seem to favor, in my view, that the adAsIamge is not being ignored. In general, if you are creating a large # of similar ads (e.g., all for the same app), you can use the originAdId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#originAdId to specify an existing ad to copy from. Right. But I had the Error I posted two posts ago. You can upload images (but not audio or video) using MediaService.upload https://developers.google.com/adwords/api/docs/reference/v201506/MediaService#upload, then you should be able to use the resulting Media.mediaId https://developers.google.com/adwords/api/docs/reference/v201506/MediaService.Image#mediaId value when creating other TemplateAds. Note that this *will not work* for creating ImageAd https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.ImageAd s. Good. This is also what the API reference says. I tried it and it doesn't work though. I must have not explained my problem very clearly so I would like to go straight down to the point with the next question. Can you give me a proper example on how to create an Image app engagement ad for an AdGroup within a Display Network only - Mobile app engagement-Campaign? As you said, the program I sent you does not reflect the proper usage of the API for this goal. El miércoles, 19 de agosto de 2015, 14:43:33 (UTC-3), Josh Radcliff (AdWords API Team) escribió: Hi seb, Now to the other questions you sent over: - What would happen if I use this method to create 500 ads when they all use the same image? - Per the above, I don't think you actually need to specify the image for this template, but please let me know if you see otherwise. - In general, if you are creating a large # of similar ads (e.g., all for the same app), you can use the originAdId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#originAdId to specify an existing ad to copy from. You'll still have to supply some required fields in the new *TemplateAd*. Based on experimentation, it looks like the minimal set of fields is: *name, displayUrl, finalUrls* - Is there a way to upload the image only once via any other method (such as with the MediaServiceInterface) and reuse it? - You can upload images (but not audio or video) using MediaService.upload https://developers.google.com/adwords/api/docs/reference/v201506/MediaService#upload, then you should be able to use the resulting Media.mediaId https://developers.google.com/adwords/api/docs/reference/v201506/MediaService.Image#mediaId value when creating other TemplateAds. Note that this *will not work* for creating ImageAd https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.ImageAd s. - Is it possible to upload ads in a bulk via AdWords Editor? - Unfortunately, I'm not an AdWords Editor expert. You may want to post this question to the AdWords Community https://www.en.adwords-community.com/# to see if the (non-API) product experts there have any suggestions. Thanks, Josh, AdWords API Team On Tuesday, August 18, 2015 at 4:51:08 PM UTC-4, Josh Radcliff (AdWords API Team) wrote: Hi seb, Based on the logs I found, it looks like you are trying to create a *TemplateAd* with template ID 455. If so, could you elaborate on why an image is relevant here? The template fields for 455 https://developers.google.com/adwords/api/docs/appendix/templateads#image_cto_ad do not include any *IMAGE* elements. If I'm mistaken about which type of ad you're creating, could you send over your SOAP request? You can send it *only to me* clicking *Reply privately to author* on this post. Thanks, Josh, AdWords API Team On Tuesday, August 18, 2015 at 9:11:02 AM UTC-4, seb wrote: Hi Josh, My program fails right after calling
Re: Creating Mobile App Engaement Ads in bulk
Hi, I finally get it. :) The key points are: 1. For the Image app engagement ad (455) https://developers.google.com/adwords/api/docs/appendix/templateads#image_cto_ad and Image app install ad (432) https://developers.google.com/adwords/api/docs/appendix/templateads#image_ctd_ad, you *must* set the *Image* for the ad via the TemplateAd.adAsImage https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#adAsImage attribute, as you were doing in your code. 2. When setting the *Image*, you *should* be able to simply pass an *Image* object with its mediaId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.Image#mediaId set to an existing image in order to reuse that image. Unfortunately, this doesn't work right now. I have raised this issue and we're looking into it. 3. Although using *mediaId* doesn't work, I have good news! You *can* set originAdId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#originAdId to an existing ad that uses the same template, and AdWords will copy all of the template elements *and* the *Image* from the origin ad to your new ad. #3 means that for your use case of creating 500 ads, you can create one ad by setting the *Image.data* and using that for the *adAsImage* field. To create the other 499 ads, you can specify the first ad's ID for *originAdId*, and skip the rest. This will work even if you are creating ads in a different ad group from the first ad. Note that when creating the *TemplateAd*s using *originAdId*, you should do the following: - set *url, displayUrl, templateId, name*, and *originAdId* - do *not *set templateElements https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#templateElements, *dimensions, *or *adAsImage* I think that covers everything, but let me know if you still have questions. Thanks for bearing with me while I was trying to understand your use case. :) Cheers, Josh, AdWords API Team On Thursday, August 20, 2015 at 9:15:38 AM UTC-4, seb wrote: El jueves, 20 de agosto de 2015, 8:45:50 (UTC-3), sebastia...@despegar.com escribió: Hi Josh, I noticed in your code that you are setting the adAsImage https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#adAsImage field, and that's the only place where you use an *Image* object. However, I'm pretty sure that the *adAsImage* field is being ignored since that field is meant to provide you a preview of the ad in image form, and that preview for template ID 455 is simply based on the other fields in the ad that identify your app. Does the image you provided actually appear on the ad in the AdWords user interface? No it doesn't, but the UI doesn't show the image when I create one manually either. If I download the report for two Image app engagement ad's, one created manually via the AdWords UI and one created automatically with the program I sent you the structure is the same. These arguments seem to favor, in my view, that the adAsIamge is not being ignored. UPDATE: Yes, it does show the image in the AdWords UI. Initially when I said no was because I was using Firefox, but in Chrome it does show the image in both cases (manually created Ad, and created with the program I sent you). -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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 http://groups.google.com/group/adwords-api. To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/8dac6534-0e5a-4670-bb49-80b146090c62%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Creating Mobile App Engaement Ads in bulk
El jueves, 20 de agosto de 2015, 8:45:50 (UTC-3), sebastia...@despegar.com escribió: Hi Josh, I noticed in your code that you are setting the adAsImage https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#adAsImage field, and that's the only place where you use an *Image* object. However, I'm pretty sure that the *adAsImage* field is being ignored since that field is meant to provide you a preview of the ad in image form, and that preview for template ID 455 is simply based on the other fields in the ad that identify your app. Does the image you provided actually appear on the ad in the AdWords user interface? No it doesn't, but the UI doesn't show the image when I create one manually either. If I download the report for two Image app engagement ad's, one created manually via the AdWords UI and one created automatically with the program I sent you the structure is the same. These arguments seem to favor, in my view, that the adAsIamge is not being ignored. UPDATE: Yes, it does show the image in the AdWords UI. Initially when I said no was because I was using Firefox, but in Chrome it does show the image in both cases (manually created Ad, and created with the program I sent you). -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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 http://groups.google.com/group/adwords-api. To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/6440a187-4dd2-494a-99f3-5e9655976535%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Creating Mobile App Engaement Ads in bulk
Hi seb, Thanks for sending more details to me privately. I noticed in your code that you are setting the adAsImage https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#adAsImage field, and that's the only place where you use an *Image* object. However, I'm pretty sure that the *adAsImage* field is being ignored since that field is meant to provide you a preview of the ad in image form, and that preview for template ID 455 is simply based on the other fields in the ad that identify your app. Does the image you provided actually appear on the ad in the AdWords user interface? Now to the other questions you sent over: - What would happen if I use this method to create 500 ads when they all use the same image? - Per the above, I don't think you actually need to specify the image for this template, but please let me know if you see otherwise. - In general, if you are creating a large # of similar ads (e.g., all for the same app), you can use the originAdId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#originAdId to specify an existing ad to copy from. You'll still have to supply some required fields in the new *TemplateAd*. Based on experimentation, it looks like the minimal set of fields is: *name, displayUrl, finalUrls* - Is there a way to upload the image only once via any other method (such as with the MediaServiceInterface) and reuse it? - You can upload images (but not audio or video) using MediaService.upload https://developers.google.com/adwords/api/docs/reference/v201506/MediaService#upload, then you should be able to use the resulting Media.mediaId https://developers.google.com/adwords/api/docs/reference/v201506/MediaService.Image#mediaId value when creating other TemplateAds. Note that this *will not work* for creating ImageAd https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.ImageAd s. - Is it possible to upload ads in a bulk via AdWords Editor? - Unfortunately, I'm not an AdWords Editor expert. You may want to post this question to the AdWords Community https://www.en.adwords-community.com/# to see if the (non-API) product experts there have any suggestions. Thanks, Josh, AdWords API Team On Tuesday, August 18, 2015 at 4:51:08 PM UTC-4, Josh Radcliff (AdWords API Team) wrote: Hi seb, Based on the logs I found, it looks like you are trying to create a *TemplateAd* with template ID 455. If so, could you elaborate on why an image is relevant here? The template fields for 455 https://developers.google.com/adwords/api/docs/appendix/templateads#image_cto_ad do not include any *IMAGE* elements. If I'm mistaken about which type of ad you're creating, could you send over your SOAP request? You can send it *only to me* clicking *Reply privately to author* on this post. Thanks, Josh, AdWords API Team On Tuesday, August 18, 2015 at 9:11:02 AM UTC-4, seb wrote: Hi Josh, My program fails right after calling AdGroupAdServiceInterface#mutate(AdGroupAdOperation[]) and I don't get a response. I can send you the serialized Exception if you want (I could not attach it to this post). El martes, 18 de agosto de 2015, 9:56:53 (UTC-3), Josh Radcliff (AdWords API Team) escribió: Hi seb, Could you send over the *requestId* from the response in that failed request? That will help me track down the root cause of the exception. Thanks, Josh, AdWords API Team On Tuesday, August 18, 2015 at 8:52:41 AM UTC-4, seb wrote: Hi Josh, I am trying to do what you said but I get the following error: Exception in thread main AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server faultSubcode: faultString: [InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ com.google.ads.api.services.common.error.InternalApiError.lt;initgt;(InternalApiErro] faultActor: faultNode: faultDetail: { https://adwords.google.com/api/adwords/cm/v201502}ApiExceptionFault:message[InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ com.google.ads.api.services.common.error.InternalApiError.lt;initgt;(InternalApiErro]/messageApplicationException.TypeApiException/ApplicationException.Typeerrors xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:type=InternalApiErrorfieldPath/trigger/errorStringInternalApiError.UNEXPECTED_INTERNAL_API_ERROR/errorStringApiError.TypeInternalApiError/ApiError.TypereasonUNEXPECTED_INTERNAL_API_ERROR/reason/errors [InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ com.google.ads.api.services.common.error.InternalApiError.init(InternalApiErro] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at
Re: Creating Mobile App Engaement Ads in bulk
Hi Josh, My program fails right after calling AdGroupAdServiceInterface#mutate(AdGroupAdOperation[]) and I don't get a response. I can send you the serialized Exception if you want (I could not attach it to this post). El martes, 18 de agosto de 2015, 9:56:53 (UTC-3), Josh Radcliff (AdWords API Team) escribió: Hi seb, Could you send over the *requestId* from the response in that failed request? That will help me track down the root cause of the exception. Thanks, Josh, AdWords API Team On Tuesday, August 18, 2015 at 8:52:41 AM UTC-4, seb wrote: Hi Josh, I am trying to do what you said but I get the following error: Exception in thread main AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server faultSubcode: faultString: [InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ com.google.ads.api.services.common.error.InternalApiError.lt;initgt;(InternalApiErro] faultActor: faultNode: faultDetail: {https://adwords.google.com/api/adwords/cm/v201502}ApiExceptionFault:message[InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ com.google.ads.api.services.common.error.InternalApiError.lt;initgt;(InternalApiErro]/messageApplicationException.TypeApiException/ApplicationException.Typeerrors xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:type=InternalApiErrorfieldPath/trigger/errorStringInternalApiError.UNEXPECTED_INTERNAL_API_ERROR/errorStringApiError.TypeInternalApiError/ApiError.TypereasonUNEXPECTED_INTERNAL_API_ERROR/reason/errors [InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ com.google.ads.api.services.common.error.InternalApiError.init(InternalApiErro] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at java.lang.Class.newInstance(Class.java:442) at org.apache.axis.encoding.ser.BeanDeserializer.init(BeanDeserializer.java:104) at org.apache.axis.encoding.ser.BeanDeserializer.init(BeanDeserializer.java:90) at com.google.api.ads.adwords.axis.v201502.cm.ApiException.getDeserializer(ApiException.java:143) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154) at org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84) at org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464) at org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547) at org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157) at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source) at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696) at org.apache.axis.Message.getSOAPEnvelope(Message.java:435) at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206) at org.apache.axis.client.Call.invokeEngine(Call.java:2784) at org.apache.axis.client.Call.invoke(Call.java:2767) at org.apache.axis.client.Call.invoke(Call.java:2443) at org.apache.axis.client.Call.invoke(Call.java:2366) at org.apache.axis.client.Call.invoke(Call.java:1812) at com.google.api.ads.adwords.axis.v201502.cm.AdGroupAdServiceSoapBindingStub.mutate(AdGroupAdServiceSoapBindingStub.java:1389) at
Re: Creating Mobile App Engaement Ads in bulk
Hi seb, Could you send over the *requestId* from the response in that failed request? That will help me track down the root cause of the exception. Thanks, Josh, AdWords API Team On Tuesday, August 18, 2015 at 8:52:41 AM UTC-4, seb wrote: Hi Josh, I am trying to do what you said but I get the following error: Exception in thread main AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server faultSubcode: faultString: [InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ com.google.ads.api.services.common.error.InternalApiError.lt;initgt;(InternalApiErro] faultActor: faultNode: faultDetail: {https://adwords.google.com/api/adwords/cm/v201502}ApiExceptionFault:message[InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ com.google.ads.api.services.common.error.InternalApiError.lt;initgt;(InternalApiErro]/messageApplicationException.TypeApiException/ApplicationException.Typeerrors xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:type=InternalApiErrorfieldPath/trigger/errorStringInternalApiError.UNEXPECTED_INTERNAL_API_ERROR/errorStringApiError.TypeInternalApiError/ApiError.TypereasonUNEXPECTED_INTERNAL_API_ERROR/reason/errors [InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ com.google.ads.api.services.common.error.InternalApiError.init(InternalApiErro] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at java.lang.Class.newInstance(Class.java:442) at org.apache.axis.encoding.ser.BeanDeserializer.init(BeanDeserializer.java:104) at org.apache.axis.encoding.ser.BeanDeserializer.init(BeanDeserializer.java:90) at com.google.api.ads.adwords.axis.v201502.cm.ApiException.getDeserializer(ApiException.java:143) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154) at org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84) at org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464) at org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547) at org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157) at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source) at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696) at org.apache.axis.Message.getSOAPEnvelope(Message.java:435) at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206) at org.apache.axis.client.Call.invokeEngine(Call.java:2784) at org.apache.axis.client.Call.invoke(Call.java:2767) at org.apache.axis.client.Call.invoke(Call.java:2443) at org.apache.axis.client.Call.invoke(Call.java:2366) at org.apache.axis.client.Call.invoke(Call.java:1812) at com.google.api.ads.adwords.axis.v201502.cm.AdGroupAdServiceSoapBindingStub.mutate(AdGroupAdServiceSoapBindingStub.java:1389) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at
Re: Creating Mobile App Engaement Ads in bulk
Hi Josh, I am trying to do what you said but I get the following error: Exception in thread main AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server faultSubcode: faultString: [InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ com.google.ads.api.services.common.error.InternalApiError.lt;initgt;(InternalApiErro] faultActor: faultNode: faultDetail: {https://adwords.google.com/api/adwords/cm/v201502}ApiExceptionFault:message[InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ com.google.ads.api.services.common.error.InternalApiError.lt;initgt;(InternalApiErro]/messageApplicationException.TypeApiException/ApplicationException.Typeerrors xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:type=InternalApiErrorfieldPath/trigger/errorStringInternalApiError.UNEXPECTED_INTERNAL_API_ERROR/errorStringApiError.TypeInternalApiError/ApiError.TypereasonUNEXPECTED_INTERNAL_API_ERROR/reason/errors [InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ com.google.ads.api.services.common.error.InternalApiError.init(InternalApiErro] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at java.lang.Class.newInstance(Class.java:442) at org.apache.axis.encoding.ser.BeanDeserializer.init(BeanDeserializer.java:104) at org.apache.axis.encoding.ser.BeanDeserializer.init(BeanDeserializer.java:90) at com.google.api.ads.adwords.axis.v201502.cm.ApiException.getDeserializer(ApiException.java:143) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154) at org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84) at org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464) at org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547) at org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157) at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source) at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696) at org.apache.axis.Message.getSOAPEnvelope(Message.java:435) at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206) at org.apache.axis.client.Call.invokeEngine(Call.java:2784) at org.apache.axis.client.Call.invoke(Call.java:2767) at org.apache.axis.client.Call.invoke(Call.java:2443) at org.apache.axis.client.Call.invoke(Call.java:2366) at org.apache.axis.client.Call.invoke(Call.java:1812) at com.google.api.ads.adwords.axis.v201502.cm.AdGroupAdServiceSoapBindingStub.mutate(AdGroupAdServiceSoapBindingStub.java:1389) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at com.google.api.ads.common.lib.soap.SoapClientHandler.invoke(SoapClientHandler.java:110) at com.google.api.ads.common.lib.soap.axis.AxisHandler.invokeSoapCall(AxisHandler.java:221) at com.google.api.ads.common.lib.soap.SoapServiceClient.callSoapClient(SoapServiceClient.java:64) at
Re: Creating Mobile App Engaement Ads in bulk
Hi seb, Based on the logs I found, it looks like you are trying to create a *TemplateAd* with template ID 455. If so, could you elaborate on why an image is relevant here? The template fields for 455 https://developers.google.com/adwords/api/docs/appendix/templateads#image_cto_ad do not include any *IMAGE* elements. If I'm mistaken about which type of ad you're creating, could you send over your SOAP request? You can send it *only to me* clicking *Reply privately to author* on this post. Thanks, Josh, AdWords API Team On Tuesday, August 18, 2015 at 9:11:02 AM UTC-4, seb wrote: Hi Josh, My program fails right after calling AdGroupAdServiceInterface#mutate(AdGroupAdOperation[]) and I don't get a response. I can send you the serialized Exception if you want (I could not attach it to this post). El martes, 18 de agosto de 2015, 9:56:53 (UTC-3), Josh Radcliff (AdWords API Team) escribió: Hi seb, Could you send over the *requestId* from the response in that failed request? That will help me track down the root cause of the exception. Thanks, Josh, AdWords API Team On Tuesday, August 18, 2015 at 8:52:41 AM UTC-4, seb wrote: Hi Josh, I am trying to do what you said but I get the following error: Exception in thread main AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server faultSubcode: faultString: [InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ com.google.ads.api.services.common.error.InternalApiError.lt;initgt;(InternalApiErro] faultActor: faultNode: faultDetail: {https://adwords.google.com/api/adwords/cm/v201502}ApiExceptionFault:message[InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ com.google.ads.api.services.common.error.InternalApiError.lt;initgt;(InternalApiErro]/messageApplicationException.TypeApiException/ApplicationException.Typeerrors xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:type=InternalApiErrorfieldPath/trigger/errorStringInternalApiError.UNEXPECTED_INTERNAL_API_ERROR/errorStringApiError.TypeInternalApiError/ApiError.TypereasonUNEXPECTED_INTERNAL_API_ERROR/reason/errors [InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ com.google.ads.api.services.common.error.InternalApiError.init(InternalApiErro] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at java.lang.Class.newInstance(Class.java:442) at org.apache.axis.encoding.ser.BeanDeserializer.init(BeanDeserializer.java:104) at org.apache.axis.encoding.ser.BeanDeserializer.init(BeanDeserializer.java:90) at com.google.api.ads.adwords.axis.v201502.cm.ApiException.getDeserializer(ApiException.java:143) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154) at org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84) at org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464) at org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547) at org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157) at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source) at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696) at org.apache.axis.Message.getSOAPEnvelope(Message.java:435) at
Re: Creating Mobile App Engaement Ads in bulk
Hi seb, Have you tried using the TemplateAd.originAdId https://developers.google.com/adwords/api/docs/reference/v201506/AdGroupAdService.TemplateAd#originAdId field to copy the image from the first *TemplateAd*? Using that approach, you could supply the *Image.data* directly on the first ad, then copy it over to all of the subsequent ads. Thanks, Josh, 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 http://groups.google.com/group/adwords-api. To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/6f1249cc-2cc5-40a5-9f18-67cd9a821b31%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.