Los selectores ayudan al programador a construir la consulta que recupera las entidades solicitadas de Google Ads. Con los selectores, se puede reducir 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, se combinan con el operador AND. En otras palabras, el selector solo mostrará las entidades que satisfagan todas las condiciones especificadas.
withIds()- Agrega una colección de IDs como una condición. Una condición basada en el ID se combinará con el operador AND con todas las demás.
forDateRange()- Es necesario cuando una condición o una cláusula de ordenamiento hace referencia a un campo de estadísticas, como Ctr o Impresiones. Si solicitas todas las campañas con más de 100 impresiones, las secuencias de comandos de Google Ads deberán conocer el período que se debe consultar.
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 junto con
orderBy()para recuperar elementos como "10 palabras clave con más impresiones ayer". De forma predeterminada, todos los selectores establecerán el límite en 50,000. Puedes aumentar el límite especificándolo 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 sí importa: varias llamadas a este método especificarán varias cláusulas de ordenamiento, 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. 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 volver a escribir de una manera 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
iterador llamando a
selector.get().
Consulta Prácticas recomendadas para obtener sugerencias y trucos sobre el uso eficiente de los selectores.