Alışveriş kampanyaları

Google Ads komut dosyaları, Alışveriş kampanyalarınızın bir kısmının yönetilmesini sağlar. 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, kampanya düzeyinde Alışveriş özellikleri 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ı ve reklam gruplarını alma

Alışveriş kampanyaları, shoppingCampaigns AdsApp nesnesinin koleksiyonu aracılığıyla 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ı üzerinde 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ı üzerinde 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 ads() yöntemini kullanarak ürün reklamlarınızı almanıza olanak tanır. newAdBuilder() ShoppingAdGroup yöntemini kullanarak yeni ürün reklamları oluşturabilirsiniz.

Ürün grubu hiyerarşisinde yineleme yapma

ShoppingAdGroup yönteminin rootProductGroup yöntemini kullanarak ürün grubu hiyerarşisinin köküne erişebilirsiniz. Ardından, alt ürün gruplarını yinelemek ve ürün grubu hiyerarşisinde gezinmek için children yöntemini kullanabilirsiniz. Her düğüm bir ProductGroup nesnesidir ve ürün grubunun gerçek türünü öğrenmek için getDimension yöntemini kullanabilirsiniz. Ayrıca, ilgili yayın yöntemi (ör. asBrand) kullanarak daha spesifik bir türe (ör. ProductBrand) yayınlayabilirsiniz. Aşağıdaki kod snippet'inde, ürün grubu hiyerarşisinde yinelemeli olarak nasıl gezinileceği 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öntemiyle seçebilirsiniz. Bu yaklaşım, teklif yönetimi amacıyla belirli ürün gruplarını seçerken tüm ürün grubu hiyerarşisini geçmekten daha basittir. Aşağıdaki kod snippet'i, son bir ay içinde beşten fazla tıklama alan ve tıklama oranı 0.01'dan yüksek olan tüm ürün gruplarının nasıl seçileceğini ve tekliflerinin 0.01 oranında nasıl artırılacağını gösterir.

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

newChild yöntemini kullanarak mevcut bir ürün grubuna alt ürün grubu ekleyebilirsiniz. Bu işlem, uygun bir ürün grubu oluşturmak için kullanabileceğiniz bir ProductGroupBuilderSpace nesnesi verir. Aşağıdaki kod snippet'i, kök altında "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, remove ProductGroup yöntemini kullanarak bir alt bölümü kaldırabilirsiniz. Bu işlem, kaldırılan ürün grubunun altındaki tüm ürün grubu hiyerarşisini de siler.

Komut dosyaları, her ürün grubu oluşturulduktan sonra ürün grubu hiyerarşisinin tutarlı bir durumda olmasını sağlar. Böylece, ü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ız veya silmeniz gerekmez.

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

Alışveriş ürün grubu hiyerarşilerinde, ü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 bulunur. Eklediğiniz normal bir ürün grubu ile "Diğer" ürün grubu arasında ayrım yapmak 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 yaprak ürün grubunu alt gruplara ayırdığınızda, ürün grubu hiyerarşisinin geçerli kalmasını sağlamak için komut dosyaları 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ı, newAdGroupBuilder yöntemini kullanarak yeni bir Alışveriş reklam grubu oluşturmanıza olanak tanır. ShoppingCampaign. ShoppingAdGroup 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. Raporlama hakkında daha fazla bilgiyi rapor kılavuzumuzda bulabilirsiniz.