Selektory

Selektory pomagają programiście utworzyć zapytanie, które pobiera żądane encje Google Ads. Dzięki selektorom można zawęzić listę pobranych encji i uporządkować ją. Większość selektorów ma te metody:

withCondition()
Dodaje warunek do selektora. Jeśli używasz kilku warunków, są one łączone za pomocą operatora AND, co oznacza, że selektor zwróci tylko encje, które spełniają wszystkie określone warunki.
withIds()
Dodaje zbiór identyfikatorów jako warunek. Warunek oparty na identyfikatorze zostanie połączony za pomocą operatora AND ze wszystkimi innymi warunkami.
forDateRange()
Jest potrzebna, gdy warunek lub klauzula porządkowania odwołuje się do pola statystyk, 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ć.
orderBy()
Określa kolejność zwracanych encji.
withLimit()
Ogranicza liczbę zwracanych encji do określonej wartości. Jest to szczególnie przydatne w połączeniu z metodą orderBy(), aby pobierać takie informacje 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 jego wartość.

Te metody można wywoływać w dowolnej kolejności. Wyjątkiem jest metoda orderBy(), w przypadku której kolejność wywołań ma znaczenie: wielokrotne wywołania tej metody określają wiele klauzul porządkowania, które będą stosowane w kolejności. Przyjrzyjmy się temu fragmentowi kodu:

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

Wyniki zostaną posortowane według liczby kliknięć w kolejności malejącej. Wyniki o równej liczbie kliknięć zostaną posortowane według współczynnika klikalności 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 metodę selector.get().

Więcej wskazówek i porad dotyczących efektywnego korzystania z selektorów znajdziesz w artykule Sprawdzone metody.