Hi Vlad,

I think you have most part correct. Here's the complete flow

a. send a mutate call, to add a keyword/add. if the mutate fails:
 I) If error is exemptable:
     a. resend call, with an attached exemption request; call should always 
return a reference to the Keyword/Ad; Keyword/Ad
     b. from time to time, ask the list of Keywords/Ads, to see if 
Keyword/Ad is approved (changed approval state)

 II) If error is not exemptable:
     b. Drop the keyword, you cannot upload this keyword through AdWords 
API.

To answer the rest of the questions,

1. Yes, this is the recommended flow
2. Yes, you always get a keyword reference back.
3. These ads generally get reviewed manually, so may be a day or two. If it 
takes longer, you should call up AdWords support 
- https://support.google.com/adwords/answer/1385067?hl=en
4. Doesn't apply, since your keyword won't be uploaded by AdWords API even 
with an exemption request. Again, contact AdWords support and see if they 
could help you in such cases.

Cheers,
Anash P. Oommen,
AdWords API Advisor.

On Wednesday, March 12, 2014 1:12:13 PM UTC-4, Vlad Zloteanu wrote:
>
> Anash,
>
>
> Thank you for your help. Looking through code examples, I think I have 
> misunderstood the error handling workflow.
> I need my system to be always informed of the changes in the approval 
> status of my keywords/ads, and I want to send an exemption request each 
> time it is possible (we never push stuff that actually violates policies - 
> for example, ‘false ceiling’ is a real product, and does not refer to 
> counterfeit goods :) )
>
> Here’s my (new) understanding of the ideal workflow of adding a new 
> keyword/ad:
>
> a. send a mutate call, to add a keyword/add. if the mutate fails:
>
> I) If error is exemptable:
> b. resend call, with an attached exemption request; call should always 
> return a reference to the Keyword/Ad; Keyword/Ad
> c. from time to time, ask the list of Keywords/Ads, to see if Keyword/Ad 
> is approved (changed approval state)
>
> II) If error is not exemptable:
> b. from time to time, ask the list of Keywords/Ads, to see if the 
> Keyword/Ad appears in the list
>
>
> I have some questions:
>
> 1. Is this the recommended workflow?
>
> 2. On I)b, will always AdWords return a reference to the Keyword/Ad?
>
> 3. On II)c, how much time should I poll, to be sure to get a response to 
> my exemption request?
>
> 4. On II)b, can AdWords, later on, decide that the keyword/ad is OK, and 
> add it to keywords/ads list?
> If the answer is Yes: how much time should I poll the kws/ads list, to be 
> sure not to miss it?
>
>
> Thank you,
> Vlad Z.
>
> On Tuesday, March 11, 2014 9:49:30 PM UTC+1, Anash P. Oommen (AdWords API 
> Team) wrote:
>>
>> Hi Vlad,
>>
>> A) Are you doing the following? If yes, let me know, I'd investigate this 
>> further. (a) Send a mutate(), call fails. (b) Send another mutate, this 
>> time with exemption request. Call succeeds. (c) Do a get(), keyword from 
>> (b) is missing.
>>
>> B and C): You should send the request back immediately, with a policy 
>> exemption request. But this will work only if isExemptable is set to true 
>> in the first failed request. 
>>
>> You'd want to refer to 
>> https://github.com/googleads/googleads-php-lib/blob/master/examples/AdWords/v201402/ErrorHandling/HandlePolicyViolationError.php,
>>  
>> it shows how policy error handling can be done. MutateJobService can be 
>> used in the same manner.
>>
>> Cheers,
>> Anash
>>
>> On Monday, March 10, 2014 2:18:40 PM UTC-4, Vlad Zloteanu wrote:
>>>
>>> Hi Anash,
>>>
>>>
>>> I have no direct way to retrieve the keyword, MutateJobService does not 
>>> return any reference, only the error message. I can only poll the 
>>> keywords list and search there, unless I'm missing something.
>>>
>>>
>>> A. For my (first) problem, let me give you a common scenario:
>>> 1. Keyword 'false ceiling' is rejected
>>> 2. I send an exemption request, using the API
>>> 3. One day later, I get list of keywords, using Adwords API, and the 
>>> keyword still does not appear in the keywords list
>>>
>>> How can I know that the keyword does not appear:
>>> i. Because my exemption request was reviewed and denied, or
>>> ii. Because my exemption request was not yet reviewed
>>>
>>> This is important because I would like to know when should I stop 
>>> polling the keywords list in the API (after 1 day, after 2?), to detect if 
>>> any new one has appeared.
>>>
>>>
>>>
>>> B. Lately, I also hit another issue, that is somewhat analogue:
>>>
>>> Using MutateJobService, I’m sending an Ad that violates AdWords rules.
>>> I’m getting an error response like:
>>> {'isExemptable': 'true', 'externalPolicyDescription': 'This ad or 
>>> keyword requires review before it can run.', 'errorString': 
>>> 'PolicyViolationError.POLICY_ERROR', 'fieldPath': 
>>> 'operations[0].operand.ad.headline', 'trigger': '', 'externalPolicyName': 
>>> 'Google AdWords', 'violatingParts': [{'index': '6', 'length': '4'}], 'key': 
>>> {'policyName': 'counterfeit_designer_goods', 'violatingText': 'faux'}, 
>>> 'ApiError_Type': 'PolicyViolationError', 'externalPolicyUrl': ''} 
>>>
>>> Should I:
>>> i. immediately send an exemption response
>>> ii. wait some time to see if ad is accepted
>>>      ii.a. can you confirm that the only way of knowing that the ad is 
>>> accepted / rejected is to poll the ads list, in Adwords API, and see if the 
>>> ad appeared there?
>>>      ii. b. if this is the case, when (after what period of time) should 
>>> I stop polling, and consider that the ad is rejected?
>>>
>>>
>>>
>>> C. Analogue with (B), for a keyword:
>>>
>>> Using MutateJobService, I’m sending a keyword that violates AdWords 
>>> rules.
>>> I’m getting an error response like:
>>> {'isExemptable': 'false', 'externalPolicyDescription': 'This ad or 
>>> keyword requires review before it can run.', 'errorString': 
>>> 'CriterionPolicyError.POLICY_ERROR’, 'fieldPath': 
>>> 'operations[3].operand.criterion.text', 'trigger': 'faux', 
>>> 'externalPolicyName': 'Google AdWords', 'violatingParts': [{'index': '6', 
>>> 'length': '4'}], 'key': {'policyName': 'counterfeit_designer_goods', 
>>> 'violatingText': 'faux'}, 'ApiError_Type': 'CriterionPolicyError', 
>>> 'externalPolicyUrl': ''}
>>>
>>> i. can you confirm that the only way of knowing that the keyword is 
>>> accepted / rejected is to poll the keywords list, in Adwords API, and see 
>>> if it appeared there?
>>> ii if this is the case, when (after what period of time) should I stop 
>>> polling, and consider that the keyword is definitely rejected?
>>>
>>>  
>>> Could you please assist with those 3 cases?
>>>
>>>
>>> Thanks!
>>>
>>> Vlad Z.
>>>
>>> On Monday, March 10, 2014 4:19:00 PM UTC+1, Anash P. Oommen (AdWords API 
>>> Team) wrote:
>>>>
>>>> Hi Vlad,
>>>>
>>>> You will be able to retrieve the keyword to see if it was approved or 
>>>> not. Is that what you are looking for?
>>>>
>>>> Cheers,
>>>> Anash
>>>>
>>>> On Wednesday, March 5, 2014 5:04:14 AM UTC-5, Vlad Zloteanu wrote:
>>>>>
>>>>> Hello,
>>>>>
>>>>> Thank you all for your responses.
>>>>>
>>>>> After sending an exemption request, is there a mean to know if the 
>>>>> exemption request was approved or not?
>>>>>
>>>>> Use case: a keyword is disallowed by google, we send an exemption 
>>>>> request, using the API. The keyword is still banned. 
>>>>> How can we know if the keyword is still banned, after an exemption 
>>>>> request, because:
>>>>> - the exemption request was not yet reviewed by Google
>>>>> - the exemption request was reviewed and refused
>>>>>
>>>>> Best,
>>>>> Vlad
>>>>>
>>>>> On Thursday, February 20, 2014 3:53:36 PM UTC+1, Jeremy Aube wrote:
>>>>>>
>>>>>> Typically the workflow is that if there is an immediate policy 
>>>>>> violation, you will get an error for that ad with the policy violation, 
>>>>>> at 
>>>>>> which point you can submit an exemption request. Most libraries should 
>>>>>> have 
>>>>>> some sort of example code to show you how to do this.
>>>>>>
>>>>>> For an ad marked "pending review", that generally means a manual 
>>>>>> review needs to be done on Google's end, so an exemption request won't 
>>>>>> do 
>>>>>> you any good there, either before or after the review.
>>>>>>
>>>>>> On Wednesday, February 19, 2014 10:22:34 AM UTC-5, Vlad Zloteanu 
>>>>>> wrote:
>>>>>>>
>>>>>>> Hello Anash,
>>>>>>>
>>>>>>>
>>>>>>> Thank you for your answer, it is very helpful.
>>>>>>>
>>>>>>> I would like to confirm with you: what is the exact use case of an 
>>>>>>> exemption request? (through API)
>>>>>>>
>>>>>>> Should we send an exemption request immediately after an ad is 
>>>>>>> marked as 'pending review'? 
>>>>>>> Or should we wait the decision, then send an exemption request, if 
>>>>>>> the decision is negative?
>>>>>>>
>>>>>>>
>>>>>>> Best,
>>>>>>> Vlad
>>>>>>>
>>>>>>> On Wednesday, February 19, 2014 3:49:47 PM UTC+1, Anash P. Oommen 
>>>>>>> (AdWords API Team) wrote:
>>>>>>>>
>>>>>>>> Hi Vlad,
>>>>>>>>
>>>>>>>> 1. No, all ads submitted through any service (MutateJobService, 
>>>>>>>> AdGroupAdService) undergoes review. A good share of the ads are 
>>>>>>>> reviewed 
>>>>>>>> automatically, some requires a manual review and can take time.
>>>>>>>> 2. The exemption applies to one ad at a time (i.e. if you have two 
>>>>>>>> ads that violate a policy, then both needs their own exemption 
>>>>>>>> requests).
>>>>>>>> 3. If you have an account manager at Google, you could reach out to 
>>>>>>>> that person and see if there's a provision for such a pre-approval. 
>>>>>>>> There 
>>>>>>>> isn't any from the AdWords API side.
>>>>>>>> 4. validateOnly is restricted to verifying editorial policy 
>>>>>>>> violations. It cannot catch more complex ones like trademark 
>>>>>>>> violation, for 
>>>>>>>> instance.
>>>>>>>>
>>>>>>>> Hope this helps. Let me know if you have more questions.
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Anash P. Oommen,
>>>>>>>> AdWords Scripts Team
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tuesday, February 18, 2014 6:16:54 PM UTC-5, Vlad Zloteanu wrote:
>>>>>>>>>
>>>>>>>>> Hello,
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> As we control the accounts of multiple publishers, from multiple 
>>>>>>>>> industries, we need a way to automate the treatment of policy 
>>>>>>>>> violation 
>>>>>>>>> errors (for example, a "false ceiling" campaign will have all the 
>>>>>>>>> keywords 
>>>>>>>>> and ads submitted to review because of the presence of the word 
>>>>>>>>> 'false').
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> If I push all the ads using MutateJobService, for the ads marked 
>>>>>>>>> as 'pending review':
>>>>>>>>>
>>>>>>>>> 1. Should I immediately submit an exemption request? (Does this 
>>>>>>>>> speed up the review process?) Or should I only submit an exemption 
>>>>>>>>> request 
>>>>>>>>> when (if) the ad is disapproved?
>>>>>>>>>
>>>>>>>>> 2. Will the exemption be applied to all future ads?
>>>>>>>>> For example, an ad may be submitted to review because of the word 
>>>>>>>>> 'false'. Does the exemption refer to this specific ad, or to all 
>>>>>>>>> future ads 
>>>>>>>>> containing 'false'?
>>>>>>>>>
>>>>>>>>> 3. If the response to (2) is negative, is it any way to avoid 
>>>>>>>>> future policy violations, for a single word? In my example, could we 
>>>>>>>>> be 
>>>>>>>>> pre-approved for the word 'false' ?
>>>>>>>>>
>>>>>>>>> 4. Can I pre-verify the keywords and ads for policy violations, 
>>>>>>>>> using 
>>>>>>>>> https://developers.google.com/adwords/api/docs/guides/soap#validateOnly?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Thank you
>>>>>>>>>
>>>>>>>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to