How to Determine Obsolete Criterion (CriterionError.CANNOT_TARGET_OBSOLETE_CRITERION)

37 views
Skip to first unread message

Mark Rogoyski

unread,
Mar 23, 2016, 3:23:02 PM3/23/16
to AdWords API Forum
When using CampaignCriterionService to add a MobileDevice CampaignCriterion to a mobile-app install Display network campaign, it seems that some valid devices cannot be targeted and return the following error:

[CriterionError.CANNOT_TARGET_OBSOLETE_CRITERION @ operations[0].operand.criterion;

For example, if I try to target the HTC Hero Android device, the following SOAP exchange happens:
REQUEST:
  <SOAP-ENV:Body>
    <ns1:mutate>
      <ns1:operations>
        <ns1:operator>ADD</ns1:operator>
        <ns1:operand>
          <ns1:campaignId>{REDACTED}</ns1:campaignId>
          <ns1:criterion xsi:type="ns1:MobileDevice">
            <ns1:id>600329</ns1:id>
            <ns1:Criterion.Type>MobileDevice</ns1:Criterion.Type>
            <ns1:deviceName>Hero</ns1:deviceName>
            <ns1:manufacturerName>HTC</ns1:manufacturerName>
            <ns1:deviceType>DEVICE_TYPE_MOBILE</ns1:deviceType>
            <ns1:operatingSystemName>Android</ns1:operatingSystemName>
          </ns1:criterion>
        </ns1:operand>
      </ns1:operations>
    </ns1:mutate>
  </SOAP-ENV:Body>

ERROR RESPONSE:
  <soap:Body>
    <soap:Fault>
      <faultcode>soap:Server</faultcode>
      <faultstring>[CriterionError.CANNOT_TARGET_OBSOLETE_CRITERION @ operations[0].operand.criterion; trigger:'600329']</faultstring>
      <detail>
        <ApiExceptionFault xmlns="https://adwords.google.com/api/adwords/cm/v201601">
          <message>[CriterionError.CANNOT_TARGET_OBSOLETE_CRITERION @ operations[0].operand.criterion; trigger:'600329']</message>
          <ApplicationException.Type>ApiException</ApplicationException.Type>
          <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CriterionError">
            <fieldPath>operations[0].operand.criterion</fieldPath>
            <trigger>600329</trigger>
            <errorString>CriterionError.CANNOT_TARGET_OBSOLETE_CRITERION</errorString>
            <ApiError.Type>CriterionError</ApiError.Type>
            <reason>CANNOT_TARGET_OBSOLETE_CRITERION</reason>
          </errors>
        </ApiExceptionFault>
      </detail>
    </soap:Fault>
  </soap:Body>

My question is, since I got this device from ConstantDataService, and it looks the same as any other valid targetable device, how do I determine which devices are OK to target and which are obsolete?

Thanks.
Mark

Thanet Knack Praneenararat (AdWords API Team)

unread,
Mar 24, 2016, 8:11:48 AM3/24/16
to AdWords API Forum
Hello Mark,

I'll check this and get back to you once I have any updates.

Best,
Thanet, AdWords API Team

Thanet Knack Praneenararat (AdWords API Team)

unread,
Apr 18, 2016, 8:00:38 AM4/18/16
to AdWords API Forum
Hello Mark,

This error should have been fixed.
Please tell me if you still see the same error message.

Best,
Thanet, AdWords API Team

On Thursday, March 24, 2016 at 4:23:02 AM UTC+9, Mark Rogoyski wrote:

Mark Rogoyski

unread,
Apr 19, 2016, 2:52:41 PM4/19/16
to AdWords API Forum
Hi Thanet,

Thanks for the update. I tried the same query and was able to set targeting for a device that previously gave the obsolete criterion error.

So is the fix to remove the concept of obsolete devices and all devices are now targetable?

Mark

Thanet Knack Praneenararat (AdWords API Team)

unread,
Apr 19, 2016, 10:03:45 PM4/19/16
to AdWords API Forum
Hello Mark,

Yes, now all devices returned by the service should now be targetable.

Best,
Thanet, AdWords API Team
Reply all
Reply to author
Forward
0 new messages