קמפיינים של שופינג

סקריפטים של Google Ads מספקים ניהול מסוים של קמפיינים של שופינג. אפשר להשתמש בסקריפטים כדי לעבוד עם קמפיינים קיימים של שופינג, ליצור ולנהל היררכיות של קבוצות מוצרים ולהריץ דוחות שופינג. עם זאת, אי אפשר להשתמש בסקריפטים כדי ליצור קמפיינים של שופינג, להגדיר מאפיינים של שופינג ברמת הקמפיין (לדוגמה: עדיפות הקמפיין, מסנני מלאי וכו') או לקשר חשבונות Merchant Center.

אחזור של קמפיינים וקבוצות של מודעות שופינג

קמפיינים של שופינג זמינים דרך האוסף 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 כדי לגלות את הסוג האמיתי של קבוצת המוצרים. אפשר גם להמיר אותו לסוג ספציפי יותר (לדוגמה, ProductBrand) באמצעות שיטת ההמרה המתאימה (לדוגמה, asBrand). בקטע הקוד הבא מוצג אופן המעבר הרקורסיבי בהיררכיית קבוצות המוצרים.

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. אחרי שיוצרים את ShoppingAdGroup, אפשר להשתמש בשיטה createRootProductGroup כדי ליצור היררכיה חדשה של קבוצות מוצרים.

דוחות

סקריפטים של Google Ads תומכים בדוחות product_group_view וshopping_performance_view כדי לעזור לכם לעקוב אחרי הביצועים של קמפיינים לשופינג. מידע נוסף על דיווח זמין במדריך הדוחות.