Dynamische advertenties (AdWords)

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

Met dynamische advertenties, oftewel dynamic ads, kun je gedeeltes van advertenties dynamisch aanpassen. Dit kan zowel via scripts, maar ook via de gebruikelijke grafische interface. Dat laatste is zelfs opvallend eenvoudig om te doen.

Voorbeeld: Aftellende advertentie

Voorbeeld: Je wilt verkeer trekken naar een event op een bepaalde datum. Dan zou het leuk zijn als in je advertenties automatisch wordt aangegeven hoeveel dagen mensen nog de tijd hebben, want een gevoel van urgentie werkt conversieverhogend. Meer ideeën voor dynamische advertenties:

  • Aantal dagen dat een korting nog geldt - Gevoel van urgentie
  • Aantal dagen dat je je nog kunt inschrijven
  • Aantal beschikbare plaatsen - Gevoel van schaarste
  • Woorden uit de zoekopdracht herhalen - Tricky!

Dit is mijn script-in-progress hiervoor:

var END_DATE = new Date('April 1, 2016 0:00 +0100');
var AD_GROUP_NAME ='Phase 1';
var DAY_IN_MILLISECONDS=24*60*60*1000

function main() 
{
  var timeLeft = calculateTimeLeftUntil(END_DATE);
  
  Logger.log(timeLeft['days']);
  Logger.log(timeLeft['hours']);
  
  var adGroup = getAdGroup(AD_GROUP_NAME);
  var keywords = adGroup.keywords().get();
  
  while (keywords.hasNext()) {
    var keyword = keywords.next();
    // We want to update {param1} to use our calculated days and {param2}
    // for hours.
    keyword.setAdParam(1, timeLeft['days']);
    keyword.setAdParam(2, timeLeft['hours']);
  }

}

function calculateTimeLeftUntil(end) 
{
  var current = new Date();
  var timeLeft = {};
  var daysFloat = (end - current) / (DAY_IN_MILLISECONDS);
  timeLeft['days'] = Math.floor(daysFloat);
  timeLeft['hours'] = Math.floor(24 * (daysFloat - timeLeft['days']));

  // Prevent countdown to negative time period.
  if (timeLeft['days'] < 0) {
    timeLeft['days'] = 0;
  }
  if (timeLeft['hours'] < 0) {
    timeLeft['hours'] = 0;
  }

  return timeLeft;
}

function getAdGroup(name) {
  var adGroupIterator = AdWordsApp.adGroups()
      .withCondition('Name = "' + name + '"')
      .withLimit(1)
      .get();
  if (adGroupIterator.hasNext()) {
    return adGroupIterator.next();
  }
}

Zie de links hieronder voor complete scripts, maar countdown kan waarschijnlijk ook met een simpele inline functie

Zie ook

Bronnen