Typowe problemy

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

Typowe błędy JavaScriptu

„Nie można znaleźć funkcji: FUNCTION_NAME” w skrypcie występuje błąd.

Jest to zwykle wynikiem błędnej nazwy funkcji w skrypcie.

  1. Sprawdź, czy nazwa funkcji jest poprawnie napisana i czy ma prawidłową wielkość liter, np. AdsApp.keywordz() spowoduje ten błąd, ponieważ keywordz nie jest prawidłową funkcją w klasie AdsApp. Działanie AdsApp.Keywords() zakończy się też niepowodzeniem z powodu nieprawidłowej pisowni liter w funkcji keywords().

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

Mój skrypt działa, ale nic nie robi

Najczęstszą przyczyną tego problemu jest to, że masz funkcję, która wykonuje operację, ale nie wywołuje jej za pomocą 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 pojawia się błąd „Nie można znaleźć funkcji getFinalUrl”

Ten błąd może wystąpić podczas zmieniania skryptu tak, by obsługiwał ulepszone adresy URL. Dzieje się tak, gdy zastępujesz wywołania ad.getDestinationUrl() ciągiem 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 mam statystyk dla X

Częstym błędem popełnianym podczas generowania raportów lub wywoływania statystyk jest niedostępność danych dla określonego elementu lub zakresu dat. Możesz spróbować na kilka sposobów:

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

  2. Jeśli pobierzesz statystyki na poziomie konta w przypadku skryptu Menedżera reklam, który zarządza kontami w różnych walutach, otrzymasz zwrot w walucie konta menedżera.

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

Prośby o dodanie funkcji.

Czy funkcja X jest dostępna?

Zapoznaj się z dokumentacją referencyjną.

Kiedy funkcja X będzie dostępna?

W pierwszej kolejności staramy się pracować nad funkcjami, o które prosisz najwięcej użytkowników. Jeśli chcesz użyć jakiejś funkcji, 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, poszukaj go na forum skryptów Google Ads, aby zobaczyć, czy nie ma już tej odpowiedzi. Jeśli tak, zagłosuj w tym wątku lub zostaw komentarz, jeśli chcesz podać dodatkowe szczegóły, np. przypadek użycia.

  3. Jeśli nie zgłoszono jeszcze prośby o dodanie funkcji, zgłoś ją w nowym wątku na forum skryptów Google Ads. Podaj przypadek użycia, który rozwiąże tę funkcję. Jeśli to możliwe, dodaj link do przewodnika w Centrum pomocy lub do posta na blogu / przewodnika po interfejsie API AdWords, w którym opisano tę funkcję. Pomoże to innym deweloperom w głosowaniu za prośbą o dodanie funkcji. Prośby o dodanie funkcji traktujemy priorytetowo na podstawie ich popularności.

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

Jak korzystać z funkcji X?

Przykłady użycia danej funkcji znajdziesz w naszych fragmentach kodu i rozwiązaniach. Jeśli nie znajdziesz odpowiedniego fragmentu kodu, możesz poprosić o nie na forum.