מזהים

רוב הישויות ב-Google Ads חושפות שיטת getId() שמחזירה את המזהה שלהן. ברוב המקרים לא חייבים להשתמש במזהים, אבל הם יכולים להיות שימושיים כשרוצים:

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

שליפה לפי מזהים היא לרוב מהירה יותר מאפשרויות אחרות. גם הקוד לאחזור ישות אחת קצת יותר פשוט:

let campaigns = AdsApp.campaigns()
   .withIds([678678])
   .get();
// versus
let campaigns = AdsApp.campaigns()
   .withCondition("Name='My Campaign'")
   .get();

ייחודיות

מזהי הקמפיינים ומזהי קבוצות המודעות הם ייחודיים: אף שני קמפיינים או שתי קבוצות של מודעות לא יכולים לחלוק את אותו המזהה. לעומת זאת, למודעות ולמילות מפתח יש מזהים מורכבים: מזהה ייחודי של מילת מפתח הוא שילוב של מזהה קבוצת המודעות ומזהה של מילת המפתח. באופן דומה, מזהה ייחודי של מודעה הוא שילוב של מזהה קבוצת המודעות ומזהה המודעה. יש לכך השלכות על האופן שבו מתבצעת הקריאה ל-selector.withIds().

בקמפיינים ובקבוצות של מודעות, הפונקציה selector.withIds() מצפה למערך של מספרים:

let ids = [123123, 234234, 345345];
let campaignSelector = AdsApp.campaigns().withIds(ids);

לעומת זאת, עבור מודעות ומילות מפתח, הפונקציה selector.withIds() צריכה מערך של מערכים עם שני רכיבים, כשהרכיב הראשון הוא המזהה של קבוצת המודעות. קטע הקוד הבא מאחזר שלוש מילות מפתח מקבוצת מודעות:

let adGroupId = 123123;
let keywordSelector = AdsApp.keywords().withIds([
    [adGroupId, 234234],
    [adGroupId, 345345],
    [adGroupId, 456456]
]);

אותו מבנה חל גם על שליפת מודעות.

מזהים זמניים

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

let nextId = -1;

function getNextTempId() {
    const ret = nextId;
    nextId -= 1;
    return ret;
}

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

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