Seletores

Os seletores ajudam o programador a criar a consulta que busca as entidades solicitadas do Google Ads. Com eles, é possível restringir a lista de entidades recuperadas e classificá-la. A maioria dos seletores usa os seguintes métodos:

withCondition()
Adiciona uma condição a um seletor. Se forem usadas várias condições, elas serão combinadas com um operador AND. Em outras palavras, o seletor só vai retornar entidades que atendam a todas as condições especificadas.
withIds()
Adiciona uma coleção de IDs como uma condição. Uma condição baseada em ID será combinada com todas as outras usando o operador AND.
forDateRange()
É necessário quando uma condição ou cláusula de ordenação faz referência a um campo Estatísticas, como CTR ou impressões. Se você solicitar todas as campanhas com mais de 100 impressões, os scripts do Google Ads precisarão saber o período para analisar.
orderBy()
Especifica a ordem das entidades retornadas.
withLimit()
Limita o número de entidades retornadas ao valor especificado. Ele é especialmente útil em conjunto com orderBy() para buscar informações como "10 palavras-chave com mais impressões ontem". Por padrão, todos os seletores definem o limite como 50.000. É possível aumentar o limite especificando um valor manualmente.

Esses métodos podem ser chamados em qualquer ordem. Uma exceção é orderBy(), em que a ordem das chamadas é importante: várias chamadas para esse método especificam várias cláusulas de ordenação, que são aplicadas em ordem. Considere o seguinte snippet:

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

Os resultados serão classificados por cliques em ordem decrescente. Os resultados com valores de cliques iguais serão ordenados por CTR em ordem crescente.

As chamadas para os métodos de um seletor podem ser associadas. O código a seguir

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

pode ser reescrito de uma forma mais compacta:

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

Depois que o seletor é construído, é possível obter um Iterator dele chamando selector.get().

Leia as práticas recomendadas para dicas e truques sobre o uso eficiente de seletores.