Alışveriş kampanyaları

Google Ads komut dosyaları, Alışveriş kampanyalarınızın bir kısmını yönetmenizi sağlar. Komut dosyalarını kullanarak mevcut alışveriş kampanyalarıyla çalışabilir, ürün grubu hiyerarşileri oluşturup yönetebilir ve alışveriş raporları çalıştırabilirsiniz. Ancak komut dosyalarını alışveriş kampanyaları oluşturmak, alışveriş özelliklerini kampanya düzeyinde ayarlamak (örneğin: kampanya önceliği, envanter filtreleri vb.) veya Merchant Center hesaplarını bağlamak için kullanamazsınız.

Alışveriş kampanyalarını ve reklam gruplarını alma

Alışveriş kampanyalarına shoppingCampaigns bir AdsApp nesnesi koleksiyonu aracılığıyla erişilebilir. Bunları her zamanki gibi komut dosyaları aracılığıyla alabilirsiniz:

const campaignName = "My first shopping campaign";

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

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

Bir kampanyayı aldıktan sonra, bu kampanyadaki reklam gruplarını da benzer bir şekilde alabilirsiniz. Bu, yalnızca hem kampanya hem de bu kampanyaya ait reklam grupları üzerinde işlem yapmanız gerekiyorsa tercih edilir.

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

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

Yalnızca belirli reklam gruplarıyla işlem yapmayı planlıyorsanız önce kampanyayı getirmeden reklam gruplarını getirmek için AdsApp.shoppingAdGroups() yöntemini kullanabilirsiniz:

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

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

Ürün reklamları

Google Ads komut dosyaları, ShoppingAdGroup aracının ads() yöntemini kullanarak ürün reklamlarınızı almanıza olanak tanır. ShoppingAdGroup newAdBuilder() yöntemini kullanarak yeni ürün reklamları oluşturabilirsiniz.

Ürün grubu hiyerarşisini yineleyin

ShoppingAdGroup uygulamasının rootProductGroup yöntemini kullanarak ürün grubu hiyerarşisinin kök dizinine erişebilirsiniz. Daha sonra, alt ürün gruplarını yinelemek ve ürün grubu hiyerarşisinde bilgi edinmek için children yöntemini kullanabilirsiniz. Her düğüm bir ProductGroup nesnesidir ve ürün grubunun gerçek türünü anlamak için getDimension yöntemini kullanabilirsiniz. İlgili yayınlama yöntemini (ör. asBrand) kullanarak daha spesifik bir türe de (ör. ProductBrand) yayınlayabilirsiniz. Aşağıdaki kod snippet'inde, ürün grubu hiyerarşisinde yinelemeli olarak nasıl geçiş yapılacağı gösterilmektedir.

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

Belirli bir ürün grubunu seçin

AdsApp, ShoppingCampaign veya ShoppingAdGroup örneğinde productGroups yöntemiyle ürün grubu hiyerarşisindeki belirli ürün gruplarını seçebilirsiniz. Bu yaklaşım, teklif yönetimi amacıyla belirli ürün grupları seçerken ürün grubu hiyerarşisinin tamamından geçiş yapmaktan daha basittir. Aşağıdaki kod snippet'i, geçen ay beşten fazla tıklama ve tıklama oranı 0.01 üzerinde olan tüm ürün gruplarının nasıl seçileceğini ve bu grupların tekliflerini 0.01 artırmasının nasıl yapılacağını göstermektedir.

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

Ürün grubu hiyerarşisini güncelleme

Mevcut bir ürün grubuna bu alt ürün grubunun newChild yöntemini kullanarak alt ürün grubu ekleyebilirsiniz. Böylece, uygun bir ürün grubu oluşturmak için kullanabileceğiniz bir ProductGroupBuilderSpace nesnesi elde edersiniz. Aşağıdaki kod snippet'i, kökün altına bir "cardcow" markası için bir alt bölüm ekler ve daha sonra bunu yeni ve yenilenmiş ürünler için alt bölümlere ayırır.

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

Benzer şekilde, ProductGroup remove yöntemini kullanarak bir alt bölümü kaldırabilirsiniz. Bu işlem, kaldırılan ürün grubunun altındaki ürün grubu hiyerarşisinin tamamını da siler.

Komut dosyaları, ürün grubu hiyerarşisinin her ürün grubu oluşturulduktan sonra tutarlı bir durumda olmasını sağlar. Böylece, ürün grubu hiyerarşi yapısını güncellerken "Diğer her şey"e karşılık gelen ürün grubunu oluşturmanız veya silmeniz gerekmez.

"Diğer her şey" ürün grubu

Alışveriş ürün grubu hiyerarşileri, ürün grubu hiyerarşisinde oluşturduğunuz özel koşulla eşleşmeyen ürünleri işlemek için her düzeyde bir "Diğer her şey" ("Diğer") ürün grubu içerir. Eklediğiniz normal bir ürün grubu ile "Diğer" ürün grubunu ayırt etmek için isOtherCase yöntemini kullanabilirsiniz.

Aşağıdaki kod snippet'i, kök ürün grubu hiyerarşisindeki "Diğer" ürün grubunu alır ve teklifini yazdırır.

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

Bir yaprak ürün grubunu alt bölümlere ayırdığınızda komut dosyaları, ürün grubu hiyerarşisinin geçerli kalmasını sağlamak için otomatik olarak "Diğer" ürün grubu oluşturur. "Diğer" ürün grubu, üst ürün grubunun teklifini devralır.

Yeni alışveriş reklam grubu oluşturun

Google Ads komut dosyaları, ShoppingCampaign newAdGroupBuilder yöntemini kullanarak yeni bir alışveriş reklam grubu oluşturmanıza olanak tanır. ShoppingAdGroup oluşturduktan sonra yeni bir ürün grubu hiyerarşisi oluşturmak için ürünün createRootProductGroup yöntemini kullanabilirsiniz.

Raporlar

Google Ads komut dosyaları, alışveriş kampanyalarınızın performansını izlemenize yardımcı olmak için product_group_view ve shopping_performance_view raporlarını destekler. Raporlama hakkında daha fazla bilgiyi raporlar kılavuzumuzda bulabilirsiniz.