Ejemplos de scripts para administrar anuncios
En las secciones siguientes se muestran ejemplos de scripts que realizan diversas acciones en los anuncios.
Nota:
- Actualiza tus anuncios de texto expandidos a anuncios de búsqueda adaptables antes del 1 de febrero de 2023. Después de esta fecha, ya no podrás crear anuncios de texto expandidos nuevos ni editarlos. Para obtener más información, consulte Acerca de los anuncios de búsqueda con capacidad de respuesta.
- Los anuncios de texto expandidos existentes seguirán publicándose y podrás ver informes sobre su rendimiento.
- Seguirás siendo capaz de pausar, habilitar o quitar tus anuncios de texto expandido. De lo contrario, los intentos de agregar o actualizar anuncios de texto expandido producirán un
CampaignServiceAdTypeInvalid
error. - Obtenga más información sobre este cambio.
Agregar anuncios
Para agregar un anuncio, primero obtén el grupo de anuncios al que quieres agregar el anuncio. Use el objeto AdGroupSelector para seleccionar el grupo de anuncios. El uso del withIds
método proporciona un mejor rendimiento que pasar el nombre del grupo de anuncios en el withCondition
método .
A continuación, llame al método newAd del grupo de anuncios para obtener un generador que use para especificar las propiedades del anuncio. A diferencia de otros tipos de entidad, el newAd
método devuelve un objeto AdBuilderSpace que contiene métodos para obtener el generador para el tipo de anuncio que desea crear. En este ejemplo se agrega un anuncio de texto expandido, por lo que llama al expandedTextAdBuilder
método para obtener un generador de anuncios de texto expandido.
Para los anuncios de texto expandido, debe especificar las siguientes propiedades:
- Descripción
- FinalUrl
- HeadlinePart1
- HeadlinePart2
La combinación de estas propiedades define de forma única un anuncio de texto expandido. Las otras propiedades son opcionales.
Al llamar al método del build
generador, se crea el anuncio de forma asincrónica; Los scripts agregan el anuncio en algún momento antes de que finalice el script o si llama a uno de los métodos de la operación de compilación. Para obtener información sobre este proceso, consulte ¿Qué es un generador?
function main() {
var adGroupId = "AD GROUP ID GOES HERE";
var adGroup = getAdGroup(adGroupId);
if (adGroup != null) {
// Get an expanded text ad builder, specify the ad's
// properties, and add the ad to the build queue.
var operation = adGroup.newAd().expandedTextAdBuilder()
.withDescription("AD COPY GOES HERE")
.withFinalUrl("https://contoso.com")
.withHeadlinePart1("AD TITLE PART 1 GOES HERE")
.withHeadlinePart2("AD TITLE PART 2 GOES HERE")
.build();
if (!operation.isSuccessful()) {
for (var error of operation.getErrors()) {
Logger.log(error);
}
}
}
else {
Logger.log(`Failed to get ad group, ${adGroupId}.`);
}
}
function getAdGroup(id) {
var adGroups = AdsApp.adGroups()
.withIds([id])
.get();
if (adGroups.hasNext()) {
return adGroups.next();
}
else {
return null;
}
}
Si existe un anuncio agregado anteriormente con los mismos valores para la combinación de campos obligatorios, el servicio no agrega el anuncio, sino que devuelve el anuncio y el identificador agregados anteriormente. Sin embargo, si los mismos anuncios se procesan en la misma cola de compilación, se produce un error en el segundo anuncio con CampaignServiceDuplicateAd. Por ejemplo, dado que los anuncios del ejemplo siguiente son los mismos, se produce un error en uno de ellos.
if (adGroup != null) {
var adOperation = adGroup.newAd().expandedTextAdBuilder()
.withDescription("ad copy")
.withFinalUrl("https://contoso.com")
.withHeadlinePart1("title part 1")
.withHeadlinePart2("title part 2")
.build();
operations.push(adOperation);
adOperation = adGroup.newAd().expandedTextAdBuilder()
.withDescription("ad copy")
.withFinalUrl("https://contoso.com")
.withHeadlinePart1("title part 1")
.withHeadlinePart2("title part 2")
.build();
operations.push(adOperation);
for (var operation of operations) {
if (!operation.isSuccessful()) {
for (var error of operation.getErrors()) {
Logger.log(error);
}
}
}
}
Obtener anuncios
Tiene varias opciones para obtener anuncios en función de dónde se encuentra en la jerarquía.
Obtener anuncios de un grupo de anuncios
Si tienes un objeto AdGroup , llama al método del ads
objeto para obtener la lista de anuncios que pertenecen al grupo de anuncios. En este ejemplo se obtienen e imprimen todos los anuncios del grupo, pero puedes usar los métodos del selector de anuncios para filtrar la lista de anuncios.
function main() {
var adGroups = AdsApp.adGroups()
.withIds(["AD GROUP ID GOES HERE"])
.get();
if (adGroups.hasNext()) {
var adGroup = adGroups.next();
var ads = adGroup.ads().get();
while (ads.hasNext()) {
var ad = ads.next();
if (ad.isType().expandedTextAd()) {
var expandedAd = ad.asType().expandedTextAd();
}
}
}
}
Obtener anuncios de una campaña
Si tienes un objeto Campaign , llama al método del ads
objeto para obtener la lista de anuncios que pertenecen a los grupos de anuncios de la campaña. En este ejemplo se usa el método del selector de withCondition
anuncios para filtrar la lista de anuncios a los de los grupos de anuncios que contienen el nombre foo.
function main() {
var campaigns = AdsApp.campaigns()
.withIds(["CAMPAIGN ID GOES HERE"])
.get();
while (campaigns.hasNext()) {
var campaign = campaigns.next();
var ads = campaign.ads()
.withCondition("AdGroupName CONTAINS_IGNORE_CASE 'foo'")
.get();
while (ads.hasNext()) {
var ad = ads.next();
if (ad.isType().expandedTextAd()) {
var expandedAd = ad.asType().expandedTextAd();
}
}
}
}
Obtener todos los anuncios de la cuenta
Para obtener todos los anuncios de una cuenta, llama al ads
método en el objeto AdsApp . Puedes usar los métodos del selector de anuncios para filtrar la lista de anuncios a campañas, grupos de anuncios o en función del rendimiento de los anuncios. En este ejemplo se obtienen todos los anuncios de la cuenta.
function main() {
var ads = AdsApp.ads().get();
while (ads.hasNext()) {
var ad = ads.next();
if (ad.isType().expandedTextAd()) {
var expandedAd = ad.asType().expandedTextAd();
}
}
}
Pausar un anuncio
Para pausar un anuncio, llame al método del pause
anuncio. Dado que el pause
método está en el objeto de Ad base, no es necesario obtener primero el objeto derivado.
Si quieres habilitar o quitar un anuncio, solo tienes que llamar al método o remove
del enable
anuncio. Para comprobar si el anuncio está habilitado o en pausa, llame al isEnabled
método o isPaused
.
Para obtener anuncios con un estado específico, usa el método del selector de withCondition
anuncios. Por ejemplo, withCondition("Status = PAUSED)
.
function main() {
var ads = AdsApp.ads()
.forDateRange("LAST_WEEK")
.withCondition("AdGroupName CONTAINS_IGNORE_CASE 'foo'")
.withCondition('Status = ENABLED')
.withCondition('Clicks < 5')
.get();
while (ads.hasNext()) {
var ad = ads.next();
ad.pause();
}
}
Obtener anuncios no aprobados
Para ver un ejemplo en el que se desaproben los anuncios, consulta Descubrir anuncios no aprobados.