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

جاوااسکریپت 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 خود را پیگیری کنید. در راهنمای گزارش‌ها می‌توانید اطلاعات بیشتری درباره گزارش‌دهی کسب کنید.