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.

Reply via email to