Selektory

Selektory pomagają programiście tworzyć zapytania, które pobierają żądane jednostki Google Ads. Selektory umożliwiają zawężenie listy pobranych encji i uporządkowanie jej. Większość selektorów ma te metody:

withCondition()
Dodaje warunek do selektora. Jeśli używasz wielu warunków, są one połączone operatorem logicznym „i”, co oznacza, że selektor zwróci tylko te jednostki, które spełniają wszystkie określone warunki.
withIds()
Dodaje kolekcję identyfikatorów jako warunek. Warunek oparty na identyfikatorze zostanie połączony operatorem AND ze wszystkimi pozostałymi warunkami.
forDateRange()
Jest wymagana, gdy warunek lub klauzula porządkowania odwołuje się do pola Statystyki, np. CTR lub Wyświetlenia. Jeśli poprosisz o wszystkie kampanie z ponad 100 wyświetleniami, skrypty Google Ads będą musiały znać zakres dat, w którym mają szukać informacji.
orderBy()
Określa kolejność zwracanych jednostek.
withLimit()
Ogranicza liczbę zwracanych jednostek do określonej wartości. Jest to szczególnie przydatne w połączeniu z orderBy(), aby pobierać informacje takie jak „10 słów kluczowych z największą liczbą wyświetleń wczoraj”. Domyślnie wszystkie selektory ustawiają limit na 50 000. Możesz zwiększyć limit, ręcznie określając go.

Metody te można wywoływać w dowolnej kolejności. Jedynym wyjątkiem jest orderBy(), w przypadku którego kolejność wywołań ma znaczenie: wielokrotne wywołania tej metody będą określać wiele klauzul porządkujących, które będą stosowane w kolejności. Rozważmy ten fragment kodu:

selector = selector.forDateRange("LAST_14_DAYS")
    .orderBy("metrics.clicks DESC")
    .orderBy("metrics.ctr ASC");

Wyniki zostaną posortowane malejąco według liczby kliknięć. Wyniki o równej liczbie kliknięć zostaną posortowane według CTR w kolejności rosnącej.

Wywołania metod selektora można łączyć w łańcuchy. Ten kod

var campaignSelector = AdsApp.campaigns();
campaignSelector.withCondition("metrics.clicks > 10");
campaignSelector.withCondition("metrics.impressions > 1000");
campaignSelector.orderBy("metrics.impressions DESC");
campaignSelector.forDateRange("YESTERDAY");

można zapisać w bardziej zwięzły sposób:

var campaignSelector = AdsApp.campaigns()
  .withCondition("metrics.clicks > 10")
  .withCondition("metrics.impressions > 1000")
  .orderBy("metrics.impressions DESC")
  .forDateRange("YESTERDAY");

Po utworzeniu selektora można uzyskać z niego iterator, wywołując funkcję selector.get().

Zapoznaj się ze sprawdzonymi metodami, aby poznać wskazówki i triki dotyczące efektywnego używania selektorów.