הבלוג שלנו

סקריפטים של AdWords ו-Ad Parameters

'Gilad Sasson'
10 ביולי 2017
זמן קריאה: 2 דקות

סקריפטים של AdWords מאפשרים לשלוט באופן תכנותי בנתוני AdWords באמצעות JavaScript פשוט ב- IDE מבוסס דפדפן.
תוכל להשתמש בסקריפטים כדי להפוך את משימות יום יומיות לאוטומטיות או לקבל נתונים ממקור חיצוני (API) – עבור חשבונות AdWords רבים.
דרושה רק היכרות ברמה בסיסית עם JavaScript. ה- IDE מסייע בהדגשת תחביר, בהשלמה אוטומטית ובתצוגה מקדימה.

אחד הלקוחות שלנו מוכר מוצר שמחירו יכול להתעדכן בתדירות גבוהה בהתאם לתנאים שונים. נתקלנו בצורך לעדכן את המחירים במודעה מדי שעה מול ה- API שלו.
בפוסט זה נדבר על הפתרון שהשתמשנו למטרה זו, פרמטרים של מודעות (Ad parameters) שמאפשרים לעדכן באופן דינמי מידע מספרי במודעה מבלי לשלוח מחדש את המודעה לבדיקה ולאישור. זה דומה להכנסה של מילות מפתח, שבהן הסימונים בתוך המודעה מתעדכנים כאשר הם מוצגים.

את ה- IDE לכתיבת הסקריפטים אפשר למצוא כאן:

adwords-scripts-ide

בואו נתחיל:

השלב הראשון היה לקבל את אובייקט הקמפיין:

var campaign = AdWordsApp.campaigns().withCondition("Name = '" + CAMPAIGN + "'");

השלב השני לבנות Iterator שישלוף את כל המודעות שמכילות את התווית ושבהם אנחנו רוצים לבצע את השינוי.

var adsIterator = campaign.ads().withCondition('LabelNames CONTAINS_ANY ["LABEL_NAME"]').get();

השלב השלישי לגשת ל- API החיצוני ולקבל את הנתונים שלנו, אם קצת עריכה אפשר להוסיף פרמטרים לבקשה

var response = UrlFetchApp.fetch( fetchUrl );
response = response.getContentText();
var data = JSON.parse(response);

לאחר קריאה של ה- API התברר שהמבנה קצת מוזר, שלי לפחות לא היה ברור:
המתודה לביצוע החלפת הפרמטר במודעה שייכת ל- class שמייצג את מילות מפתח במודעה.
לכן בתוך ה- Iterator שלנו, נעבור בין מילות המפתח ששייכות לכל מודעה ואז נקרא לפעולת ההחלפה עם הנתונים שיש לנו מה- API

  var adGroup = ad.getAdGroup();

  var keywords = adGroup.keywords().get();
  while (keywords.hasNext()) {
    var keyword = keywords.next();
    keyword.setAdParam(1, data.price);
    keyword.setAdParam(2, data.tax);
  }

** חשוב **
שימו לב שיש לנו שני פרמטרים והם גם ממוספרים בהתאם, לכן בתוך גוף המודעה יהיה טקסט כזה לדוגמה:

עכשיו החל מ- ${param1:300} + {param2:400}$ מיסים

סוגריים מסולסלים – param והמספר שקבענו בסקריפט, נקודותיים ואז מספר ברירת מחדל שאיתו המודעה תתחיל.
דוגמה מופרדת: {param1:300} שווה לפרמטר data.price.

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

adwords-scripts-timing

בהצלחה.

מקורות:
https://developers.google.com/adwords/scripts/docs/your-first-script
https://developers.google.com/adwords/scripts/docs/features/ad-params