Alışveriş kampanyaları

Google Ads komut dosyaları, Alışveriş kampanyalarınızın yönetimiyle ilgili bazı özellikler sunar. Mevcut Alışveriş kampanyalarıyla çalışmak, ürün grubu hiyerarşileri oluşturup yönetmek ve Alışveriş raporları oluşturmak 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ı, bir AdsApp nesnesinin shoppingCampaigns koleksiyonu aracılığıyla kullanılabilir. Bu öğeleri 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, 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 nesnesinin 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şisinde yineleme yapma

ShoppingAdGroup rootProductGroup yöntemini kullanarak ürün grubu hiyerarşisinin kök dizinine 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ı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ş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 AdsApp, ShoppingCampaign veya ShoppingAdGroup örneğinin productGroups yöntemini kullanarak ürün grubu hiyerarşisindeki belirli ürün gruplarını seçebilirsiniz. Bu yaklaşım, teklif yönetimi amacıyla belirli ürün gruplarını seçerken tüm ürün grubu hiyerarşisini incelemekten daha basittir. Aşağıdaki kod snippet'inde, son bir ay içinde beşten fazla tıklama alan ve tıklama oranı 0.01 değerinden yüksek olan tüm ürün gruplarının nasıl seçileceği ve tekliflerinin 0.01 oranında 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

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 döndürür. 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 bu alt bölümü 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 yöntemini kullanarak da bir alt bölümü kaldırabilirsiniz. ProductGroup 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 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 grubu arasındaki farkı 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 yaprak ürün grubunu alt bölümlere 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ı, ShoppingCampaign öğesinin 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 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. Bildirme hakkında daha fazla bilgiyi rapor kılavuzumuzda bulabilirsiniz.