Alışveriş kampanyaları

Google Ads komut dosyaları, Alışveriş kampanyalarınızın bir kısmını yönetmenize olanak tanır. Mevcut Alışveriş kampanyalarıyla çalışmak, ürün grubu hiyerarşileri oluşturup yönetmek ve Alışveriş raporları çalıştırmak için komut dosyalarını kullanabilirsiniz. Ancak, Alışveriş kampanyaları oluşturmak, Alışveriş mülklerini kampanya düzeyinde ayarlamak (ör. kampanya önceliği, envanter filtreleri vb.) veya Merchant Center hesaplarını bağlamak için komut dosyalarını kullanamazsınız.

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

Alışveriş kampanyaları, AdsApp nesnesinin shoppingCampaigns koleksiyonundan kullanılabilir. Bu verileri komut dosyaları aracılığıyla her zamanki gibi 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, reklam gruplarını da benzer şekilde alabilirsiniz. Bu yöntem yalnızca hem kampanya hem de reklam grupları için işlem yapmanız gerektiğinde tercih edilir.

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

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

Yalnızca belirli reklam gruplarında 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 sınıfının ads() yöntemini kullanarak ürün reklamlarınızı almanıza olanak tanır. ShoppingAdGroup yöntemini kullanarak newAdBuilder() ile yeni ürün reklamları oluşturabilirsiniz.

Ürün grubu hiyerarşisini iteratif olarak inceleme

ShoppingAdGroup öğesinin rootProductGroup yöntemini kullanarak ürün grubu hiyerarşisinin köküne erişebilirsiniz. Ardından, alt ürün gruplarını iterasyonla işlemek ve ürün grubu hiyerarşisini taramak için children yöntemini kullanabilirsiniz. Her düğüm bir ProductGroup nesnesi olduğundan, ürün grubunun gerçek türünü öğrenmek için getDimension yöntemini kullanabilirsiniz. İlgili yayınlama yöntemini (ör. asBrand) kullanarak daha spesifik bir türe (ör. ProductBrand) de yayınlayabilirsiniz. Aşağıdaki kod snippet'inde, ürün grubu hiyerarşisinin yinelemeli olarak nasıl taranacağı 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 grubu seçin

Bir ürün grubu hiyerarşisinde belirli ürün gruplarını, AdsApp, ShoppingCampaign veya ShoppingAdGroup örneğinin productGroups yöntemini kullanarak seçebilirsiniz. Bu yaklaşım, teklif yönetimi amacıyla belirli ürün gruplarını seçerken ürün grubu hiyerarşisinin tamamını taramaktan daha basittir. Aşağıdaki kod snippet'inde, son bir ay içinde beşten fazla tıklama ve 0.01'ten yüksek bir tıklama oranı olan tüm ürün gruplarının nasıl seçileceği ve tekliflerinin 0.01 kadar nasıl artırılacağı gösterilmektedir.

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 newChild yöntemini kullanarak alt ürün grubu ekleyebilirsiniz. Bu işlem, uygun bir ürün grubu oluşturmak için kullanabileceğiniz bir ProductGroupBuilderSpace nesnesi oluşturur. Aşağıdaki kod snippet'i, kökün altına "cardcow" markası için bir alt bölüm ekler ve ardından yeni ve yenilenmiş ürünler için daha da 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 yönteminin remove yöntemini kullanarak 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ı, her ürün grubu oluşturulduktan sonra ürün grubu hiyerarşisinin tutarlı bir durumda olmasını sağlar. Bu nedenle, ürün grubu hiyerarşisi yapısını güncellerken "Diğer tüm öğeler"e karşılık gelen ürün grubunu oluşturmanıza veya silmenize gerek yoktur.

"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 tüm öğeler" ("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şisi altındaki "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 son ürün grubunu alt gruplara ayırdığınızda komut dosyaları, ürün grubu hiyerarşisinin geçerli kalmasını sağlamak için otomatik olarak bir "Diğer" ürün grubu oluşturur. "Diğer" ürün grubu, üst ürün grubunun teklifini devralır.

Yeni bir alışveriş reklam grubu oluşturma

Google Ads komut dosyaları, ShoppingCampaign newAdGroupBuilder yöntemini kullanarak yeni bir Alışveriş reklam grubu oluşturmanıza olanak tanır. ShoppingAdGroup'u oluşturduktan sonra, yeni bir ürün grubu hiyerarşisi oluşturmak için 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. Bildirimde bulunma hakkında daha fazla bilgiyi raporlar kılavuzumuzdan edinebilirsiniz.