Campanhas do Shopping

Os scripts do Google Ads permitem um certo nível de gerenciamento da sua página do Shopping do Shopping. Você pode usar scripts para trabalhar com campanhas existentes do Shopping, criar e gerenciar hierarquias de grupo e gerar relatórios de compras. No entanto, não é possível usar scripts para criar campanhas do Shopping, definir propriedades do Shopping no nível da campanha (por exemplo: prioridade da campanha, filtros de inventário etc.) ou vincular o Merchant Center contas de serviço.

Recuperação de campanhas do Shopping e grupos de anúncios

As campanhas do Shopping estão disponíveis no shoppingCampaigns uma coleção de objeto AdsApp. Você pode recuperá-las normalmente por meio de scripts:

const campaignName = "My first shopping campaign";

const campaignIterator = AdsApp.shoppingCampaigns()
    .withCondition(`campaign.name = "${campaignName}"`)
    .get();

for (const campaign of campaignIterator) {
  ...
}

Depois de recuperar uma campanha, você pode reunir seus grupos de anúncios em um formato semelhante forma Essa ação é preferível apenas se você precisar realizar ações tanto na campanha quanto grupos de anúncios.

const adGroupIterator = campaign.adGroups()
    .withCondition(`ad_group.name = "${adGroupName}"`)
    .get();

for (const adGroup of adGroupIterator) {
    ...
}

Se você planeja agir somente em grupos de anúncios específicos, pode usar a AdsApp.shoppingAdGroups() para buscar grupos de anúncios sem buscar a campanha primeiro:

const adGroupIterator = AdsApp.shoppingAdGroups()
    .withCondition(`campaign.name = "${campaignName}"`)
    .withCondition(`ad_group.name = "${adGroupName}"`)
    .get();

for (const adGroup of adGroupIterator) {
    ...
}

Anúncios de produtos

Com os scripts do Google Ads, recuperar seus anúncios de produtos usando as ads() da classe ShoppingAdGroup. Você pode criar anúncios de novos produtos usando o newAdBuilder() método de ShoppingAdGroup.

Iterar na hierarquia do grupo de produtos

Você pode acessar a raiz da hierarquia do grupo de produtos usando o método rootProductGroup da classe ShoppingAdGroup Em seguida, use o children para iterar os grupos de produtos secundários e atravessar o grupo de produtos hierarquia. Cada nó é um ProductGroup objeto, e é possível usar o getDimension para descobrir o tipo real do grupo de produtos. Você também pode transmitir para um tipo mais específico (por exemplo, ProductBrand). usando o método de transmissão correspondente (por exemplo, asBrand). O snippet de código a seguir mostra como navegar de maneira recursiva pelo grupo de produtos hierarquia.

walkTree(shoppingAdGroup.rootProductGroup(), 1);

function walkTree(root, level) {
  // Logger.log(root.getDimension());
  let 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";
  }

  const padding = new Array(level + 1).join('-');
  console.log("%s, %s, %s, %s, %s, %s",
             padding,
             description,
             root.getDimension(),
             root.getMaxCpc(),
             root.isOtherCase(),
             root.getId().toFixed());
  const children = root.children().get();
  for (const child of children) {
    walkTree(child, level + 1);
  }
}

Selecione um grupo de produtos específico

Você pode selecionar grupos de produtos específicos em uma hierarquia de grupo de produtos com o Método productGroups de uma AdsApp, ShoppingCampaign, ou ShoppingAdGroup instância. Essa abordagem é mais simples do que abranger todo o grupo de produtos hierarquia ao selecionar grupos de produtos específicos para gerenciamento de lances propósitos. O snippet de código a seguir mostra como selecionar todos os grupos de produtos com mais de cinco cliques e uma taxa de cliques maior do que 0.01 durante no último mês e aumenta seu lance em 0.01.

function main() {
  const productGroups = AdsApp.productGroups()
      .withCondition("metrics.clicks > 5")
      .withCondition("metrics.ctr > 0.01")
      .forDateRange("LAST_MONTH")
      .get();
  for (const productGroup of productGroups) {
    productGroup.setMaxCpc(productGroup.getMaxCpc() + 0.01);
  }
}

Atualizar a hierarquia de um grupo de produtos

É possível adicionar um grupo de produtos secundário a um grupo existente usando o respectivo newChild . Assim, você terá ProductGroupBuilderSpace , que você pode usar para criar um grupo de produtos apropriado. A snippet de código a seguir adiciona uma subdivisão para "cardcow". marca sob a raiz, e depois o subdivida ainda mais para produtos novos e recondicionados.

const root = shoppingAdGroup.rootProductGroup();

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

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

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

Da mesma forma, você pode remover uma subdivisão usando o método remove método de ProductGroup Isso também exclui toda a hierarquia do grupo de produtos abaixo do produto que está sendo removido.

Os scripts garantirão que a hierarquia do grupo de produtos esteja em um estado consistente depois de criar cada grupo de produtos. Assim, você não precisa criar ou excluir o grupo de produtos que corresponde a "Todo o restante" ao atualizar o produto estrutura hierárquica de grupo.

O grupo de produtos "Todo o restante"

As hierarquias de grupos de produtos do Shopping contêm um "Todo o restante" ("Outro") grupo de produtos em cada nível para lidar com os produtos que não correspondem ao condição personalizada que você criou na hierarquia do grupo de produtos. Você pode usar o isOtherCase para diferenciar um grupo de produtos normal adicionado por você e o "Outro" grupo de produtos.

O snippet de código a seguir recupera a propriedade "Other" grupo de produtos na raiz hierarquia do grupo de produtos e imprime o lance.

const root = shoppingAdGroup.rootProductGroup();

const childProductGroups = root.children().get();
let everythingElseProductGroupFound = false;

for (const childProductGroup of childProductGroups) {
  if (childProductGroup.isOtherCase()) {
    console.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) {
  console.log("No 'Everything else' product group found under root " +
             "product group.");
}

Quando você subdividir um grupo de produtos folha, os scripts criam automaticamente uma "Outra" grupo de produtos para garantir que a hierarquia do grupo de produtos permaneça válidos. O "Outro" o grupo de produtos herda o lance do produto principal grupo.

Criar um grupo de anúncios do Shopping

Os scripts do Google Ads permitem que você crie um novo grupo de anúncios do Shopping usando o newAdGroupBuilder método de ShoppingCampaign Depois de criar ShoppingAdGroup, você pode usar createRootProductGroup para criar uma nova hierarquia de grupo de produtos.

Relatórios

Os scripts do Google Ads suportam product_group_view e shopping_performance_view para ajudar você a acompanhar o desempenho das suas campanhas do Shopping. Você pode saiba mais sobre relatórios em nossa guia de relatórios.