Scripting - Eigen scripts (AdWords)

Uit De Vliegende Brigade
(Doorverwezen vanaf Scripting (AdWords))
Naar navigatie springen Naar zoeken springen

Ben je er klaar voor om écht krachtig met AdWords aan de slag te gaan? Dan ben je waarschijnlijk toe aan het gebruik van scripts om dingen te automatiseren. Hierbij een handjevol scripts dat ik regelmatig gebruik. Let op bij de naamgeving van objecten: De scope van de scripts betreft het hele account.

LowerBidsToFirstPage

// LowerBidsToFirstPage
//
// Handig voor harvesting-campagnes
//
// Strompf, juli 2015
//
function main(){
  
  Logger.log(">>> Begin of script LowerBidsToFirstPageCPC");
  
  var keywordIterator = AdWordsApp.keywords()
  .withCondition("CampaignStatus = ENABLED")
  .withCondition("AdGroupStatus = ENABLED")
  .withCondition("Status = ENABLED")
  .withCondition("FirstPageCpc > 0")
  .get()
  
  while(keywordIterator.hasNext()){
    var keyword=keywordIterator.next();
    Logger.log(
      keyword.getText() + 
      " Bod: " + keyword.getMaxCpc() +
      " FirstPageCPC: " + keyword.getFirstPageCpc()
      );
    if (keyword.getFirstPageCpc()<keyword.getMaxCpc()){
      keyword.setMaxCpc(keyword.getFirstPageCpc());
    }  
  }
  Logger.log("<<< End of script LowerBidsToFirstPageCPC");
}

LowerBidsToTopOfPage

//
function main(){
  
  Logger.log(">>> Iterate through keywords");
  var keywordIterator = AdWordsApp.keywords()
  .withCondition("CampaignStatus = ENABLED")
  .withCondition("AdGroupStatus = ENABLED")
  .withCondition("Status = ENABLED")
  .withCondition("TopOfPageCpc > 0")
  .get()
  
  while(keywordIterator.hasNext()){
    var keyword=keywordIterator.next();
    Logger.log(
      keyword.getText() + 
      " Bod: " + keyword.getMaxCpc() +
      " TopOfPageCPC: " + keyword.getTopOfPageCpc()  
      );
    if (keyword.getTopOfPageCpc()<keyword.getMaxCpc()){
      keyword.setMaxCpc(keyword.getTopOfPageCpc());
    }  
  }
  Logger.log("<<< Iterate through keywords");
}

Dit script heb ik met succes toegepast (sep. 2014). Ik ben terughoudend om met een vergelijkbaar script biedingen te verhogen: Dat kan leiden tot absurd hoge prijzen.

RaiseToFirstPage

Als biedingen te laag zijn, krijg je foutmeldingen Below first page bid. Dit script krikt alle biedingen op tot het eerste-pagina-bod:

//
// Only raise bids when they have status
// "Rarely shown due to too low bid" (or something)
//
function main(){
  
  Logger.log(">>> Begin of script");
  
  var keywordIterator = AdWordsApp.keywords()
  .withCondition("CampaignStatus = ENABLED")
  .withCondition("AdGroupStatus = ENABLED")
  .withCondition("Status = ENABLED")
  .withCondition("FirstPageCpc > 0")
  .get()
  
  while(keywordIterator.hasNext()){
    var keyword=keywordIterator.next();
    Logger.log(
      keyword.getText() + 
      " Bod: " + keyword.getMaxCpc() + " FirstPageCPC: " + keyword.getFirstPageCpc()
      );
    if (keyword.getMaxCpc()<keyword.getFirstPageCpc()){
      keyword.setMaxCpc(keyword.getFirstPageCpc());
    }  
  }
  Logger.log("<<< End of script");
}

RaiseToTopOfPage

//
// Raise bids to TopOfPageCPC for all keywords in this campaign,
// except for keywords in AdGroups named "Harvesting"
//
// Don't run this script unattended as long as there is no check.
// A check could be that the log is emailed automatically after each 
// run.
// 
function main(){
  
  Logger.log(">>> Begin of script");
  
  var keywordIterator = AdWordsApp.keywords()
  .withCondition("CampaignStatus = ENABLED")
  .withCondition("AdGroupStatus = ENABLED")
  .withCondition("AdGroupName != 'Harvesting'")
  .withCondition("Status = ENABLED")
  .withCondition("TopOfPageCpc > 0")
  .get()
  
  while(keywordIterator.hasNext())
  {
    
    var keyword=keywordIterator.next();
    
    if (keyword.getMaxCpc()<keyword.getTopOfPageCpc())
    {
      keyword.setMaxCpc(keyword.getTopOfPageCpc());
    }  
    
  }
  Logger.log("<<< End of script");
}

SetAdGroupBidAtTopOfPage

Dit script doet net iets anders dan de scripts hiervoor: In plaats van het bod voor het keyword aan te passen, wordt het bod van de betreffende AdGroup aangepast:

  • Dit past in een SKAG-campagne, waarbij biedingen alleen op AdGroup-niveau worden bijgehouden, omdat je dan gemakkelijker met maatwerk-kolommen kunt werken
  • Biedingen op keyword-niveau worden gewist
  • Dit script verlaagt én verhoogt biedingen.
/ Adjust AdGroup-bid to TopOfPageBid for the keyword inside the AdGroup
//
/////////////////////////////////////////////////////////////////////////
//
// * Only works icw. SKAG
//
/////////////////////////////////////////////////////////////////////////
// Print campaign names
/////////////////////////////////////////////////////////////////////////
//
function main()
{
  var i = AdWordsApp.campaigns()
  .get()
  
  Logger.log(i.getName());
  
}

PrintCampaignNames

Omdat alle begin moeilijk is:

function main()
{
  var i = AdWordsApp.campaigns()
  .get();
  
  Logger.log("Start of script");
  
  while (i.hasNext())
  {
    var kampanje=i.next();
    Logger.log(kampanje.getName());
  }
  
}

Zie ook

Bronnen