בעיות נפוצות

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

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

ריכזנו כאן כמה שגיאות JavaScript נפוצות.

הסקריפט נכשל עם השגיאה "Cannot find function: 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 getCampaigns is missing, so this script does nothing.
}

function getCampaigns() {
  // AdsApp.campaigns() will return all Search and Display 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 getCampaigns is missing, so this script does nothing.

  function getCampaigns() {
    // AdsApp.campaigns() will return all Search and Display 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() {
  getCampaigns();
}

function getCampaigns() {
  // AdsApp.campaigns() will return all Search and Display 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());
  }
}

מוצגת לי השגיאה "Cannot find function 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?

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

עדיין צריכים עזרה?

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