AdWords
145 Usuários online agora
145 Usuários online agora
Guie-me
star_border
Responder

Dúvida de Scripts

[ Editado ]
Calouro ✭ ✭

Olá galera, tudo bem?

 Estou desenvolvendo um script para minha agência, porem estou com um pequeno problema, estou tentando adicionar todas as palavras chaves ativas em uma planilha, até ai beleza, só que quero excluir as palavras chaves ativas em grupos de anúncios pausados EX:
 
 
Palavras-chave     status       grupo de anuncio   status do grupo de anuncio
Google                 ativa           Google ADS                Ativo
Adwords              ativa           Ads for Google            Pausado                              <-não quero
 
Neste caso nao queria pegar a palavra chave ativa do grupo de anúncios pausados, já tentei
 
if(AdWordsApp.campaigns().withCondition("Stats = ENABLED")){
if(AdWordsApp.adGroups().withCondition("Status = ENABLED")){
 
para criar duas condições mas não rolou, alguma tem uma dica?
Especialistas responderamverified_user

Soluções aceitas
Marcado como Melhor Resposta.
Solução
Aceita pelo autor do tópico Samuel C
Setembro 2015

Re: Dúvida de Scripts

Estudante ✭ ✭ ✭
Boa tarde Samuel, como diria Jack, o Estripador: Vamos por partes huehuehuebrbr.
Primeiro se deve pegar todas as campanhas e grupos ativos:
var agIter = AdWordsApp.adGroups()
.withCondition('CampaignStatus = ENABLED')
.withCondition('Status = ENABLED')
.get();

Armazenar para agilizar o processo:
var toPause = [];

Passar por todos os grupos:
while(agIter.hasNext()) {
var ag = agIter.next();

Pegar todas as palavras ativas:
var kwIter = ag.keywords()
.withCondition("Status = ENABLED")
.get();

Se .hasNext() é verdadeiro, há pelo menos uma palavra ativa no grupo

var hasKw = kwIter.hasNext();
if(!hasKw) {
toPause.push(ag);
}
}

Depois vem o processamento:
for(var i in toPause) {
toPause[i].(comandos de exibição dos dados na planilha);
}
}

Abraço

Exibir solução no post original


Todas as respostas
Marcado como Melhor Resposta.
Solução
Aceita pelo autor do tópico Samuel C
Setembro 2015

Re: Dúvida de Scripts

Estudante ✭ ✭ ✭
Boa tarde Samuel, como diria Jack, o Estripador: Vamos por partes huehuehuebrbr.
Primeiro se deve pegar todas as campanhas e grupos ativos:
var agIter = AdWordsApp.adGroups()
.withCondition('CampaignStatus = ENABLED')
.withCondition('Status = ENABLED')
.get();

Armazenar para agilizar o processo:
var toPause = [];

Passar por todos os grupos:
while(agIter.hasNext()) {
var ag = agIter.next();

Pegar todas as palavras ativas:
var kwIter = ag.keywords()
.withCondition("Status = ENABLED")
.get();

Se .hasNext() é verdadeiro, há pelo menos uma palavra ativa no grupo

var hasKw = kwIter.hasNext();
if(!hasKw) {
toPause.push(ag);
}
}

Depois vem o processamento:
for(var i in toPause) {
toPause[i].(comandos de exibição dos dados na planilha);
}
}

Abraço

Re: Dúvida de Scripts

Principal Colaborador
Você primeiro deve recuperar todos os grupos de anúncios, com as seguintes condições:
- pertencentes à uma determinada campanha por nome
- com o status de pausado

Depois, você cria um segundo loop dentro do looping acima: para cada grupo de anúncio você recupera todas as palavras chave ativa daquele anúncio e exclui ela individualmente com um .remove()

Existe um segundo método que é gerar um report geral com as 2 condições em um único looping - teria melhor desempenho, mas o método acima é mais fácil de implementar.

Tente escrever o script, se não funcionar posta ele aqui que damos uma olhada o que está errado.

___

"Você não precisa de uma empresa de 100 funcionários para desenvolver aquela ideia" ~Larry Page

Re: Dúvida de Scripts

Principal Colaborador
ihh.. respondemos juntos. haha

___

"Você não precisa de uma empresa de 100 funcionários para desenvolver aquela ideia" ~Larry Page

Re: Dúvida de Scripts

Calouro ✭ ✭
Muito Bom Bruno, vale ressaltar que tive que fazer algumas adaptações... mas era exatamente isso Smiley muito feliz