Campagne Shopping

Gli script Google Ads consentono di gestire alcune campagne Shopping. Puoi utilizzare gli script per lavorare con le campagne Shopping esistenti, creare e gestire le gerarchie dei gruppi di prodotti ed eseguire report di Shopping. Tuttavia, non puoi utilizzare gli script per creare campagne Shopping, impostare proprietà Shopping a livello di campagna (ad es. priorità della campagna, filtri dell'inventario e così via) o collegare account Merchant Center.

Recupero di campagne e gruppi di annunci Shopping

Le campagne Shopping sono disponibili tramite la raccolta shoppingCampaigns di un oggetto AdsApp. Puoi recuperarli come di consueto tramite script:

const campaignName = "My first shopping campaign";

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

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

Una volta recuperata una campagna, puoi ottenere i relativi gruppi di annunci in modo simile. Questa opzione è preferibile solo se devi intervenire sia sulla campagna sia sui suoi gruppi di annunci.

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

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

Se prevedi di intervenire solo su gruppi di annunci specifici, puoi utilizzare il metodo AdsApp.shoppingAdGroups() per recuperare i gruppi di annunci senza prima recuperare la campagna:

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

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

Annunci di prodotti

Gli script Google Ads ti consentono di recuperare i tuoi annunci di prodotto utilizzando il metodo ads() del ShoppingAdGroup. Puoi creare nuovi annunci di prodotto utilizzando il metodo newAdBuilder() di ShoppingAdGroup.

Esegui l'iterazione della gerarchia del gruppo di prodotti

Puoi accedere alla radice della gerarchia del gruppo di prodotti utilizzando il metodo rootProductGroup della classe ShoppingAdGroup. Puoi quindi utilizzare il metodo children per eseguire l'iterazione dei gruppi di prodotti secondari e attraversare la gerarchia del gruppo di prodotti. Ogni nodo è un oggetto ProductGroup e puoi utilizzare il metodo getDimension per capire il tipo effettivo del gruppo di prodotti. Puoi anche eseguire il casting a un tipo più specifico (ad es. ProductBrand) utilizzando il metodo di trasmissione corrispondente (ad es. asBrand). Lo snippet di codice seguente mostra come eseguire la ricerca ricorsiva della gerarchia del gruppo di prodotti.

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);
  }
}

Seleziona un gruppo di prodotti specifico

Puoi selezionare gruppi di prodotti specifici in una gerarchia di gruppi di prodotti con il metodo productGroups di un'istanza AdsApp, ShoppingCampaign o ShoppingAdGroup. Questo approccio è più semplice rispetto alla navigazione dell'intera gerarchia del gruppo di prodotti quando si selezionano gruppi di prodotti specifici per la gestione delle offerte. Il seguente snippet di codice mostra come selezionare tutti i gruppi di prodotti con più di cinque clic e un tasso di clic superiore a 0.01 nell'ultimo mese e aumentare la relativa offerta di 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);
  }
}

Aggiornare una gerarchia di gruppi di prodotti

Puoi aggiungere un gruppo di prodotti secondario a un gruppo di prodotti esistente utilizzando il relativo metodo newChild. In questo modo ottieni un oggetto ProductGroupBuilderSpace che puoi utilizzare per creare un gruppo di prodotti appropriato. Lo snippet di codice seguente aggiunge una suddivisione per un brand "cardcow" alla radice, poi la suddivide ulteriormente per i prodotti nuovi e ricondizionati.

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();

Analogamente, puoi rimuovere una suddivisione utilizzando il metodo remove di ProductGroup. Vengono eliminate anche l'intera gerarchia del gruppo di prodotti sotto il gruppo di prodotti che viene rimosso.

Gli script garantiranno che la gerarchia dei gruppi di prodotti sia in uno stato coerente dopo la creazione di ciascun gruppo di prodotti, quindi non dovrai creare o eliminare il gruppo di prodotti corrispondente a "Tutto il resto" quando aggiorni la struttura della gerarchia dei gruppi di prodotti.

Il gruppo di prodotti "Tutto il resto"

Le gerarchie dei gruppi di prodotti Shopping contengono un gruppo di prodotti "Tutto il resto" ("Altro") a ogni livello per gestire i prodotti che non corrispondono alla condizione personalizzata che hai creato nella gerarchia dei gruppi di prodotti. Puoi utilizzare il metodo isOtherCase per distinguere un normale gruppo di prodotti che hai aggiunto dal gruppo di prodotti "Altro".

Il seguente snippet di codice recupera il gruppo di prodotti "Altro" nella gerarchia del gruppo di prodotti principale e stampa la relativa offerta.

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 suddividi un gruppo di prodotti finale, gli script creano automaticamente un gruppo di prodotti "Altri" per garantire che la gerarchia dei gruppi di prodotti rimanga valida. Il gruppo di prodotti "Altro" eredita l'offerta del gruppo di prodotti principale.

Creare un nuovo gruppo di annunci Shopping

Gli script Google Ads ti consentono di creare un nuovo gruppo di annunci Shopping utilizzando il metodo newAdGroupBuilder di ShoppingCampaign. Dopo aver creato il ShoppingAdGroup, puoi utilizzare il suo metodo createRootProductGroup per creare una nuova gerarchia di gruppi di prodotti.

Report

Gli script Google Ads supportano i report product_group_view e shopping_performance_view per aiutarti a monitorare il rendimento delle campagne Shopping. Puoi approfondire la conoscenza dei report nella nostra guida ai report.