کمپین‌های خرید

برنامه‌های Google Ads برخی‌از مدیریت پویش‌های Shopping شما را ارائه می‌دهند. می‌توانید از نوشته‌هایگان برای کار کردن با پویش‌های Shopping موجود، ایجاد و مدیریت سلسله‌مراتب گروه محصول، و اجرای گزارش‌های Shopping استفاده کنید. بااین‌حال، نمی‌توانید از اسکریپت‌ها برای ایجاد پویش‌های Shopping، تنظیم ویژگی‌های Shopping در سطح پویش (برای مثال: اولویت پویش، فیلترهای موجودی، و غیره)، یا پیوند دادن حساب‌های Merchant Center استفاده کنید.

بازیابی پویش‌های Shopping و گروه‌های آگهی

پویش‌های Shopping ازطریق مجموعه shoppingCampaigns شیء AdsApp دردسترس است. می‌توانید آن‌ها را مثل همیشه ازطریق دستورگان‌ها بازیابی کنید:

const campaignName = "My first shopping campaign";

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

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

وقتی پویشی را بازیابی کردید، می‌توانید گروه‌های آگهی آن را به روشی مشابه دریافت کنید. این فقط درصورتی ترجیح داده می‌شود که لازم باشد هم روی پویش و هم روی گروه‌های آگهی آن اقدام کنید.

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

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

اگر قصد دارید فقط روی گروه‌های آگهی خاصی اقدام کنید، می‌توانید از AdsApp.shoppingAdGroups() روش برای واکشی گروه‌های آگهی بدون واکشی پویش استفاده کنید:

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

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

آگهی‌های محصول

جاوااسکریپت Google Ads به شما امکان می‌دهد آگهی‌های محصول خود را بااستفاده از روش ads() مربوط به ShoppingAdGroup بازیابی کنید. بااستفاده از روش newAdBuilder() در ShoppingAdGroup می‌توانید آگهی‌های محصول جدید ایجاد کنید.

تکرار در سلسله‌مراتب گروه محصول

بااستفاده از روش rootProductGroup مربوط به ShoppingAdGroup می‌توانید به ریشه سلسله‌مراتب گروه محصول دسترسی پیدا کنید. سپس می‌توانید از روش children برای تکرار گروه‌های محصول فرزند و پیمایش سلسله‌مراتب گروه محصول استفاده کنید. هر گره یک شیء ProductGroup است و می‌توانید از روش getDimension برای تعیین نوع واقعی گروه محصول استفاده کنید. همچنین می‌توانید آن را بااستفاده از روش ارسال مربوطه (برای مثال، asBrand) به نوع خاص‌تری (برای مثال، ProductBrand) ارسال کنید. تکه‌کد زیر نحوه پیمایش بازگشتی سلسله‌مراتب گروه محصول را نشان می‌دهد.

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

انتخاب کردن گروه محصول خاص

می‌توانید گروه‌های محصول خاصی را در سلسله‌مراتب گروه محصول بااستفاده از روش productGroups از نمونه AdsApp، ShoppingCampaign، یا ShoppingAdGroup انتخاب کنید. این رویکرد ساده‌تر از پیمایش کل سلسله‌مراتب گروه محصول هنگام انتخاب گروه‌های محصول خاص برای اهداف مدیریت قیمت پیشنهادی است. تکه کد زیر نشان می‌دهد چگونه همه گروه‌های محصول با بیش‌از پنج کلیک و نرخ کلیک‌گذری بزرگ‌تر از 0.01 را درطول ماه گذشته انتخاب کنید و قیمت پیشنهادی آن‌ها را 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);
  }
}

به‌روزرسانی سلسله‌مراتب گروه محصول

بااستفاده از روش newChild می‌توانید گروه محصول کودک را به گروه محصول موجود اضافه کنید. این کار به شما ProductGroupBuilderSpace شیء می‌دهد که می‌توانید از آن برای ساختن گروه محصول مناسب استفاده کنید. تکه کد زیر یک زیربخش برای نمانام «cardcow» در زیر ریشه اضافه می‌کند، و سپس آن را برای محصولات جدید و بازسازی‌شده بیشتر تقسیم می‌کند.

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

به‌همین ترتیب، می‌توانید بااستفاده از روش remove در ProductGroup یک بخش را بردارید. این کار همچنین کل سلسله‌مراتب گروه محصول زیر گروه محصولی را که برداشته می‌شود حذف می‌کند.

اسکریپت‌ها اطمینان حاصل می‌کنند که سلسله‌مراتب گروه محصول پس‌از ایجاد هر گروه محصول در وضعیت ثابتی قرار دارد، بنابراین هنگام به‌روزرسانی ساختار سلسله‌مراتب گروه محصول، نیازی به ایجاد یا حذف گروه محصول مربوط به «همه موارد دیگر» ندارید.

گروه محصول «هر چیز دیگر»

سلسله‌مراتب گروه محصول «مرکزخرید» در هر سطح شامل گروه محصول «هر چیز دیگر» («سایر») است تا محصولاتی را که با شرایط سفارشی که در سلسله‌مراتب گروه محصول ایجاد کرده‌اید مطابقت ندارند مدیریت کند. می‌توانید از روش isOtherCase برای تمایز بین گروه محصول عادی که افزوده‌اید و گروه محصول «دیگر» استفاده کنید.

تکه‌کد زیر گروه محصول «دیگر» را در سلسله‌مراتب گروه محصول ریشه بازیابی می‌کند و قیمت پیشنهادی آن را چاپ می‌کند.

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

وقتی گروه محصول برگ را تقسیم می‌کنید، دستورگان‌ها به‌طور خودکار گروه محصول «دیگر» ایجاد می‌کنند تا مطمئن شوند سلسله‌مراتب گروه محصول معتبر باقی می‌ماند. گروه محصول «دیگر» پیشنهاد قیمت گروه محصول ولی را به ارث می‌برد.

ساختن گروه آگهی آماده خرید جدید

جاوااسکریپت Google Ads به شما امکان می‌دهد بااستفاده از روش newAdGroupBuilder مربوط به ShoppingCampaign، گروه آگهی Shopping جدیدی ایجاد کنید. پس‌از ایجاد ShoppingAdGroup، می‌توانید از روش createRootProductGroup آن برای ایجاد سلسله‌مراتب گروه محصول جدید استفاده کنید.

گزارش‌ها

دستورگان Google Ads از گزارش‌های product_group_view و shopping_performance_view پشتیبانی می‌کند تا به شما کمک کند عملکرد پویش‌های Shopping خود را پیگیری کنید. در راهنمای گزارش‌ها می‌توانید درباره گزارش‌دهی بیشتر بدانید.