Seletores

Os seletores ajudam o programador a construir a consulta que coleta as entidades desejadas 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 várias condições forem usadas, elas serão unidas por AND. Em outras palavras, o seletor retornará apenas entidades que atendam a todas as condições especificadas.
withIds()
Adiciona uma coleção de IDs como uma condição. Uma condição com base em ID vai ser associada a todas as outras.
forDateRange()
É necessária quando uma cláusula de condição ou de classificação faz referência a um campo de estatísticas, como CTR ou impressões. Se você solicitar todas as campanhas com mais de cem impressões, os scripts do Google Ads vão precisar saber o período a ser investigado.
orderBy()
Especifica a ordem das entidades retornadas.
withLimit()
Limita o número de entidades retornadas ao valor especificado. Ele é útil principalmente em conjunto com orderBy() para buscar itens como "10 palavras-chave com mais impressões ontem". Por padrão, todos os seletores definem o limite como 50.000. Você pode aumentar o limite especificando manualmente um limite.

Esses métodos podem ser chamados em qualquer ordem. Uma exceção é orderBy(), em que a ordem das chamadas realmente importa: várias chamadas para esse método especificarão várias cláusulas de ordenação, que serão aplicadas em ordem. Veja o snippet a seguir:

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 classificados 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 for criado, será possível conseguir um Iterator dele chamando selector.get().

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