Hi Simon, Apologies if I was not so clear in my previous response. Campaign-level keywords (CampaignCriterionService <https://developers.google.com/adwords/api/docs/reference/v201609/CampaignCriterionService>) means NegativeCampaignCriterion <https://developers.google.com/adwords/api/docs/reference/v201609/CampaignCriterionService.NegativeCampaignCriterion>. That is, the keyword at campaign level are negative keywords. You may check the allowable negative criteria and targeting criteria at campaign level in the link provided. If you need to check if negative keywords exist in campaign level, you may refer to the below SOAP logs example:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <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 xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201609" soapenv:mustUnderstand="0"> <ns1:clientCustomerId>YOUR_CLIENT_CUSTOMER_ID</ns1:clientCustomerId> <ns1:developerToken>YOUR_DEVELOPER_TOKEN</ns1:developerToken> <ns1:userAgent>YOUR_USER_AGENT</ns1:userAgent> <ns1:validateOnly>false</ns1:validateOnly> <ns1:partialFailure>false</ns1:partialFailure> </ns1:RequestHeader> </soapenv:Header> <soapenv:Body> <get xmlns="https://adwords.google.com/api/adwords/cm/v201609"> <serviceSelector> <fields>Id</fields> <fields>CriteriaType</fields> <fields>KeywordMatchType</fields> <fields>KeywordText</fields> <predicates> <field>CampaignId</field> <operator>IN</operator> <values>YOUR_CAMPAIGN_ID</values> </predicates> <predicates> <field>CriteriaType</field> <operator>IN</operator> <values>KEYWORD</values> </predicates> <predicates> <field>KeywordText</field> <operator>EQUALS</operator> <values>YOUR_KEYWORD_TEXT</values> </predicates> <ordering> <field>KeywordText</field> <sortOrder>ASCENDING</sortOrder> </ordering> <paging> <startIndex>0</startIndex> <numberResults>100</numberResults> </paging> </serviceSelector> </get> </soapenv:Body> </soapenv:Envelope> [main] INFO com.google.api.ads.adwords.lib.client.AdWordsServiceClient.soapXmlLogger - SOAP Response: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/v201609"> <requestId>REQUEST_ID</requestId> <serviceName>CampaignCriterionService</serviceName> <methodName>get</methodName> <operations>1</operations> <responseTime>287</responseTime> </ResponseHeader> </soap:Header> <soap:Body> <getResponse xmlns="https://adwords.google.com/api/adwords/cm/v201609"> <rval> <totalNumEntries>1</totalNumEntries> <Page.Type>CampaignCriterionPage</Page.Type> <entries xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="NegativeCampaignCriterion"> <campaignId>YOUR_CAMPAIGN_ID</campaignId> <isNegative>true</isNegative> <criterion xsi:type="Keyword"> <id>ID</id> <type>KEYWORD</type> <Criterion.Type>Keyword</Criterion.Type> <text>YOUR_KEYWORD_TEXT</text> <matchType>BROAD</matchType> </criterion> <CampaignCriterion.Type>NegativeCampaignCriterion</CampaignCriterion.Type> </entries> </rval> </getResponse> </soap:Body> </soap:Envelope> Additionally, biddable and negative keywords criteria are both at adGroup level (AdGroupCriterionService <https://developers.google.com/adwords/api/docs/reference/v201609/AdGroupCriterionService>). You may refer to the sample code GetKeywords <https://developers.google.com/adwords/api/docs/samples/java/basic-operations#get-keywords> that shows how to get the keywords in an adGroupId. You may add a filter (e.g. KeywordText, as shown in the above SOAP logs). Regards, Joyce, 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/e15fab9b-aac5-40ca-9671-d151fbe6445e%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.