No trademark error when bulk ad process ?

43 views
Skip to first unread message

Erkan Ceran

unread,
Feb 3, 2015, 10:20:06 AM2/3/15
to adwor...@googlegroups.com
Hi,

  I try to add ads using bulk jobs. Old api versions was return trademark error when create ads. But in v201409 api, i use some code but its return all success. I try to create one ad with using AdGroupAdService (not bulk) its return to me error like 'PolicyViolationKey{policyName=trademark,violatingText=Nike'.

  So you can see if you try to bulk jobs for create ads, all them will success.

   How can i catch trademark errors ?

$jobResult = ChoiceUtils::GetValue( $mutateJobService->getResult($selector)); 

after this code i try to show $jobResult->errors but its empty and i see in adwords panel all ads created. After 1 hours later i get email about all my ads disapproved.

I think is there a bug ? 

Josh Radcliff (AdWords API Team)

unread,
Feb 3, 2015, 12:34:33 PM2/3/15
to adwor...@googlegroups.com
Hi,

Are you polling the job status via MutateJobService.get and waiting for the status to be COMPLETED before attempting to get the results via MutateJobService.getResult? If not, then the results you get from getResult will be incomplete or empty.

Thanks,
Josh, AdWords API Team

Erkan Ceran

unread,
Feb 4, 2015, 6:18:57 AM2/4/15
to adwor...@googlegroups.com
Hi Josh,

  I already check status of jobs with MutateJobService->get.  I checked example in api documents and i did all steps on KeywordAddBulk.php for error handling.

$jobs = $mutateJobService->get($selector);
$job = $jobs[0];
switch ($job->status) {
..etc.

} while (($job->status == 'PENDING' || $job->status == 'PROCESSING'));


Any other idea ? 


3 Şubat 2015 Salı 19:34:33 UTC+2 tarihinde Josh Radcliff (AdWords API Team) yazdı:

Josh Radcliff (AdWords API Team)

unread,
Feb 4, 2015, 3:42:36 PM2/4/15
to adwor...@googlegroups.com
Hi,

I see you are only waiting until the status is neither PENDING nor PROCESSING. Are you also checking the status after that loop exits to make sure that it's COMPLETED and not FAILED?

If that doesn't explain the difference in behavior, could you send over the ad text that triggers a policy violation from AdGroupAdService but not MutateJobService?

Thanks,
Josh, AdWords API Team

Erkan Ceran

unread,
Feb 5, 2015, 3:30:44 AM2/5/15
to adwor...@googlegroups.com
Yes i check status for COMPLETE after while ;

if ($job->status == 'COMPLETED') {
   // Retrieve the results of the job.
   $jobResult = ChoiceUtils::GetValue(
       $mutateJobService->getResult($selector));
...
..
print_r($jobResult->errors); // empty
}

My test ad data for trademark error;

$adData = array(
'headLine' => 'Nike is good but',
'desc1' => 'My dream is Adidas',
'desc2' => 'Puma is with you',
'destURL' => 'http://www.adidas.com',
'visualURL' => 'adidas.com'
);



4 Şubat 2015 Çarşamba 22:42:36 UTC+2 tarihinde Josh Radcliff (AdWords API Team) yazdı:

Josh Radcliff (AdWords API Team)

unread,
Feb 5, 2015, 2:39:16 PM2/5/15
to adwor...@googlegroups.com
Hi,

I just tried using AdGroupAdService.mutate to add a TextAd with the attributes below, and it was not rejected for approval reasons. Are you sure that you set the exact same attribute values when using both AdGroupAdService and MutateJobService?

Note that after a few minutes I saw that the ad moved to the Under review state in the UI. This is consistent with my expectations, since some ad policy reviews occur after an ad is created. Therefore, it's quite common for a new ad to move to the disapproved state after a time lapse of a few minutes or even hours.

Cheers,
Josh, AdWords API Team
Reply all
Reply to author
Forward
0 new messages