Remove operation for Bid Modifiers causes strange value

93 views
Skip to first unread message

Phillip

unread,
Jul 27, 2015, 7:24:24 AM7/27/15
to AdWords API Forum
Dear AdWords-API team,

sorry the old post was removed by accident.

we just noticed that applying REMOVE operations to bid adjustments does not remove the adjustments anymore but sets them to 1.100000023841858. Is there anything known about this issue on your side?

The SOAP request/response for the REMOVE operation looks like the following:

2015-07-27 12:43:18,762 6519 [main] INFO  c.g.a.a.a.l.c.A.requestInfoLogger - Request made: Service: "MutateJobServiceInterfacePort" Method: "getResult" URL: "https://adwords.google.com/api/adwords/cm/v201502/MutateJobService"
2015-07-27 12:43:18,764 6521 [main] INFO  c.g.a.a.a.l.c.A.soapXmlLogger - SOAP Request:
<?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 xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201502" soapenv:mustUnderstand="0">
            <ns1:clientCustomerId>xxxxxx</ns1:clientCustomerId>
            <ns1:developerToken>xxxxxx</ns1:developerToken>
            <ns1:userAgent>xxxxxx (AwApi-Java, AdWords-Axis/2.1.0, Common-Java/2.1.0, Axis/1.4, Java/1.8.0_31, maven)</ns1:userAgent>
            <ns1:validateOnly>false</ns1:validateOnly>
            <ns1:partialFailure>false</ns1:partialFailure>
        </ns1:RequestHeader>
    </soapenv:Header>
    <soapenv:Body>
        <getResult xmlns="https://adwords.google.com/api/adwords/cm/v201502">
            <selector xmlns:ns2="https://adwords.google.com/api/adwords/cm/v201502" xsi:type="ns2:BulkMutateJobSelector">
                <ns2:jobIds xsi:type="xsd:long">5634999575339985231</ns2:jobIds>
            </selector>
        </getResult>
    </soapenv:Body>
</soapenv:Envelope>
 
2015-07-27 12:43:18,764 6521 [main] INFO  c.g.a.a.a.l.c.A.soapXmlLogger - SOAP Response:
<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
        <ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/v201502">
            <requestId>00051bd9058cd4910ac431057f0c6ee9</requestId>
            <serviceName>MutateJobService</serviceName>
            <methodName>getResult</methodName>
            <operations>1</operations>
            <responseTime>82</responseTime>
        </ResponseHeader>
    </soap:Header>
    <soap:Body>
        <getResultResponse xmlns="https://adwords.google.com/api/adwords/cm/v201502">
            <rval>
                <SimpleMutateResult>
                    <results>
                        <AdGroupBidModifier>
                            <campaignId>xxxxxx</campaignId>
                            <adGroupId>xxxxxx</adGroupId>
                            <criterion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Platform">
                                <id>30001</id>
                                <type>PLATFORM</type>
                                <Criterion.Type>Platform</Criterion.Type>
                                <platformName>HighEndMobile</platformName>
                            </criterion>
                        </AdGroupBidModifier>
                    </results>
                </SimpleMutateResult>
            </rval>
        </getResultResponse>
    </soap:Body>
</soap:Envelope>

But querying the value that should be deleted afterwards causes this:

2015-07-27 12:49:27,665 4887 [main] INFO  c.g.a.a.a.l.c.A.requestInfoLogger - Request made: Service: "AdGroupBidModifierServiceInterfacePort" Method: "get" URL: "https://adwords.google.com/api/adwords/cm/v201502/AdGroupBidModifierService"
2015-07-27 12:49:27,688 4910 [main] INFO  c.g.a.a.a.l.c.A.soapXmlLogger - SOAP Request:
<?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 xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201502" soapenv:mustUnderstand="0">
            <ns1:clientCustomerId>xxxxxx</ns1:clientCustomerId>
            <ns1:developerToken>xxxxxx</ns1:developerToken>
            <ns1:userAgent>xxxxxx (AwApi-Java, AdWords-Axis/2.1.0, Common-Java/2.1.0, Axis/1.4, Java/1.8.0_31, maven)</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/v201502">
            <selector>
                <fields>CampaignId</fields>
                <fields>AdGroupId</fields>
                <fields>BidModifier</fields>
                <fields>CriteriaType</fields>
                <fields>Id</fields>
                <predicates>
                    <field>AdGroupId</field>
                    <operator>EQUALS</operator>
                    <values>xxxxxx</values>
                </predicates>
                <predicates>
                    <field>Id</field>
                    <operator>EQUALS</operator>
                    <values>30001</values>
                </predicates>
                <paging>
                    <startIndex>0</startIndex>
                    <numberResults>9999</numberResults>
                </paging>
            </selector>
        </get>
    </soapenv:Body>
</soapenv:Envelope>
 
2015-07-27 12:49:27,688 4910 [main] INFO  c.g.a.a.a.l.c.A.soapXmlLogger - SOAP Response:
<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
        <ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/v201502">
            <requestId>00051bd91b8845900ac46204fd0ef106</requestId>
            <serviceName>AdGroupBidModifierService</serviceName>
            <methodName>get</methodName>
            <operations>1</operations>
            <responseTime>209</responseTime>
        </ResponseHeader>
    </soap:Header>
    <soap:Body>
        <getResponse xmlns="https://adwords.google.com/api/adwords/cm/v201502">
            <rval>
                <totalNumEntries>1</totalNumEntries>
                <Page.Type>AdGroupBidModifierPage</Page.Type>
                <entries>
                    <campaignId>xxxxxx</campaignId>
                    <adGroupId>xxxxxx</adGroupId>
                    <criterion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Platform">
                        <id>30001</id>
                        <type>PLATFORM</type>
                        <Criterion.Type>Platform</Criterion.Type>
                    </criterion>
                    <bidModifier>1.100000023841858</bidModifier>
                </entries>
            </rval>
        </getResponse>
    </soap:Body>
</soap:Envelope>

Best Regards

Phillip

Phillip

unread,
Jul 27, 2015, 7:58:52 AM7/27/15
to AdWords API Forum, adwords_te...@adference.com
Here is also the SOAP request for the mutate opration:

2015-07-27 13:39:08,459 5972 [main] INFO  c.g.a.a.a.l.c.A.requestInfoLogger - Request made: Service: "MutateJobServiceInterfacePort" Method: "mutate" URL: "https://adwords.google.com/api/adwords/cm/v201502/MutateJobService"
2015-07-27 13:39:08,480 5993 [main] INFO  c.g.a.a.a.l.c.A.soapXmlLogger - SOAP Request:

<?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 xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201502" soapenv:mustUnderstand="0">
            <ns1:clientCustomerId>xxxxxx</ns1:clientCustomerId>
            <ns1:developerToken>xxxxxx</ns1:developerToken>
            <ns1:userAgent>xxxxxx (AwApi-Java, AdWords-Axis/2.1.0, Common-Java/2.1.0, Axis/1.4, Java/1.8.0_31, maven)</ns1:userAgent>
            <ns1:validateOnly>false</ns1:validateOnly>
            <ns1:partialFailure>false</ns1:partialFailure>
        </ns1:RequestHeader>
    </soapenv:Header>
    <soapenv:Body>
        <mutate xmlns="https://adwords.google.com/api/adwords/cm/v201502">
            <operations xmlns:ns2="https://adwords.google.com/api/adwords/cm/v201502" xsi:type="ns2:AdGroupBidModifierOperation">
                <ns2:operator>REMOVE</ns2:operator>
                <ns2:operand>
                    <ns2:campaignId>xxxxxx</ns2:campaignId>
                    <ns2:adGroupId>xxxxxx</ns2:adGroupId>
                    <ns2:criterion xsi:type="ns2:Platform">
                        <ns2:id>30001</ns2:id>
                    </ns2:criterion>
                </ns2:operand>
            </operations>
            <policy/>
        </mutate>
    </soapenv:Body>
</soapenv:Envelope>
 
2015-07-27 13:39:08,480 5993 [main] INFO  c.g.a.a.a.l.c.A.soapXmlLogger - SOAP Response:

<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
        <ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/v201502">
            <requestId>00051bd9cd2a9f280ac508286f05dea1</requestId>
            <serviceName>MutateJobService</serviceName>
            <methodName>mutate</methodName>
            <operations>1</operations>
            <responseTime>831</responseTime>

        </ResponseHeader>
    </soap:Header>
    <soap:Body>
        <mutateResponse xmlns="https://adwords.google.com/api/adwords/cm/v201502">
            <rval>
                <Job.Type>SimpleMutateJob</Job.Type>
                <id>-7887611257865421753</id>
                <status>COMPLETED</status>
            </rval>
        </mutateResponse>
    </soap:Body>
</soap:Envelope>
 
Job with ID -7887611257865421753 was successfully created.

Michael Cloonan (AdWords API Team)

unread,
Jul 28, 2015, 10:20:26 AM7/28/15
to AdWords API Forum, adwords_te...@adference.com, adwords_te...@adference.com
Hello,

I don't believe that REMOVE operators are supported for bid modifiers. Instead, you should SET the modifier to 1.

Regards,
Mike, AdWords API Team

Phillip

unread,
Jul 29, 2015, 6:53:38 AM7/29/15
to AdWords API Forum, adwordsapiad...@google.com
Dear Michael,

thank you for your response. I am fine with that solution but I would like to let you know that about a week ago REMOVE Operators were valid. Also the Api Doc still lists REMOVE operators for Bid Modifiers:

https://developers.google.com/adwords/api/docs/reference/v201502/AdGroupBidModifierService.AdGroupBidModifierOperation

Best Regards

Phillip
Reply all
Reply to author
Forward
0 new messages