Hello! Iam trying to add several kewords to the AdGroup. Keyword "BL 4U" cannot be added due to ERROR:
Exception in thread "main" AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server faultSubcode: faultString: [PolicyViolationError{super=PolicyViolationError.POLICY_ERROR @ operations[0].operand.criterion.text; trigger:'4U', key=PolicyViolationKey{policyName=nonstandard_punctuation,violatingText=4U}, externalPolicyName=Non-standard punctuation, externalPolicyUrl=, externalPolicyDescription=Keywords aren't allowed to use excessive or unnecessary punctuation or symbols, or use non-standard punctuation, including tildes (~), asterisks (*) and vertical rules (|). <a href="https://support.google.com/adwordspolicy/answer/176095" target="_blank">See the full policy</a>, isExemtable=true, violatingParts=[Part{index=3, length=2}]}] faultActor: faultNode: faultDetail: {https://adwords.google.com/api/adwords/cm/v201509}ApiExceptionFault:<message>[PolicyViolationError{super=PolicyViolationError.POLICY_ERROR @ operations[0].operand.criterion.text; trigger:'4U', key=PolicyViolationKey{policyName=nonstandard_punctuation,violatingText=4U}, externalPolicyName=Non-standard punctuation, externalPolicyUrl=, externalPolicyDescription=Keywords aren't allowed to use excessive or unnecessary punctuation or symbols, or use non-standard punctuation, including tildes (~), asterisks (*) and vertical rules (|). <a href="https://support.google.com/adwordspolicy/answer/176095" target="_blank">See the full policy</a>, isExemtable=true, violatingParts=[Part{index=3, length=2}]}]</message><ApplicationException.Type>ApiException</ApplicationException.Type><errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="PolicyViolationError"><fieldPath>operations[0].operand.criterion.text</fieldPath><trigger>4U</trigger><errorString>PolicyViolationError.POLICY_ERROR</errorString><ApiError.Type>PolicyViolationError</ApiError.Type><key><policyName>nonstandard_punctuation</policyName><violatingText>4U</violatingText></key><externalPolicyName>Non-standard punctuation</externalPolicyName><externalPolicyUrl/><externalPolicyDescription>Keywords aren't allowed to use excessive or unnecessary punctuation or symbols, or use non-standard punctuation, including tildes (~), asterisks (*) and vertical rules (|). <a href="https://support.google.com/adwordspolicy/answer/176095" target="_blank">See the full policy</a></externalPolicyDescription><isExemptable>true</isExemptable><violatingParts><index>3</index><length>2</length></violatingParts></errors> [PolicyViolationError{super=PolicyViolationError.POLICY_ERROR @ operations[0].operand.criterion.text; trigger:'4U', key=PolicyViolationKey{policyName=nonstandard_punctuation,violatingText=4U}, externalPolicyName=Non-standard punctuation, externalPolicyUrl=, externalPolicyDescription=Keywords aren't allowed to use excessive or unnecessary punctuation or symbols, or use non-standard punctuation, including tildes (~), asterisks (*) and vertical rules (|). <a href="https://support.google.com/adwordspolicy/answer/176095" target="_blank">See the full policy</a>, isExemtable=true, violatingParts=[Part{index=3, length=2}]}] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at java.lang.Class.newInstance(Class.java:379) at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:104) at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:90) at com.google.api.ads.adwords.axis.v201509.cm.ApiException.getDeserializer(ApiException.java:142) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154) at org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84) at org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464) at org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547) at org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157) at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:379) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2786) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:648) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:332) at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696) at org.apache.axis.Message.getSOAPEnvelope(Message.java:435) at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206) at org.apache.axis.client.Call.invokeEngine(Call.java:2784) at org.apache.axis.client.Call.invoke(Call.java:2767) at org.apache.axis.client.Call.invoke(Call.java:2443) at org.apache.axis.client.Call.invoke(Call.java:2366) at org.apache.axis.client.Call.invoke(Call.java:1812) at com.google.api.ads.adwords.axis.v201509.cm.AdGroupCriterionServiceSoapBindingStub.mutate(AdGroupCriterionServiceSoapBindingStub.java:1730) at sun.reflect.GeneratedMethodAccessor192.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.google.api.ads.common.lib.soap.SoapClientHandler.invoke(SoapClientHandler.java:109) at com.google.api.ads.common.lib.soap.axis.AxisHandler.invokeSoapCall(AxisHandler.java:230) at com.google.api.ads.common.lib.soap.SoapServiceClient.callSoapClient(SoapServiceClient.java:62) at com.google.api.ads.common.lib.soap.SoapServiceClient.invoke(SoapServiceClient.java:92) at com.sun.proxy.$Proxy31.mutate(Unknown Source) at ads.adwords.AdwordsAPI.addAdGroupKeywords(AdwordsAPI.java:225) at ads.adwords.AdwordsAPI.campaign(AdwordsAPI.java:178) at ads.adwords.AdwordsAPI.main(AdwordsAPI.java:71) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140) Code: AdGroupCriterionOperation[] operations = new AdGroupCriterionOperation[keywords.length]; int i = 0; for (String keyword : keywords) { Keyword key = new Keyword(); key.setText(keyword); key.setMatchType(KeywordMatchType.BROAD); BiddableAdGroupCriterion adGroupCriterion = new BiddableAdGroupCriterion(); adGroupCriterion.setAdGroupId(adGroupId); adGroupCriterion.setCriterion(key); AdGroupCriterionOperation operation = new AdGroupCriterionOperation(); operation.setOperand(adGroupCriterion); operation.setOperator(Operator.ADD); operations[i++] = operation; } AdGroupCriterionServiceInterface adGroupCriterionService = adWordsServices.get(session, AdGroupCriterionServiceInterface.class); AdGroupCriterionReturnValue result = adGroupCriterionService.mutate(operations); How the key "4U" violates keyword rules?! Thanks. -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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/637ebe41-370a-41f4-a067-e266267d5989%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.