Запросы исключений из правил

В AdWords есть возможность попросить наших специалистов проверить нестандартные объявления и ключевые слова, которые в обычной ситуации могут быть приняты за несоответствующие правилам AdWords.

Такие запросы можно отправлять в следующих случаях:

  • Пунктуация в объявлении отличается от общепринятой, но соответствует стандартам, действующим в вашей отрасли.
  • Ключевое слово в группе объявлений содержит медицинские термины, но вы считаете, что эти термины используются в соответствии с правилами AdWords.

В таких ситуациях первая попытка создать объявление или ключевое слово приведет к ошибке типа PolicyViolationError.

Все объявления и ключевые слова, у которых есть заполненные объекты в группе exemptionRequests, автоматически отправляются на проверку. Если проверка покажет, что исключение применимо, у вас появится возможность добавить объявления или слова вручную с помощью операции ADD.

Примечание. Не стоит отправлять на проверку все объявления и слова, которые вызывают ошибку PolicyViolationError. Так следует поступать только с теми объектами, которые, по вашему мнению, соответствуют правилам AdWords. Если ваши объявления и ключевые слова будут регулярно отклоняться из-за нарушения правил сервиса, ваш аккаунт может быть заблокирован.

Ниже приведена поэтапная инструкция по созданию запросов исключений.

Проверьте каждую операцию, выполненную с ошибкой, на наличие нарушений правил

Допустим, вы создаете в одном вызове AdGroupAdService.mutate() три объявления:

  • В заголовках объявлений А и Б указан один и тот же медицинский термин.
  • В заголовке объявления Б используется нестандартная пунктуация.
  • Объявление В содержит нестандартный синтаксис и неправильно отражает содержание целевого сайта.

При отправке вызова с тремя объектами AdGroupAdOperation запрос не выполняется со следующими ошибками:

Ошибка PolicyViolationError.fieldPath PolicyViolationError.isExemptable PolicyViolationKey.policyName
PolicyViolationError 0 (Объявление А) true pharma
PolicyViolationError 1 (Объявление Б) true pharma
PolicyViolationError 1 (Объявление Б) true nonstandard_punctuation
PolicyViolationError 2 (Объявление В) false unclear_or_inaccurate_ad_text

Сохраните операции, на ошибки в которых распространяются исключения

Поскольку на операции 0 и 1 распространяются исключения, их можно отправить на проверку. Операция 2 не подпадает под исключения, поэтому в дополнительной проверке нет смысла.

Добавьте запросы исключений к операциям

Для каждой операции, которую вы хотите отправить на повторную проверку, необходимо добавить один или несколько объектов в группе ExemptionRequests. В объекте ExemptionRequest есть только один атрибут, PolicyViolationKey, со следующими элементами:

  • строка с названием правила;
  • строка с текстом, содержащим ошибку.

Эти сведения указаны в каждом объекте PolicyViolationError. Как видно из фрагмента кода Java, приведенного ниже, содержимое атрибута key в объекте PolicyViolationError можно скопировать в атрибут key объекта ExemptionRequest.

// Чтобы определить индекс операции в пути к полю, используется регулярное выражение.
int operationIndex = Integer.parseInt(matcher.group(1));
AdGroupAdOperation operation = operations.get(operationIndex);
if (policyViolationError.getIsExemptable()) {
  // К операции добавляется регулярное выражение.
  List exemptionRequests;
  if (operation.getExemptionRequests() == null) {
    exemptionRequests = new ArrayList();
  } else {
    exemptionRequests = new ArrayList(
        Arrays.asList(operation.getExemptionRequests()));
  }
  // Для создания объекта ExemptionRequest используется значение атрибута key из объекта PolicyViolationError.
  ExemptionRequest exemptionRequest =
    new ExemptionRequest(policyViolationError.getKey());
  // К набору запросов операции добавляется объект ExemptionRequest.
  exemptionRequests.add(exemptionRequest);
  operation.setExemptionRequests(
      exemptionRequests.toArray(new ExemptionRequest[exemptionRequests.size()]));
} else {
  // Операция с ошибкой, на которую не распространяется исключение,
  // удаляется из списка операций. Выполняется повторная загрузка.
  operations.remove(operationIndex);
}

Отправьте измененные операции повторно

Продолжим рассмотрение примера выше. У вас появятся следующие объекты AdGroupAdOperation:

  • Объект AdGroupAdOperation для объявления А с одним запросом исключения, где указано название правила pharma. Текст будет импортирован из первого объекта PolicyViolationError.
  • Объект AdGroupAdOperation для объявления Б с двумя запросами исключений: один с названием правила pharma и текстом из второго объекта PolicyViolationError, а второй – с названием правила nonstandard_punctuation и текстом из второго объекта PolicyViolationError.

Объект AdGroupAdOperation для объявления В был удален, поскольку на ошибку в этом объявлении исключения не распространяются.

Теперь вы можете загрузить измененные объекты AdGroupAdOperation для объявлений А и Б. У вас появятся два новых объявления, ожидающие проверки.

Следите за статусом рассмотрения всех объявлений и ключевых слов

Периодически можно отправлять запросы AdGroupAdService.get() и AdGroupAdService.query() с заполненным полем AdGroupCreativeApprovalStatus. Они позволяют следить за тем, было ли ваше объявление одобрено или отклонено.

Примеры кода

Каждая клиентская библиотека содержит два примера фрагментов кода, связанные с нарушениями правил:

  • Исправление ошибок, которые привели к нарушению правил. В этом примере показано, как находить и заново загружать объекты AdGroupAdOperations, которые были отклонены из-за нарушений правил, подпадающих под исключения.
  • Подтверждение текстового объявления. В этом примере показано, как отправлять объявления на подтверждение, заполнив заголовок SOAP validateOnly. Подробнее читайте в Руководстве по структуре вызовов API.

Оставить отзыв о...

Текущей странице
Нужна помощь? Обратитесь в службу поддержки.