Rapporteer campaign zonder vertoningen

Wil je zeker weten dat al je campagnes nog actief zijn? Met dit script ontvang je automatisch een mailtje op het moment dat een campagne de dag ervoor geen vertoningen heeft gegenereerd.

Start nu!
Rapporteer Get started!

Wanneer je meerdere accounts beheert, heb je niet altijd tijd om elke dag te controleren of al je campagnes nog actief staan. Het kan soms, om verschillende redenen, gebeuren dat campagnes tijdelijk stil vallen. Om te voorkomen dat dit pas na enkele dagen opvalt, hebben we een script gemaakt die je automatisch waarschuwt. Wanneer een campagne de dag ervoor geen vertoningen heeft gegenereerd, krijg je een mailtje op het door jou ingestelde emailadres.

Instellingen

In het config-gedeelte van het script, kan je meerdere waarden aanpassen naar wens.

  • LOG: Geef aan of het script de tussenstappen moet rapporteren, door de waarde aan te passen naar 'true'.
  • EMAIL: Vul hier het emailadres in waar je de melding op wilt ontvangen. Je kan meerdere emailadressen invullen, door ze te scheidden met een komma.
  • EMAIL_INTRO: Dit is de boodschap die bovenaan de email staat. Deze kan je aanpassen naar wens.
  • EMAIL_SUBJECT: Het onderwerp van de email.
  • ACCOUNT_LABEL: Label de accounts waar dit script doorheen moet lopen.

MCC niveau

Onderstaand script kan gebruikt worden op MCC-niveau, zodat je in 1 email een overzicht hebt van campagnes dit stil liggen.

Frequentie: Draai dit script 1x per dag, bij voorkeur aan het einde van de ochtend.

The script
// Copyright 2019. Increase BV. All Rights Reserved.
// Not to be used without permission of the creator or Increase B.V.
//
// Created By: Tibbe van Asten
// for Increase B.V.
// 
// Last update: 19-02-2019
//
// ABOUT THE SCRIPT
// With this script you keep track of impressions in campaigns.
// When a campaign didn't receive any impressions yesterday,
// the script will send an email.
// ------------------------------------------------------------

// Script settings
var config = {
  LOG : false,      			// Default: false. Set to true when you want to see why changes are made
  EMAIL : "yourem@ildres.com",     // The emailaddress the noticed will be send to, separated by comma.
  EMAIL_INTRO : "De volgende BING campagnes hebben vandaag nog geen vertoningen ontvangen!<br /><br />",
  EMAIL_SUBJECT : "WARNING: BING campagnes zonder vertoningen",
  EMAIL_FROM : "yourem@ildres.com",
  DATE_RANGE : "TODAY",

  // Get your own SendGrid API Key from https://app.sendgrid.com/settings/api_keys
  SENDGRID_API_KEY : "SG.XYZ"

}

// ------------------------------------------------------------

function main() {
  
  var emailContent = config.EMAIL_INTRO;
  
  var accountIterator = AccountsApp
  	.accounts()
  	.get();
  
  while(accountIterator.hasNext()){
    var account = accountIterator.next();
    AccountsApp.select(account);
    
    	if(config.LOG === true){
          Logger.log("Account: " + account.getName());
        }

    var campaignIterator = BingAdsApp
    	.campaigns()
    	.withCondition("Status = ENABLED")
    	.withCondition("Impressions = 0")
    	.forDateRange(config.DATE_RANGE)
    	.get();
    
    while(campaignIterator.hasNext()){
      var campaign = campaignIterator.next();      

      	if(config.LOG === true){
          Logger.log("Campaign: " + campaign.getName());
        }
      
      emailContent += account.getName() + " " + campaign.getName() + "<br />";
      
    } // campaignIterator    
    
    if(config.LOG === true){
      Logger.log("----");
    }
    
  } // accountIterator
  
  sendEmail(emailContent);
  Logger.log("Email send");
  
} // function main()

// ------------------------------------------------------------

function sendEmail(emailContent) {

    var headers = {
        "Authorization" : "Bearer "+config.SENDGRID_API_KEY 
    }
    var email = {"personalizations": [{"to": [{"email": config.EMAIL}]}],"from": {"email": config.EMAIL_FROM},"subject": config.EMAIL_SUBJECT,"content": [{"type": "text/html", "value": emailContent}]};
  
    var options = {
        contentType: 'application/json',    
        'muteHttpExceptions': true, 
        'method':'post',
        'headers':headers,
        'payload':JSON.stringify(email)
    }

    var response = UrlFetchApp.fetch('https://api.sendgrid.com/v3/mail/send', options); 

} // function sendEmail()
Show whole script!
The Experts
Tibbe van Asten Head of PPC @ Increase
Nils Rooijmans Water Cooler Topics
Martijn Kraan Freelance PPC Specialist
Bas Baudoin Teamlead SEA @ Happy Leads
How about you? JOIN US!
Sharing Knowledge
Caring

Kennis delen

Adsscripts.com staat voor het delen van kennis. In de huidige markt houden SEA-specialisten de kennis en ervaring graag voor zich. Wij zijn er van overtuigd dat het delen van kennis ervoor kan zorgen dat iedereen beter wordt in haar of zijn werk. Daarom lopen wij hier graag in voorop, door onze kennis over scripts te delen met iedereen.

Wil jij ook graag een bijdrage leveren? Wij staan open voor nieuwe ideeën en feedback op alles wat je op Adsscripts.com vindt.

Neem contact op

Training &
Workshop
Neem contact op!
Adsscripts Training & Workshop