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

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

איך עוברים על היררכיית קבוצות המוצרים

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

הסקריפטים יבטחו שההיררכיה של קבוצות המוצרים תהיה במצב עקבי אחרי יצירת כל קבוצת מוצרים, כך שלא תצטרכו ליצור או למחוק את קבוצת המוצרים שתואם לאפשרות 'כל השאר' כשאתם מעדכנים את המבנה של היררכיית קבוצות המוצרים.

קבוצת המוצרים 'כל השאר'

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