Exemplos de scripts para gerir anúncios
As secções seguintes mostram exemplos de scripts que efetuam várias ações em anúncios.
Nota
- Atualize os anúncios de texto expandidos para anúncios de pesquisa reativos até 1 de fevereiro de 2023. Após esta data, deixará de poder criar anúncios de texto expandido novos ou editar existentes. Para obter mais informações, consulte Acerca dos anúncios de pesquisa reativos.
- Os anúncios de texto expandido existentes continuarão a servir e poderá ver relatórios sobre o desempenho dos mesmos.
- Continuará a poder colocar em pausa, ativar ou remover os anúncios de texto expandidos. Caso contrário, as tentativas de adicionar ou atualizar anúncios de texto expandido resultarão num
CampaignServiceAdTypeInvalid
erro. - Saiba mais sobre esta alteração.
Adicionar anúncios
Para adicionar um anúncio, obtenha primeiro o grupo de anúncios ao qual pretende adicionar o anúncio. Utilize o objeto AdGroupSelector para selecionar o grupo de anúncios. A utilização do withIds
método proporciona um melhor desempenho do que transmitir o nome do grupo de anúncios no withCondition
método .
Em seguida, chame o método newAd do grupo de anúncios para obter um construtor que utiliza para especificar as propriedades do anúncio. Ao contrário de outros tipos de entidade, o newAd
método devolve um objeto AdBuilderSpace que contém métodos para obter o construtor para o tipo de anúncio que pretende criar. Este exemplo adiciona um anúncio de texto expandido, pelo que chama o expandedTextAdBuilder
método para obter um construtor de anúncios de texto expandido.
Para anúncios de texto expandido, tem de especificar as seguintes propriedades:
- Descrição
- FinalUrl
- HeadlinePart1
- HeadlinePart2
A combinação destas propriedades define exclusivamente um anúncio de texto expandido. As outras propriedades são opcionais.
Chamar o método do build
construtor cria o anúncio de forma assíncrona; Os scripts adicionam o anúncio em algum momento antes de o script terminar ou se chamar um dos métodos da operação de compilação. Para obter informações sobre este processo, consulte O que é um construtor?
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;
}
}
Se existir um anúncio adicionado anteriormente com os mesmos valores para a combinação de campos necessários, o serviço não adiciona o anúncio, mas devolve o ID e o anúncio adicionados anteriormente. No entanto, se os mesmos anúncios forem processados na mesma fila de compilação, o segundo anúncio falhará com CampaignServiceDuplicateAd. Por exemplo, uma vez que os anúncios no exemplo seguinte são os mesmos, um deles falha.
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);
}
}
}
}
Obter anúncios
Tem várias opções para obter anúncios consoante a sua localização na hierarquia.
Obter anúncios de um grupo de anúncios
Se tiver um objeto AdGroup , chame o método do ads
objeto para obter a lista de anúncios que pertencem ao grupo de anúncios. Este exemplo obtém e imprime todos os anúncios no grupo, mas pode utilizar os métodos do seletor de anúncios para filtrar a lista de anúncios.
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();
}
}
}
}
Obter anúncios de uma campanha
Se tiver um objeto Campanha , chame o método do ads
objeto para obter a lista de anúncios que pertencem aos grupos de anúncios na campanha. Este exemplo utiliza o método do seletor de withCondition
anúncios para filtrar a lista de anúncios para aqueles em grupos de anúncios que contêm o nome 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();
}
}
}
}
Obter todos os anúncios na conta
Para obter todos os anúncios numa conta, chame o ads
método no objeto AdsApp . Pode utilizar os métodos do seletor de anúncios para filtrar a lista de anúncios para campanhas, grupos de anúncios ou com base no desempenho de anúncios. Este exemplo obtém todos os anúncios da conta.
function main() {
var ads = AdsApp.ads().get();
while (ads.hasNext()) {
var ad = ads.next();
if (ad.isType().expandedTextAd()) {
var expandedAd = ad.asType().expandedTextAd();
}
}
}
Colocar um anúncio em pausa
Para colocar um anúncio em pausa, chame o método do pause
anúncio. Uma vez que o pause
método está no objeto base do Ad , não precisa de obter primeiro o objeto derivado.
Se quiser ativar ou remover um anúncio, basta chamar o anúncio ou remove
métodoenable
. Para verificar se o anúncio está ativado ou em pausa, chame o isEnabled
método ou isPaused
.
Para obter anúncios com um estado específico, utilize o método do seletor de withCondition
anúncios. Por exemplo, 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();
}
}
Obter anúncios desaprovados
Para obter um exemplo que obtém anúncios desaprovados, veja Discover disapproved ads (Descobrir anúncios desaprovados).