בעיות נפוצות

זהו אוסף של הבעיות הנפוצות ביותר שהועלו בפורום הסקריפטים של Google Ads.

שגיאות JavaScript נפוצות

הסקריפט נכשל עקב "לא ניתן למצוא את הפונקציה: FUNCTION_NAME"

לרוב זו תוצאה של שגיאת איות בשם פונקציה בסקריפט.

  1. כדאי לבדוק שהשם של הפונקציה מאוית נכון ושהאיות שלו נכון. למשל, AdsApp.keywordz() תוביל לשגיאה הזו, כי keywordz היא לא פונקציה חוקית במחלקה AdsApp. הפונקציה AdsApp.Keywords() תיכשל גם בגלל שגיאת איות של הפונקציה keywords().

  2. בודקים שהפונקציה קיימת. לדוגמה, הפונקציה AdsApp.keywords().next() תיכשל כי AdsApp.keywords() מחזירה KeywordSelector בזמן ש-next() היא שיטה לאובייקט KeywordIterator. הקוד הנכון יהיה AdsApp.keywords().get().next().

הסקריפט פועל אבל לא עושה דבר

הסיבה הנפוצה ביותר לבעיה הזו היא שיש פונקציה שמבצעת פעולה, אבל לא מתבצעת קריאה ממנה מ-method main(). זה קורה בדרך כלל כשמעתיקים ומדביקים קטעי קוד מהמסמכים שלנו.

גישת תכנות קטע קוד
גרסה 1 (לא פועלת)
function main() {
  // Call to getAllCampaigns is missing, so this script does nothing.
}

function getAllCampaigns() {
  // AdsApp.campaigns() will return all campaigns that are not
  // removed by default.
  let campaignIterator = AdsApp.campaigns().get();
  console.log('Total campaigns found : ' +
      campaignIterator.totalNumEntities());
  while (campaignIterator.hasNext()) {
    let campaign = campaignIterator.next();
    console.log(campaign.getName());
  }
}
גרסה 2 (לא עובדת)
function main() {
  // Call to getAllCampaigns is missing, so this script does nothing.

  function getAllCampaigns() {
    // AdsApp.campaigns() will return all campaigns that are not
    // removed by default.
    let campaignIterator = AdsApp.campaigns().get();
    console.log('Total campaigns found : ' +
        campaignIterator.totalNumEntities());
    while (campaignIterator.hasNext()) {
      let campaign = campaignIterator.next();
      console.log(campaign.getName());
    }
  }
}
גרסה 3 (פועלת)
function main() {
  getAllCampaigns();
}

function getAllCampaigns() {
  // AdsApp.campaigns() will return all campaigns that are not removed
  // by default.
  let campaignIterator = AdsApp.campaigns().get();
  console.log('Total campaigns found : ' +
      campaignIterator.totalNumEntities());
  while (campaignIterator.hasNext()) {
    let campaign = campaignIterator.next();
    Logger.log(campaign.getName());
  }
}

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

יכול להיות שתיתקלו בשגיאה הזו כשאתם משנים את הסקריפט כך שיפעל עם כתובות URL משודרגות, שמופיעים כשמחליפים קריאות ל-ad.getDestinationUrl() ב-ad.getFinalUrl(). getFinalUrl() הוא חלק מהמחלקה AdUrls, לכן צריך לשנות את הקוד ל-ad.urls().getFinalUrl():

function main() {
  // Incorrect snippet. getFinalUrl is not a member of the Ad class.
  let ad = AdsApp.ads().get().next();
  let url = ad.getFinalUrl();

  // Correct snippet.
  let ad = AdsApp.ads().get().next();
  let url = ad.urls().getFinalUrl();
}

לא קיבלתי נתונים סטטיסטיים עבור X

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

  1. בודקים את טווח התאריכים שעבורו אתם מאחזרים נתונים סטטיסטיים או מריצים דוחות.

  2. על ידי אחזור נתונים סטטיסטיים ברמת החשבון לסקריפט של מנהל Google Ads שמנהל חשבונות במטבעות שונים, העלות תופיע במטבע של חשבון הניהול.

  3. יכול להיות שב-Google Ads אין עדיין את הנתונים שאתם מחפשים. לפרטים נוספים, אפשר לעיין במדריך בנושא עדכניות הנתונים.

בקשות להוספת תכונות

האם תכונה X זמינה?

עיינו במסמכי התיעוד שלנו.

מתי התכונה X תהיה זמינה?

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

  1. קודם כול, כדאי לוודא שהתכונה לא נתמכת בסקריפטים של Google Ads, על ידי בדיקת מסמכי התיעוד.

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

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

  4. תייגו את הפוסט בתור 'בקשה להוספת תכונה' כדי שיהיה לנו (וגם למשתמשים) קל יותר לבדוק בקשות להוספת תכונות.

איך משתמשים בתכונה X?

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