Script Adwords pour activer une campagne à une date donnée
août 8, 2014 | By Bastien | No Comments
Dernièrement, Google a ajouté la possibilité de créer et exécuter des scripts dans Google Adwords. C’est une fonctionnalité utilisable via le compte MCC et très pratique pour automatiser certaines tâches comme du reporting ou de l’automatisation de tâches en fonction de seuils particuliers.
Je ne rentrerai pas dans le détail de l’utilisation des scripts ici. Je vous propose un exemple de script simple réalisé pour activer une campagne à une date donnée.
L’idée est d’activer une campagne donnée d’un compte client donné le 1er septembre.Pour cela:
- je récupère la liste des comptes du MCC,
- une fois le bon trouvé, je récupère la liste des campagnes de ce compte Adwords,
- une fois la bonne campagne trouvée, je regarde si la date courante est postérieure à la date d’activation voulue, le 1er septembre à 5h dans mon cas,
- Si c’est le cas, j’active la campagne, sinon je ne fais rien,
- C’est fini !
Notez que qu’il faut recaler l’heure en fonction de l’heure californienne.
function main() { var today = new Date(); var firstSeptember = new Date(2014, 8, 1, 03, 00, 0); //convert to millseconds var localTime = today.getTime(); //apply offset between California & France in milliseconds (10 hours) var offsetTime = localTime+32400000; //Convert to date again var franceTime = new Date(offsetTime); var CustomerId = "XXX-YYY-ZZZZ"; // Get an account iterator. //var accountIterator = MccApp.accounts().withLimit(20).get(); var accountIterator = MccApp.accounts().get(); while (accountIterator.hasNext()) { // Get the current account. var account = accountIterator.next(); if(account.getCustomerId() == CustomerId) { // Select the child account. MccApp.select(account); // Remplacer par le nom de votre campagne. var campaignName = "My Campaign Name"; var campaignsIterator = AdWordsApp.campaigns().withCondition("Name = '" + campaignName + "'").get(); if (campaignsIterator.hasNext()) { var campaign = campaignsIterator.next(); // active la campagne à la bonne date if(franceTime.getTime() > firstSeptember.getTime()) { campaign.enable(); Logger.log("Campagne activée ; le " + today.toLocaleString()); } } } } }
Vous pouvez choisir la fréquence d’exécution du script au niveau de l’interface de script Adwords.
Pour du reporting, vous choisirez peut etre tous les jours ou semaines. Dans mon cas, un déclenchement ponctuel à la date voulue est suffisant.
Le script est certainement optimisable en utilisant toutes les méthodes possibles de l’API Adwords. C’est un simple exemple pour comprendre ce qu’il est possible de faire avec les Adwords scripts.
Pour ce qui est du reporting Adwords, je vous conseille aussi de tester SunnyReports, une application de reporting Adwords en ligne. Ca fait gagner beaucoup de temps: les graphiques sont générées automatiquement à partir d’une interface WYSIWYG. De nombreuses fonctionnalités sont automatisées comme le calcul automatique des comparaisons de performance entre période.