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

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

بازیابی کمپین‌های خرید و گروه‌های تبلیغاتی

کمپین‌های خرید از طریق مجموعه 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) {
    ...
}

تبلیغات محصول

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

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

شما می‌توانید با استفاده از متد rootProductGroup از ShoppingAdGroup به ریشه سلسله مراتب گروه محصول دسترسی پیدا کنید. سپس می‌توانید از متد children برای تکرار گروه‌های محصول فرزند و پیمایش سلسله مراتب گروه محصول استفاده کنید. هر گره یک شیء ProductGroup است و می‌توانید از متد getDimension برای تشخیص نوع واقعی گروه محصول استفاده کنید. همچنین می‌توانید با استفاده از متد cast مربوطه (مثلاً 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.");
}

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

یک گروه تبلیغاتی خرید جدید ایجاد کنید

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

گزارش‌ها

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