Script Google Ads Performance Max : Campagnes Zombies & Top Performer

Dans cet article, je vais vous expliquer comment automatiser la mise en place de campagnes Google Ads Zombie et Top Performer, ces campagnes ont pour objectif de venir en soutien de vos campagnes principales afin d’appliquer une stratégie différente en fonction de la performance de vos différents produits.

Définition

Qu’est ce qu’une campagne Zombie ?

Après la période d’apprentissage, il arrive que l’algorithme de Google Ads ne prennent plus de risque et se désintéresse d’une partie de votre catalogue. Vous vous retrouvez donc avec un grand nombre de produits qui n’enregistrent aucun clic, voir aucune impression pendant plusieurs semaines ou plusieurs mois. L’objectif d’une campagne Zombie est d’isoler ces produits dans une campagne distincte afin de leur redonner une chance de diffuser.

Qu’est ce qu’une campagne Top Performer ?

En fonction de la saisonnalité et des offres sur votre site e-commerce, il arrive que certains produits génèrent de nombreuses conversions avec un fort taux de rentabilité, l’objectif des campagnes Top Performer est d’isoler les produits ayant le plus fort potentiel de votre compte dans une campagne distincte et de leur attribuer un budget supplémentaire.

Il est possible de mettre en place ces distinctions à la main, mais cela peut rapidement devenir très chronophage, nous allons maintenant voir comment mettre en place un système permettant d’automatiser la classification des produits afin de les intégrer dans des campagnes spécifiques.

Création du système

L’objectif du système est de réaliser un script et un processus permettant de mettre à jour le flux de produit de manière automatique toutes les semaines en fonction des performances de la semaine précédente. Vous pourrez ajuster la fréquence en fonction de vos besoins et de votre volume de diffusion.

Pour ce faire, voici les étapes que nous allons suivre :

  • Création d’un fichier flux supplémentaire sous la forme d’un document Spreadsheet permettant d’ajuster les libellés personnalisés des produits.
  • Analyse des performances de la semaine passée à l’aide d’un script Google Ads.
  • Mise à jour automatique du fichier Spreadsheet
  • Création de campagne ciblant exclusivement les produits en question en fonction de leur libellé personnalisé…

Mise en place du flux supplémentaire

Dans un premier temps, connectez-vous sur votre interface Merchant Center et cliquez sur le bouton « Ajouter un flux » dans la section « Flux supplémentaires« .

Ensuite, l’interface vous demandera de donner un nom à votre flux supplémentaire, dans notre cas, nous allons l’appeler « Shopping Automation », mais vous pouvez choisir le nom que vous souhaitez, cela n’a pas d’impact pour la suite.

Sélectionnez ensuite l’option « Générer une nouvelle feuille de calcul Google à partir d’un modèle » puis cliquez sur le bouton « Continuer« .

Sélectionnez maintenant les flux dont vous souhaitez compléter les informations.

Il vous sera alors demandé d’autoriser Google Merchant Center à modifier les documents sur votre interface Google Drive. Afin de continuer, vérifier que les informations sont correctes et validez.

Vous serez alors redirigé vers la page présentant les flux Shopping de votre Merchant Center, vous voyez alors apparaître une nouvelle ligne dans la section « Flux Supplémentaires », Cliquez sur le lien « Ouvrir » dans la colonne Méthode d’importation.

Dans votre fichier Spreadsheet, entrez les informations suivantes :

  • id dans la case A1.
  • custom_label_1 dans la colonne B1

Enfin, renommer la première feuille « Custom_Label »

La première colonne contiendra l’id de votre produit et la colonne custom_label_1 la valeur que vous souhaitez attribuer au libellé personnalisé 1. Si vous utilisez déjà ce champ, vous pouvez choisir d’utiliser custom_label_2, custom_label_3 ou encore custom_label_4, il vous faudra cependant adapter les prochaines étapes de cet article.

Mise en place du script

Maintenant que nous avons préparé notre flux supplémentaire, nous allons mettre en place le script permettant de le mettre à jour automatiquement.

Pour ce faire, rendez-vous dans votre interface Google Ads, dans la barre du haut, cliquez sur « Outils et paramètres« , puis dans la colonne « Actions groupées« , cliquez sur le menu « Script« .

Cliquez maintenant sur le bouton « + » puis sur « Nouveau script ».

Vous arrivez alors sur un éditeur de texte vous permettant de rédiger votre script.

Script Google Ads

Voici le script à intégrer, dans les prochaines lignes, je vous expliquerai rapidement son fonctionnement.

// URL Du fichier Spreadsheet de flux supplémentaire
var SPREADSHEET_URL = 'https://docs.google.com/spreadsheets/d/1tjfzfXfCPv13n9p_UXHooZY8eLbnXJMPNm_FqP8LGCE/edit';
var TIME_DURATION = 'LAST_7_DAYS';
var ROAS_MIN = 5;
var CONV_MIN = 5;

function main() {
  var products = getProductsData();
  var sheetData = [];
  products.forEach(function(p){
    if( p.roas >= ROAS_MIN && p.conversions >= CONV_MIN ) {
          customLabel = 'Top_performer';
        } else if( p.clicks == 0 ){
          customLabel = 'Zombie'; 
        } else {
          return true;
        }
        sheetData.push([p.offerId, customLabel]);
  });
  pushToSpreadsheet( SPREADSHEET_URL, sheetData);
}

// Fonction permettant de récupérer les statistiques sur les produits
function getProductsData(){
  var query = "SELECT segments.product_item_id, segments.product_title,  metrics.clicks, metrics.impressions, metrics.conversions, metrics.conversions_value, metrics.cost_micros FROM shopping_performance_view WHERE segments.date DURING "+ TIME_DURATION;
	var products = [];
  var report = AdWordsApp.report(query);
  var rows = report.rows();
  while (rows.hasNext()){
    var row = rows.next();
		var offer_id = row['segments.product_item_id'];
    var clicks = row['metrics.clicks'];
    var impressions = row[' metrics.impressions'];
    var conversions = row['metrics.conversions'];
    var conversionValue = row['metrics.conversions_value'];
    var cost = parseFloat(row['metrics.cost_micros'])/1000000;
    var productTitle = row['segments.product_title'];
    var roas = cost > 0 ? parseFloat(conversionValue)/parseFloat(cost) : 0;
    products.push({
      offerId: offer_id,
      clicks: clicks,
      conversions: conversions,
      impressions: impressions,
      conversionValue: conversionValue,
      cost: cost,
      roas: roas
    });
  }
  
  return products;
}

// Fonction pour mettre à jour le fichier spreadsheet en fonction des datas envoyées
function pushToSpreadsheet(sheetUrl, data){
	var spreadsheet = SpreadsheetApp.openByUrl(sheetUrl);
	var sheet = spreadsheet.getSheetByName('Custom_Label');
	var lastRow = sheet.getMaxRows();
	sheet.getRange('A2:H'+lastRow).clearContent();
	var start_row=2;
	var endRow=start_row+data.length-1;
	var range = sheet.getRange('A'+start_row+':'+'B'+endRow);
	if (data.length>0){range.setValues(data);}
	return;
}

Nous avons quelques modifications à réaliser afin que le script fonctionne.

  • Remplacer la variable « SPREADSHEET_URL » par l’url de votre document Spreadsheet.
  • Configurez la période sur laquelle vous souhaitez effectuer l’analyse, il s’agit de la variable « TIME_DURATION« . Vous pouvez y ajouter différentes valeurs : YESTERDAY, LAST_7_DAYS, LAST_BUSINESS_WEEK, LAST_14_DAYS, LAST_30_DAYS.
  • Modifier la valeur ROAS_MIN pour indiquer le ROAS minimum attendu pour que le produit soit un Top Performer
  • Modifier la valeur CONV_MIN pour indiquer le nombre de conversions minimum attendu pour que le produit soit un Top Performer. Les deux conditions, de ROAS et de nombre de conversion doivent être remplies afin de classer le produit.

Cliquez ensuite sur le bouton « Aperçu » pour lancer le script.

Vous devriez voir le script se lancer, il est possible qu’une fenêtre ou une alerte vous demande des autorisations pour accéder au document Spreadsheet, si tel est le cas, acceptez les autorisations.

Une fois le script terminé, rendez-vous sur la feuille Spreadsheet, vous devriez voir les identifiants de vos produits ainsi que leur classification.

Si tout est ok, cliquez sur le bouton « Enregistrer ». Et voilà, à la prochaine actualisation de votre flux, les produits se verront attribuer un libellé personnalisé que vous pourrez utiliser pour filtrer vos produits dans vos campagnes Performance Max et Shopping.

Exécution automatique du Script

La dernière étape consiste à automatiser le lancement du script, par exemple tous les jours à 3 heures du matin. Pour ce faire, retournez sur la liste des scripts. Puis cliquez sur la case fréquence dans le tableau. Il ne vous reste plus qu’à choisir la fréquence l’exécution du script. Ainsi, votre flux sera mis à jour régulièrement.

Mise à jour 27 mai 2023
Faites passer votre e-commerce au niveau supérieur

Notre agence vous accompagne afin de faire passer votre e-commerce au niveau supérieur grâce au SEA et à Google Ads. Notre équipe d’expert est là pour vous accompagner.

Agence Google Ads
Nicolas Trimardeau
Depuis 2004, je parcours le web et fais des tests pour comprendre les algorithmes de Google. Je vous partage mon expérience du SEO et du SEA pour vous aider à exploiter correctement le pouvoir du plus grand moteur de recherche du monde.