How to retrieve disapproval reasons for an ad through the api

1,223 views
Skip to first unread message

Gaurav Agarwal

unread,
Nov 20, 2013, 6:09:34 AM11/20/13
to adwor...@googlegroups.com
Hi,

We are trying to retrieve disapproval reasons for an ad rejected which is trademark disapproved and we are not getting anything through the api, while we can see the reasons on UI.

We are seeing this behaviour for all the ads that are disapproved currently.

An example soap request-response is as follows. Kindly let us know what we are missing and how to retrieve the disapproval reasons in such cases.

Thanks and Regards,
Gaurav


SOAP LOG : <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Header><ns1:RequestHeader soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next" soapenv:mustUnderstand="0" xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201306"><ns1:clientCustomerId>1158401043</ns1:clientCustomerId></ns1:RequestHeader></soapenv:Header><soapenv:Body><get xmlns="https://adwords.google.com/api/adwords/cm/v201306"><serviceSelector><fields>AdGroupId</fields><fields>Status</fields><fields>Id</fields><fields>Url</fields><fields>DisplayUrl</fields><fields>AdGroupCreativeApprovalStatus</fields><fields>Headline</fields><fields>Description1</fields><fields>Description2</fields><fields>DevicePreference</fields><fields>DisapprovalReasons</fields><predicates><field>AdGroupId</field><operator>EQUALS</operator><values>4486137122</values></predicates><predicates><field>Id</field><operator>EQUALS</operator><values>27087061322</values></predicates></serviceSelector></get></soapenv:Body></soapenv:Envelope>

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/v201306"><requestId>0004eb954cfbde800a42f8a70000133a</requestId><serviceName>AdGroupAdService</serviceName><methodName>get</methodName><operations>0</operations><responseTime>172</responseTime></ResponseHeader></soap:Header><soap:Body><getResponse xmlns="https://adwords.google.com/api/adwords/cm/v201306"><rval><totalNumEntries>1</totalNumEntries><Page.Type>AdGroupAdPage</Page.Type><entries><adGroupId>4486137122</adGroupId><ad xsi:type="TextAd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><id>27087061322</id><url>http://m.nextag.com/goto.jsp?p={ifsearch:355840}{ifcontent:352182}&amp;search={keyword}&amp;t=ag%3D4486137122&amp;crid=50608&amp;gg_param1={param1}&amp;gg_ace={aceid}&amp;gg_mt={matchtype}&amp;gg_aid={creative}&amp;gg_param2={param2}&amp;gg_target={target}&amp;gg_net={network}&amp;gg_adpos={adposition}&amp;gg_rand={random}&amp;gg_dev={device}&amp;gg_site={placement}&amp;gg_dm={devicemodel}</url><displayUrl>www.NexTag.com/Epson-CX4800-Ink</displayUrl><devicePreference>30001</devicePreference><Ad.Type>TextAd</Ad.Type><headline>Epson CX4800 Ink Bargains</headline><description1>Find Great Deals on Epson Stylus</description1><description2>CX4800 Ink Cartridges. Many Colors!</description2></ad><status>ENABLED</status><approvalStatus>DISAPPROVED</approvalStatus><trademarkDisapproved>true</trademarkDisapproved><stats><network>SEARCH</network><Stats.Type>AdStats</Stats.Type><percentServed>0.0</percentServed></stats></entries></rval></getResponse></soap:Body></soap:Envelope>


Janak Prajapati

unread,
Nov 21, 2013, 5:07:00 AM11/21/13
to adwor...@googlegroups.com
I am using the Ad Performance API Report to get the Disapproved Ads. I see that, for some Ads, the AdGroupAdDisapprovalReasons comes as empty. However, the Adwords web Interface shows the Trademark related reason.

Josh Radcliff (AdWords API Team)

unread,
Nov 22, 2013, 3:47:09 PM11/22/13
to adwor...@googlegroups.com
Hi,

There is a separate boolean trademarkDisapproved field for trademark issues.  Are you looking for additional information beyond that?

Thanks,
Josh, AdWords API Team

Gaurav Agarwal

unread,
Nov 26, 2013, 4:44:28 AM11/26/13
to adwor...@googlegroups.com
Yes, trademarkDisapproved gives me a boolean value. But I want disapproval reasons(e.g. violation text) if trademarkDisapproved is true.

Thanks.

Danilo Bargen

unread,
Sep 19, 2014, 5:26:58 AM9/19/14
to adwor...@googlegroups.com
Quick bump here. We're experiencing the same problems. The API reports shows ads as disapproved without any reason text, while the frontend shows a trademark issue as disapproval reason.

Example query:

> SELECT AdGroupName, Id, CampaignName, AdType, CreativeApprovalStatus, AdGroupAdTrademarkDisapproved, AdGroupAdDisapprovalReasons
> FROM AD_PERFORMANCE_REPORT
> WHERE Status = "ENABLED" AND AdGroupStatus = "ENABLED" AND CreativeApprovalStatus = "DISAPPROVED"
> DURING 20140801,20140919

Ad ID,Ad type,Ad Approval Status,Disapproval reasons
48609750259,Text ad,disapproved,
48609111979,Text ad,disapproved,
48609518299,Text ad,disapproved,
48608082979,Text ad,disapproved,
48609698539,Text ad,disapproved,
48609749899,Text ad,disapproved,
48609402619,Text ad,disapproved,
48609408019,Text ad,disapproved,
216863149,Text ad,disapproved,

I tried to look for a trademarkDisapproved field in the reports, but nothing like that is available.

An interesting detail though: Some of the ads do have disapproval reasons that are related to trademark issues (just not the ones listed here). Two examples (in German unfortunately):

- 28222079179,Text ad,disapproved,[Trademarks] Trademark in Ad Content
- 25340376739,Text ad,disapproved,[Marken] Marke und Anzeigeninhalt

What could be the reason for these missing ad disapproval reasons?

Cheers
Danilo

Josh Radcliff (AdWords API Team)

unread,
Sep 19, 2014, 10:27:19 AM9/19/14
to adwor...@googlegroups.com
Hi Danilo,

Trademark disapprovals are indicated in a separate field on AdGroupAd: trademarkDisapproved. Unfortunately, the Ad Performance Report does not include that field. However, you can retrieve that value via the AdGroupAdService, although the service will not tell you which word(s) triggered the trademark disapproval. I have passed this along to the reporting team to see if we can add that information. I'll post an update once I hear back from them.

Thanks,
Josh, AdWords API Team

Josh Radcliff (AdWords API Team)

unread,
Sep 19, 2014, 10:37:01 AM9/19/14
to adwor...@googlegroups.com
Hi Danilo,

A quick follow-up -- as you pointed out, some ads with trademark disapprovals show the words that triggered the disapproval, while others do not. I passed this along to the team as well.

Cheers,
Josh, AdWords API Team

tim....@smarter-ecommerce.com

unread,
Oct 13, 2014, 4:29:19 AM10/13/14
to adwor...@googlegroups.com
Hey Josh, 

thanks for bumping this up to the reporting team. Do you have a timeline for the fix?
Cheers
tim

Josh Radcliff (AdWords API Team)

unread,
Oct 13, 2014, 11:47:49 AM10/13/14
to adwor...@googlegroups.com
Hi Tim,

I don't have a timeline at this point, but I'll be sure to post back to this thread when I have any updates.

Thanks,
Josh, AdWords API Team

Josh Radcliff (AdWords API Team)

unread,
Feb 12, 2016, 9:10:27 AM2/12/16
to AdWords API Forum
Hi Tim,

Sorry for the late notice here. The AD_PERFORMANCE_REPORT now includes an AdGroupAdTrademarkDisapproved field that will provide this information.

Thanks,
Josh, AdWords API Team

maxim....@system1.com

unread,
Jul 6, 2018, 4:05:16 PM7/6/18
to AdWords API and Google Ads API Forum
Hey there,

I am trying to run a similar report, but I noticed that the AdGroupAdTrademarkDisapproved field no longer exists. Is there any way to still retrieve this information via the reporting API?

Best,
Max

Josh Radcliff (AdWords API Team)

unread,
Jul 6, 2018, 4:20:06 PM7/6/18
to AdWords API and Google Ads API Forum
Hi Max,

You can use the PolicySummary field to retrieve all policy-related information for an ad, including trademark issues. You might find the CombinedApprovalStatus field useful as well.

Cheers,
Josh, AdWords API Team

Matthew Macchia

unread,
Aug 14, 2018, 3:44:31 PM8/14/18
to AdWords API and Google Ads API Forum
Is there a way to get the disapproved ads only for yesterday?
When I query for them it gives me the full list of ads ever. Rather than a subset of yesterdays ads.

Josh Radcliff (AdWords API Team)

unread,
Aug 15, 2018, 12:38:19 PM8/15/18
to AdWords API and Google Ads API Forum
Hi,

The service and reports don't support querying by disapproval date or ad creation/modification date. If you want to track that information, you could store the status of ads for each day locally, then compare that against today's results.

Thanks,
Josh, AdWords API Team

Pushkar Gulkari

unread,
Dec 19, 2019, 4:24:22 AM12/19/19
to AdWords API and Google Ads API Forum
Oh thank you so much. It works fine.
Reply all
Reply to author
Forward
0 new messages