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

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

אם אתם מתכננים לבצע פעולות רק בקבוצות ספציפיות של מודעות, אתם יכולים להשתמש ב-method 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, ואפשר להשתמש בשיטה 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. הגישה הזו פשוטה יותר מאשר מעבר על כל ההיררכיה של קבוצות המוצרים כשבוחרים קבוצות מוצרים ספציפיות למטרות ניהול הצעות מחיר. קטע הקוד הבא מראה איך לבחור את כל קבוצות המוצרים שקיבלו יותר מ-5 קליקים ושיעור הקליקים שלהן היה גבוה מ-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, אפשר להשתמש ב-method‏ createRootProductGroup כדי ליצור היררכיה חדשה של קבוצות מוצרים.

דוחות

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