נכסים

לפני שיוצרים קמפיין ליצירת ביקוש, חשוב לייבא את כל הנכסים שמתכננים להשתמש בהם בקמפיין. תמיד אפשר לחזור ולהוסיף נכסים מאוחר יותר, אבל צריך קבוצה של נכסים כדי להתחיל.

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

נכסי תמונות ונכסי וידאו הם סוגי הנכסים העיקריים, ובמדריך הזה נסביר איך להעלות כל אחד מהם. אפשר להחיל את העקרונות האלה גם על סוגי נכסים אחרים. לא משנה איזה סוג נכס אתם יוצרים, אתם יכולים להשתמש ב-AssetOperation כדי ליצור אותו.

אפשר ליצור נכסים באמצעות AdsApp בלי להשתמש ב-mutate, אבל כדי לשמור על עקביות, במדריך הזה אנחנו עושים את זה באותו אופן כמו כל שאר הפעולות. חשוב לזכור שאפשר ומומלץ לעשות שימוש חוזר בנכסים קיימים אם כבר יש לכם כאלה. לכן, למרות שאתם חייבים שיהיו לכם נכסים כדי ליצור קמפיין ליצירת ביקוש, יכול להיות שלא תצטרכו ליצור אותם כחלק מתהליך יצירת הקמפיין.

נכסי תמונות

נכסי תמונות מועלים בפורמט מקודד ב-base-64. אי אפשר להעלות תמונות ישירות לסקריפטים של Google Ads, ולכן יש שתי גישות שונות להשגת נתוני התמונה וקידוד שלהם לצורך ההעלאה.

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

const file = DriveApp.getFileById(fileId);
const imageAsset =  {
  "assetOperation": {
    "create": {
      "resourceName": `customers/${customerId}/assets/${getNextTempId()}`,
      "name": "Marketing Logo",
      "type": "IMAGE",
      "imageAsset": {
        "data": Utilities.base64Encode(file.getBlob().getBytes())
      }
    }
  }
}

אפשר גם לאחזר תמונה שמתארחת בשרת אינטרנט לפי כתובת ה-URL שלה באמצעות UrlFetchApp:

const file = UrlFetchApp.fetch(imageUrl);

אחרי זה אפשר לקרוא לפונקציה getBlob בקובץ הזה בדיוק כמו בקובץ ב-Drive, כך שהפעולה זהה לשלבים של קובץ ב-Google Drive.

נכסי וידאו

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

const videoAsset = {
  "assetOperation": {
    "create": {
      "resourceName": `customers/${customerId}/assets/${getNextTempId()}`,
      "name": "Marketing video",
      "type": "YOUTUBE_VIDEO",
      "youtube_video_asset": {
        "youtube_video_title": "Demand Gen video",
        "youtube_video_id": "123456789"
      }
    }
  }
}
operations.push(videoAsset);