Typowe problemy

To jest kompilacja najczęstszych problemów zgłaszanych na forum skryptów Google Ads.

Typowe błędy JavaScriptu

Skrypt ulega awarii i pojawia się „Nie można znaleźć funkcji: FUNCTION_NAME”

Zwykle jest to wynikiem błędnej pisowni nazwy funkcji w skrypcie.

  1. Sprawdź, czy nazwa funkcji została zapisana poprawnie i czy ma prawidłową wielkość liter, np. AdsApp.keywordz() spowoduje ten błąd, ponieważ keywordz nie jest prawidłową funkcją klasy AdsApp. Działanie AdsApp.Keywords() nie powiedzie się również z powodu nieprawidłowej pisowni funkcji keywords().

  2. Sprawdź, czy funkcja istnieje; np. AdsApp.keywords().next() zakończy się niepowodzeniem, ponieważ AdsApp.keywords() zwraca KeywordSelector, a next() jest metodą dla obiektuKeywordIterator. Prawidłowy kod to AdsApp.keywords().get().next().

Skrypt działa, ale nic nie robi

Najczęstszą przyczyną tego problemu jest to, że funkcja wykonuje operację, ale nie wywołuje jej metody main(). Zwykle dzieje się tak, gdy kopiujesz i wklejasz fragmenty kodu z naszej dokumentacji.

Metoda kodowania Fragment kodu
Wersja 1 (nie działa)
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());
  }
}
Wersja 2 (nie działa)
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());
    }
  }
}
Wersja 3 (działa)
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());
  }
}

Podczas uaktualniania skryptów występuje błąd „Nie można znaleźć funkcji getFinalUrl”

Ten błąd może pojawić się przy zmianie skryptu, by działał z ulepszonymi adresami URL. Dzieje się tak, gdy zastępujesz wywołania funkcji ad.getDestinationUrl() przez ad.getFinalUrl(). getFinalUrl() jest częścią klasy AdUrls, więc musisz zmienić swój kod na 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();
}

Nie widzę statystyk dla X

Niedostępność danych dla określonego elementu lub zakresu dat to częsty błąd, na który możesz natrafić podczas generowania raportów lub wywoływania statystyk. Możesz wypróbować kilka rozwiązań:

  1. Sprawdź zakres dat, dla którego pobierasz statystyki lub generujesz raporty.

  2. Jeśli pobierzesz statystyki na poziomie konta dla skryptu menedżera Google Ads, który zarządza kontami o różnych walutach, otrzymasz koszt w walucie ustawionej na koncie menedżera.

  3. W Google Ads może nie być jeszcze danych, których szukasz. Więcej informacji znajdziesz w naszym przewodniku po częstotliwości aktualizacji danych.

Prośby o dodanie funkcji.

Czy funkcja X jest dostępna?

Więcej informacji znajdziesz w dokumentacji referencyjnej.

Kiedy funkcja X będzie dostępna?

Najpierw staramy się pracować nad funkcjami, o które prosisz najczęściej. Jeśli chcesz zobaczyć dostępną funkcję, wykonaj te czynności:

  1. Najpierw sprawdź w dokumentacji referencyjnej, czy ta funkcja nie jest obsługiwana w skryptach Google Ads.

  2. Jeśli nie jest dostępne, poszukaj informacji na forum skryptów Google Ads, by sprawdzić, czy ktoś już o niego pytał. Jeśli tak, oddaj głos za ten wątek lub napisz komentarz, jeśli chcesz podać więcej szczegółów, np. o przypadku użycia.

  3. Jeśli prośba o dodanie tej funkcji nie została jeszcze wysłana, możesz to zrobić, otwierając nowy wątek na forum skryptów Google Ads. Pamiętaj, aby przedstawić konkretny przypadek użycia, który rozwiąże ten problem. Jeśli to możliwe, podaj link do podręcznika w Centrum pomocy albo do posta na blogu lub poradnika poświęconego tej funkcji interfejsu API AdWords. Pomoże to innym programistom zatwierdzać prośbę o dodanie funkcji. Priorytet próśb o dodanie funkcji określamy na podstawie ich popularności.

  4. Oznacz posta jako „Prośba o dodanie funkcji”, by ułatwić nam (i użytkownikom) szybkie sprawdzanie próśb o dodanie funkcji.

Jak użyć funkcji X?

Przykłady korzystania z określonych funkcji znajdziesz w naszych fragmentach kodu i rozwiązaniach. Jeśli nie znajdziesz odpowiedniego fragmentu kodu, zgłoś prośbę na forum.