Selektory

Selektory pomagają programistom utworzyć zapytanie, które pobierze odpowiednie elementy z Google Ads. Selektory pozwalają zawęzić listę pobranych elementów i ustalić ich kolejność. Większość selektorów ma te metody:

withCondition()
Dodaje warunek do selektora. Jeśli użyjesz kilku warunków, są one połączone operatorem ORAZ, czyli selektorem zwróci tylko te encje, które spełniają wszystkie określone warunki.
withIds()
Dodaje zbiór identyfikatorów jako warunek. Warunek oparty na identyfikatorze należy połączyć ze sobą operatorem ORAZ.
forDateRange()
Jest potrzebne, gdy warunek lub klauzula sortowania odwołuje się do pola Statystyki, np. do CTR lub Wyświetlenia. Jeśli zażądasz wszystkich kampanii z ponad 100 wyświetleniami, skrypty Google Ads będą musiały znać zakres dat, by je przeanalizować.
orderBy()
Określa kolejność zwracanych elementów.
withLimit()
Ogranicza liczbę zwróconych encji do określonej wartości. Jest on szczególnie przydatny w połączeniu z funkcją orderBy(), ponieważ pozwala pobierać np. „10 słów kluczowych z największą liczbą wyświetleń wczoraj”. Domyślnie wszystkie selektory ustawiają limit na 50 tys. Możesz zwiększyć limit, określając go ręcznie.

Metody te mogą być wywoływane w dowolnej kolejności. Jedynym wyjątkiem jest orderBy(), gdzie kolejność wywołań rzeczywiście ma znaczenie: wiele wywołań tej metody określa wiele klauzul kolejności, które są stosowane w tej samej kolejności. Weźmy pod uwagę ten fragment 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 z równymi wartościami kliknięć zostaną uporządkowane według współczynnika klikalności w kolejności rosnącej.

Wywołania metod selektora mogą być łączone w łańcuch. 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 je napisać ponownie 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 selector.get().

Przeczytaj Sprawdzone metody, aby uzyskać wskazówki i porady dotyczące efektywnego korzystania z selektorów.