Typowe problemy

To zestawienie typowych problemów zgłaszanych przez deweloperów skryptów Google Ads.

Typowe błędy JavaScript

Oto kilka typowych błędów JavaScript.

Skrypt kończy się niepowodzeniem z powodu błędu „Cannot find function: FUNCTION_NAME” (Nie można znaleźć funkcji: NAZWA_FUNKCJI)

Zwykle jest to spowodowane błędną nazwą funkcji w skrypcie.

  1. Sprawdź, czy nazwa funkcji jest poprawna i czy używasz odpowiednich wielkich i małych liter. Na przykład AdsApp.keywordz() spowoduje ten błąd, ponieważ keywordz nie jest prawidłową funkcją w AdsApp. Skrypt AdsApp.Keywords() też się nie powiedzie z powodu nieprawidłowej wielkości liter w funkcji keywords().

  2. Sprawdź, czy funkcja istnieje. Na przykład AdsApp.keywords().next() się nie powiedzie ponieważ AdsApp.keywords() zwraca KeywordSelector a next() jest metodą obiektu KeywordIterator. Prawidłowy kod to AdsApp.keywords().get().next().

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

Najczęstszym powodem tego problemu jest to, że masz funkcję, która wykonuje operację, ale nie wywołujesz jej z metody main(). Zwykle dzieje się tak, gdy kopiujesz i wklejasz fragmenty kodu z naszej dokumentacji.

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

Podczas uaktualniania skryptów pojawia się błąd „Cannot find function getFinalUrl” (Nie można znaleźć funkcji getFinalUrl)

Ten błąd może wystąpić, gdy zmieniasz skrypt, aby działał z uaktualnionymi adresami URL. Dzieje się tak gdy zastępujesz wywołania ad.getDestinationUrl() wywołaniami ad.getFinalUrl(). getFinalUrl() jest częścią klasy AdUrls, więc musisz zmienić 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

Brak danych dotyczących konkretnego elementu lub zakresu dat to częsty błąd, który może wystąpić podczas generowania raportów lub wywoływania statystyk. Możesz spróbować wykonać te czynności:

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

  2. Jeśli pobierasz statystyki na poziomie konta w skrypcie Ads Managera, który zarządza kontami w różnych walutach, otrzymasz koszt w walucie konta menedżera.

  3. Google Ads mogą jeszcze nie mieć danych, których szukasz. Szczegółowe informacje znajdziesz w przewodniku po częstotliwości aktualizacji danych.

Jak korzystać z funkcji X?

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

Nadal potrzebujesz pomocy?

Jeśli potrzebujesz pomocy w obszarze, w którym możemy Ci pomóc, odwiedź stronę Uzyskaj pomoc.