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.