Adwords script : envoyer un email tous les mois vers tous vos clients
| By Bastien | No Comments
Le script Adwords d’aujourd’hui s’adresse aux gestionnaires de compte Google Adwords qui gèrent de nombreux comptes via leur centre multi-comptes MCC.
Je l’ai écrit pour un besoin très spécifique consistant à envoyer tous les mois à certains clients un email avec leur dépense du mois passé. Même si je fais un reporting Adwords mensuel (à l’aide de SunnyReports), je ne l’envoie parfois pas dès les premiers jours du mois.
Certains de mes clients ayant besoin de leurs dépenses rapidement, ce petit script permet de leur envoyer le budget Adwords dépensé dès le 1er de chaque mois.
Le code
La syntaxe de sélection des comptes fils avec les itérateurs n’est parfois pas simple à trouver.
// Fonction pour créer les lister les comptes clients à parser function compte(nom, id,email) { this.id = id; this.email = email; this.nom = nom; } // Tableau clients var comptes = new Array(3); comptes[0] = new compte("Name0", "XXX-XXX-XXXX","[email protected]"); comptes[1] = new compte("Name1", "YYY-YYY-YYYY","[email protected],[email protected]"); comptes[2] = new compte("Name2","ZZZ-ZZZ-ZZZZ", "[email protected]"); function main() { // On sélectionne le compte MCC courant //var mccAccount = AdWordsApp.currentAccount(); // Pour chaque compte Adwords fils for ( var i=0; i<comptes.length; i++ ) { // On ajout les '' à l'id du premier compte client var currentAccountId = "'"+comptes[i].id+"'"; var childAccounts = MccApp.accounts().withIds([currentAccountId]).get(); var childAccount = childAccounts.next(); MccApp.select(childAccount); // Now in the child account. // On récupère le compte courant var currentAccount = AdWordsApp.currentAccount(); // On demande les stats du mois précédent qui renvoie un object stats var stats = currentAccount.getStatsFor('LAST_MONTH'); // On peut aller récupérer le coût Logger.log(stats.getCost()); // On prépare le message var message = "Bonjour à tous,<br /><br />"; message += "Le budget dépensé le mois dernier à diviser entre vous est de : " + stats.getCost() + "€ <br /><br />"; message += "Bonne journée, <br />Bien cdt, <br /><br />Bastien"; message += "<br /><br/>"; message += "<br />"; message += "<a href='www.jabiroo.fr'>www.jabiroo.fr</a>"; // Envoi de l'email MailApp.sendEmail({ to: comptes[i].email, subject: "Campagne Adwords : budget dépensé", htmlBody: message, name: 'Bastien [jabiroo]' }); //MccApp.select(mccAccount); // Now back in the mcc account. } }
Ce script me permet d’automatiser une tâche qui ne présente aucune valeur ajoutée pour mes clients mais qui leur est bien utile.
Petite astuce: si vous utilisez l’objet Report dans vos scripts, n’oubliez pas de tester vos requêtes avec AWQL.me, console AWQL gratuite et super simple d’utilisation. Vous gagnerez du temps pour débugger rapidement vos requêtes AWQL et vous bénéficierez de l’aide en ligne et de l’autocomplétion.
var spreadsheet = SpreadsheetApp.create("Report output"); var report = AdWordsApp.report("SELECT Clicks, Impressions, AverageCpc, HourOfDay " + "FROM ACCOUNT_PERFORMANCE_REPORT " + "DURING LAST_MONTH"); report.exportToSheet(spreadsheet.getActiveSheet()); Logger.log("Report available at " + spreadsheet.getUrl());
Soumettre un commentaire