Торговые кампании

С помощью скриптов AdWords можно управлять имеющимися торговыми кампаниями, создавать и изменять иерархии групп товаров, а также просматривать отчеты. Однако скрипты не позволяют создавать торговые кампании, задавать настройки на уровне кампаний (приоритеты, фильтры ресурсов и т. п.), а также связывать аккаунты Merchant Center.

Извлечение торговых кампаний и групп объявлений

Торговые кампании можно извлечь при помощи метода shoppingCampaigns объекта AdWordsApp. Это делается следующим образом:

var campaignName = "My first shopping campaign";

var campaignIterator = AdWordsApp.shoppingCampaigns()
    .withCondition("CampaignName = '" + campaignName + "'")
    .get();

while (campaignIterator.hasNext()) {
  var campaign = campaignIterator.next();
  ...
}

После извлечения кампании можно подобным образом получить входящие в нее группы объявлений:

var adGroupIterator = campaign.adGroups()
    .withCondition("AdGroupName = '" + adGroupName + "'")
    .get();

while (adGroupIterator.hasNext()) {
    var adGroup = adGroupIterator.next();
    ...
}

Кроме того, можно использовать метод AdWordsApp.shoppingAdGroups():

var adGroupIterator = AdWordsApp.shoppingAdGroups()
    .withCondition("CampaignName='" + campaignName +
        "' and AdGroupName = '" + adGroupName + "'")
    .get();

while (adGroupIterator.hasNext()) {
    var adGroup = adGroupIterator.next();
    ...
}

Работа с товарными объявлениями

Скрипты AdWords позволяют получать доступ к товарным объявлениям с помощью метода ads() объекта ShoppingAdGroup. Для создания новых товарных объявлений используется метод newAdBuilder() объекта ShoppingAdGroup.

Доступ к иерархии групп товаров

Доступ к корневой папке в иерархии группы товаров можно получить с помощью метода rootProductGroup объекта ShoppingAdGroup. Вы также можете использовать метод children для извлечения дочерних групп товаров и просмотра всей иерархии. Каждый узел является объектом ProductGroup, а метод getDimension позволяет узнать тип группы товаров. Кроме того, можно задать более конкретный тип (например, ProductBrand), используя соответствующий метод (в данном случае asBrand). В приведенном ниже примере показано, как перемещаться по иерархии групп товаров.

walkTree(shoppingAdGroup.rootProductGroup(), 1);

function walkTree(root, level) {
  // Logger.log(root.getDimension());
  var description = "";
  switch (root.getDimension()) {
    case "ROOT":
      description = "Root";
      break;

    case "CATEGORY":
      description = root.asCategory().getName();
      break;

    case "BRAND":
      description = root.asBrand().getName();
      break;

    // Handle more types here.
    ...
  }

  if (root.isOtherCase()) {
    description = "Other";
  }

  var padding = new Array(level + 1).join('-');
  Logger.log("%s %s, %s, %s, %s, %s",
             padding,
             description,
             root.getDimension(),
             root.getMaxCpc(),
             root.isOtherCase(),
             root.getId().toFixed());
  var children = root.children().get();
  while (children.hasNext()) {
    var child = children.next();
    walkTree(child, level + 1);
  }
}

Выбор конкретной группы товаров

Выбрать определенные группы товаров в иерархии можно с помощью метода productGroups объекта AdWordsApp, ShoppingCampaign или ShoppingAdGroup. Это проще, чем просматривать всю иерархию в поисках определенных групп для изменения ставок. Следующий фрагмент кода выбирает все группы объявлений, которые за последний месяц набрали менее пяти кликов и имеют CTR более 0,01. При этом ставка для этих групп повышается на 0,01.

function main() {
  var productGroups = AdWordsApp.productGroups()
      .withCondition("Clicks > 5")
      .withCondition("Ctr > 0.01")
      .forDateRange("LAST_MONTH")
      .get();
  while (productGroups.hasNext()) {
    var productGroup = productGroups.next();
    productGroup.setMaxCpc(productGroup.getMaxCpc() + 0.01);
  }
}

Обновление иерархии

Вы можете добавить дочернюю группу товаров в существующую с помощью метода newChild. Так вы получите доступ к объекту ProductGroupBuilderSpace для создания групп. Следующий фрагмент кода добавляет дочернюю группу для бренда Cardcow в корне, а затем разделяет ее на группы для новых и отремонтированных товаров.

var root = shoppingAdGroup.rootProductGroup();

// Add a brand product group for a "cardcow" under root.
var brandProductGroup = root.newChild()
    .brandBuilder()
    .withName("cardcow")
    .withBid(1.2)
    .build()
    .getResult();

// Add new conditions for New and Refurbished cardcow brand items.
var newItems = brandProductGroup.newChild()
    .conditionBuilder()
    .withCondition("New")
    .withBid(1.5)
    .build()
    .getResult();

// Refurbished items will use the bid from "cardcow" product group.
var refurbishedItems = brandProductGroup.newChild()
    .conditionBuilder()
    .withCondition("Refurbished")
    .build()
    .getResult();

Вы также можете отменить разделение группы с помощью метода remove объекта ProductGroup. При этом также будет удалена вся иерархия в пределах удаляемой группы товаров.

Скрипты гарантируют сохранение иерархии после создания каждой группы товаров. При обновлении структуры иерархии вам не понадобится создавать или удалять группу, которая относится к разделу "Прочие".

Группа товаров "Прочие"

В иерархии на каждом уровне есть группа "Прочие".В нее входят товары, которые не соответствуют условиям, заданным пользователем. Чтобы отличить обычную группу товаров от "Прочих", воспользуйтесь методом isOtherCase.

Приведенный ниже фрагмент кода извлекает группу "Прочие" в корневой папке иерархии и печатает ее ставку.

var root = shoppingAdGroup.rootProductGroup();

var childProductGroups = root.children().get();
var everythingElseProductGroupFound = false;

while (childProductGroups.hasNext()) {
  var childProductGroup = childProductGroups.next();
  if (childProductGroup.isOtherCase()) {
    Logger.log("'Everything else' product group found. Type of the " +
               "product group is %s and bid is %s.",
               childProductGroup.getDimension(),
               childProductGroup.getMaxCpc());
    everythingElseProductGroupFound = true;
    break;
  }
}
if (!everythingElseProductGroupFound) {
  Logger.log("No 'Everything else' product group found under root " +
             "product group.");
}

При разделении группы товаров скрипты автоматически создают группу "Прочие", чтобы иерархия не нарушалась. Эта группа наследует ставку родительской группы товаров.

Создание новой группы товарных объявлений

Скрипты AdWords поддерживают создание новых групп товарных объявлений с помощью метода newAdGroupBuilder объекта ShoppingCampaign. После создания объекта ShoppingAdGroup можно воспользоваться методом createRootProductGroup для создания новой иерархии групп товаров.

Создание отчетов

Скрипты AdWords поддерживают отчеты по сегментации товаров и по эффективности товарных объявлений. Подробнее читайте здесь.

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

Текущей странице
Скрипты AdWords
Скрипты AdWords