Los selectores ayudan al programador a construir la consulta que recupera las entidades de Google Ads deseadas. Con los selectores, se puede limitar la lista de entidades recuperadas y ordenarla. La mayoría de los selectores tienen los siguientes métodos:
withCondition()
- Agrega una condición a un selector. Si se usan varias condiciones, estas se unen con el operador Y. En otras palabras, el selector solo mostrará las entidades que cumplan con todas las condiciones especificadas.
withIds()
- Agrega una colección de ID como condición. Una condición basada en un ID se combinará con todas las demás.
forDateRange()
- es necesario cuando una condición o cláusula de orden hace referencia a un campo Stats, como CTR o Impresiones. Si solicitas todas las campañas con más de 100 impresiones, las secuencias de comandos de Google Ads necesitarán conocer el período que se debe analizar.
orderBy()
- Especifica el orden de las entidades que se muestran.
withLimit()
- Limita la cantidad de entidades que se muestran al valor especificado. Es particularmente útil en combinación con
orderBy()
para recuperar elementos como "10 palabras clave con la mayor cantidad de impresiones ayer". De forma predeterminada, todos los selectores establecerán el límite en 50,000. Para aumentarlo, puedes especificarlo de forma manual.
Se puede llamar a estos métodos en cualquier orden. Una excepción es orderBy()
, en la que el orden de las llamadas es importante: varias llamadas a este método especificarán varias cláusulas de orden y se aplicarán en orden. Considera el siguiente fragmento:
selector = selector.forDateRange("LAST_14_DAYS")
.orderBy("metrics.clicks DESC")
.orderBy("metrics.ctr ASC");
Los resultados se ordenarán por clics en orden descendente. Los resultados con valores de clics iguales se ordenarán por CTR en orden ascendente.
Las llamadas a los métodos de un selector se pueden encadenar juntos. El siguiente código
var campaignSelector = AdsApp.campaigns();
campaignSelector.withCondition("metrics.clicks > 10");
campaignSelector.withCondition("metrics.impressions > 1000");
campaignSelector.orderBy("metrics.impressions DESC");
campaignSelector.forDateRange("YESTERDAY");
se puede reescribir de forma más compacta:
var campaignSelector = AdsApp.campaigns()
.withCondition("metrics.clicks > 10")
.withCondition("metrics.impressions > 1000")
.orderBy("metrics.impressions DESC")
.forDateRange("YESTERDAY");
Una vez que se construye el selector, se puede obtener un Iterator llamando a selector.get()
.
Lee las prácticas recomendadas para obtener sugerencias y trucos sobre el uso eficiente de los selectores.