Hello Vladimir,

As for the ad policy, the AdWords Community 
<https://www.en.advertisercommunity.com/t5/Ad-Approval-Policy/bd-p/Policies> 
forum may have experts on this who can answer your question more 
specifically.
Having said that, from your provided log, it seems your keyword has 
isExemptable 
<https://developers.google.com/adwords/api/docs/reference/v201509/AdGroupAdService.PolicyViolationError#isexemptable>
 
= true, meaning that you can request a policy exemption 
<https://developers.google.com/adwords/api/docs/reference/v201509/AdGroupAdService.ExemptionRequest>
.

Please have a look at this guide 
<https://developers.google.com/adwords/api/docs/guides/exemption-requests> 
for more information.

Best,
Thanet, AdWords API Team

On Thursday, December 24, 2015 at 2:23:26 AM UTC+9, Vladimir Shempliner 
wrote:
>
> 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 (|). 
> &lt;a href=&quot;
> https://support.google.com/adwordspolicy/answer/176095&quot; 
> target=&quot;_blank&quot;&gt;See the full policy&lt;/a&gt;, 
> 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 (|). 
> &lt;a href=&quot;
> https://support.google.com/adwordspolicy/answer/176095&quot; 
> target=&quot;_blank&quot;&gt;See the full policy&lt;/a&gt;, 
> 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 (|). 
> &lt;a href=&quot;
> https://support.google.com/adwordspolicy/answer/176095&quot; 
> target=&quot;_blank&quot;&gt;See the full 
> policy&lt;/a&gt;</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/4e04cff7-c7a4-44c5-85f1-863666251660%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to