Problemas comuns

Esta é uma compilação dos problemas mais comuns encontrados no Fórum de scripts do Google AdWords.

Erros comuns de JavaScript

O script apresenta a falha "Não foi possível encontrar a função: FUNCTION_NAME"

Geralmente, isso é resultado de um nome de função com erro ortográfico no script. 1. Verifique se o nome da função apresenta ortografia e letras maiúsculas e minúsculas corretas. Por exemplo, AdWordsApp.keywordz() gerará um erro, pois keywordz não é uma função válida na classe AdWordsApp. AdWordsApp.Keywords() também gerará um erro devido à letra maiúscula incorreta para a função keywords(). 2. Verifique se a função existe. Por exemplo, AdWordsApp.keywords().next() gerará uma falha porque AdWordsApp.keywords() retorna um KeywordSelector e next() é um método para KeywordIterators. O código correto seria AdWordsApp.keywords().get().next().

Meu script é executado, mas não resulta em nenhuma ação

O motivo mais comum desse problema é que você tem uma função que realiza uma operação, mas não a está chamando pelo método main(). Geralmente isso ocorre quando você copia e cola snippets de código da nossa documentação.

Abordagem de codificação Snippet de código
Versão 1 (não funciona)
function main() {
  // Call to getAllCampaigns is missing, so this script does nothing.
}

function getAllCampaigns() {
  // AdWordsApp.campaigns() will return all campaigns that are not
  // removed by default.
  var campaignIterator = AdWordsApp.campaigns().get();
  Logger.log('Total campaigns found : ' +
      campaignIterator.totalNumEntities());
  while (campaignIterator.hasNext()) {
    var campaign = campaignIterator.next();
    Logger.log(campaign.getName());
  }
}
Versão 2 (não funciona)
function main() {
  // Call to getAllCampaigns is missing, so this script does nothing.

  function getAllCampaigns() {
    // AdWordsApp.campaigns() will return all campaigns that are not
    // removed by default.
    var campaignIterator = AdWordsApp.campaigns().get();
    Logger.log('Total campaigns found : ' +
        campaignIterator.totalNumEntities());
    while (campaignIterator.hasNext()) {
      var campaign = campaignIterator.next();
      Logger.log(campaign.getName());
    }
  }
}
Versão 3 (funciona)
function main() {
  getAllCampaigns();
}

function getAllCampaigns() {
  // AdWordsApp.campaigns() will return all campaigns that are not removed
  // by default.
  var campaignIterator = AdWordsApp.campaigns().get();
  Logger.log('Total campaigns found : ' +
      campaignIterator.totalNumEntities());
  while (campaignIterator.hasNext()) {
    var campaign = campaignIterator.next();
    Logger.log(campaign.getName());
  }
}

Eu recebo um erro "Não é possível encontrar a função getFinalUrl" quando faço upgrade dos meus scripts

Talvez você encontre esse erro ao alterar seu script para funcionamento com URLs atualizados. Isso ocorre quando você substitui as chamadas de ad.getDestinationUrl() por ad.getFinalUrl(). getFinalUrl() faz parte da classe AdUrls. Assim, você não precisa alterar seu código para ad.urls().getFinalUrl():

function main() {
  // Incorrect snippet. getFinalUrl is not a member of the Ad class.
  var ad = AdWordsApp.ads().get().next();
  var url = ad.getFinalUrl();

  // Correct snippet.
  var ad = AdWordsApp.ads().get().next();
  var url = ad.urls().getFinalUrl();
}

Eu não vejo estatísticas para X

A indisponibilidade de dados para determinada entidade ou período é um erro comum que você pode encontrar ao gerar relatórios ou fazer chamadas de estatísticas. Você pode tentar várias ações:

  1. Verifique o período para o qual você está recuperando estatísticas ou gerando relatórios.
  2. Verifique se você está solicitando as colunas / dimensões corretas. A lista de todos os relatórios suportados e as colunas deles estão disponíveis na página de referência do relatório. Se você precisar de ajuda para mapear uma coluna da interface do usuário para uma coluna de um relatório da API, consulte nosso Guia de relatórios da interface do usuário.
  3. Se você recuperar estatísticas no nível da conta para um script da MCC (Minha central de clientes) que gerencia contas com moedas diferentes, verá o custo na moeda utilizada na conta da MCC.
  4. É possível que o Google AdWords ainda não tenha os dados que você deseja. Consulte nosso guia de atualização de dados para detalhes.

Eu recebo um erro quando solicito a coluna X em um relatório

Você pode encontrar esse erro ao ajustar um script de relatórios existente para adicionar novas colunas. Há alguns motivos comuns pelos quais esse erro ocorre:

  1. A coluna que você está tentando acessar simplesmente pode não estar disponível para esse tipo de relatório. Consulte nossa página de referência de relatórios para verificar se esse é seu caso.
  2. Os nomes das colunas diferenciam letras maiúsculas e minúsculas e devem corresponder aos valores exibidos na nossa página de referência de relatórios. Por exemplo, ao solicitar estatísticas de cliques, o nome de coluna a ser usado é "Clicks": "clicks, "click" e "CLICK" são inválidos.
  3. Verifique se o uso da coluna que você está tentando solicitar foi suspenso em uma nova versão da API ou se a coluna é nova e foi introduzida em uma versão recente da API. As colunas exibidas na página de referência de relatórios sempre são referentes à versão mais recente da API, No entanto, é possível que seu código não esteja acessando a versão mais recente dos relatórios devido a um destes motivos:

    1. Os scripts do Google AdWords ainda não suportam uma versão de relatório da API que foi lançada recentemente. Divulgamos novos recursos no fórum de scripts regularmente. Você pode acompanhar essas informações para saber quando o suporte a uma nova versão de relatório é disponibilizado.
    2. Seu código pode estar fazendo chamadas para uma versão de relatório específica, conforme explicado no nosso guia de relatórios. Convém alterar o número da versão para um que seja compatível com a coluna que você deseja acessar.
  4. Limite o número de colunas de segmentação solicitadas nos relatórios. Cada coluna de segmentação solicitada aumenta exponencialmente o número de linhas no seu relatório. Quanto mais colunas de segmentação você solicitar, maiores serão as chances de falha da solicitação de relatório devido a um erro. Recomendamos limitar o número de colunas de segmentação para sete.

  5. É possível que algumas colunas de relatórios não sejam compatíveis com outras. Nesses casos, mais detalhes estão disponíveis como parte da documentação de referência de relatórios.

Solicitações de recursos

O recurso X está disponível?

Veja nossa lista de entidades suportadas.

Quando o recurso X estará disponível?

Tentamos trabalhar nos recursos mais solicitados primeiro. Se há um recurso que você deseja ver, siga estas etapas:

  1. Primeiro, verifique se o recurso é suportado nos scripts do Google AdWords consultando a lista de entidades suportadas.
  2. Se ele não estiver disponível, pesquise no Fórum de scripts do Google AdWords para ver se já existem perguntas sobre ele. Em caso afirmativo, avalie a conversa positivamente ou deixe um comentário se quiser compartilhar detalhes adicionais, como um caso de uso.
  3. Se o recurso ainda não tiver sido solicitado, solicite-o abrindo uma nova conversa no Fórum de scripts do Google AdWords. Lembre-se de fornecer um caso de uso que esse recurso solucionará. Quando possível, inclua um link para o guia da Central de Ajuda ou um guia / uma postagem do blog da Google AdWords API que descreva o recurso. Isso ajudará outros desenvolvedores a classificar positivamente uma solicitação de recurso. Nós priorizamos as solicitações de recursos com base na popularidade delas.
  4. Codifique a postagem com a tag "Solicitação de recurso" para que nós (e outros usuários) possamos verificar as solicitações de recurso com facilidade.

Como usar o recurso X?

Consulte nossos snippets de código e nossas soluções para ver exemplos de como usar determinado recurso. Se você não encontrar um snippet de código adequado, fique à vontade para fazer uma solicitação no fórum.

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.