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

סקריפטים של 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.

חזרה דרך ההיררכיה של קבוצת המוצרים

אפשר לגשת לרמה הבסיסית (root) של היררכיית קבוצות המוצרים באמצעות method rootProductGroup של ShoppingAdGroup. לאחר מכן אפשר להשתמש ב-method children כדי לחזור על קבוצות המוצרים הצאצאים ולעבור על ההיררכיה של קבוצות המוצרים. כל צומת הוא אובייקט ProductGroup, וניתן להשתמש ב-method getDimension כדי לברר מה הסוג בפועל של קבוצת המוצרים. ניתן גם להעביר (cast) אותו לסוג ספציפי יותר (למשל 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);
  }
}

עדכון היררכיה של קבוצת מוצרים

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

דוחות

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