
Dans un compte Google Ads, les extensions d’annonces peuvent augmenter votre taux de clic jusqu’à 15%. Mais encore faut-il qu’elles soient actives et performantes ! Voici un script simple pour surveiller automatiquement vos extensions.

Pourquoi surveiller vos extensions ?
Pour un petit compte (1000-1500€/mois), chaque clic compte. Des extensions inactives ou mal performantes peuvent :
- Réduire votre CTR.
- Augmenter votre CPC moyen.
- Diminuer votre score de qualité.
Le Script de Surveillance des Extensions ;
function main() {
var CONFIG = {
// Configuration des seuils d’alerte
MINIMUM_CTR: 0.01, // 1% minimum de CTR
DAYS_TO_ANALYZE: 30, // Période d’analyse
MINIMUM_IMPRESSIONS: 100, // Nombre minimum d’impressions
// Configuration des rapports
EMAIL_RECIPIENT: ‘votre@email.com’,
SPREADSHEET_URL: ‘VOTRE_URL_GOOGLE_SHEETS’,
// Types d’extensions à surveiller
EXTENSION_TYPES: [
‘SITELINK’,
‘CALLOUT’,
‘CALL’,
‘LOCATION’
]
};
var results = {
inactive: [],
lowPerforming: [],
missing: []
};
// Analyse de chaque type d’extension
CONFIG.EXTENSION_TYPES.forEach(function(type) {
checkExtensionType(type, CONFIG, results);
});
// Génération et envoi des rapports
createSpreadsheetReport(results, CONFIG);
sendEmailAlert(results, CONFIG);
}
function checkExtensionType(type, config, results) {
var report = AdsApp.report(
« SELECT ExtensionType, CampaignName, Status, » +
« Clicks, Impressions, CTR » +
« FROM EXTENSION_PERFORMANCE_REPORT » +
« WHERE ExtensionType = ‘ » + type + « ‘ » +
« DURING LAST_ » + config.DAYS_TO_ANALYZE + « _DAYS »
);
var rows = report.rows();
while (rows.hasNext()) {
var row = rows.next();
analyzeExtensionRow(row, config, results);
}
}
function analyzeExtensionRow(row, config, results) {
var status = row[‘Status’];
var impressions = parseFloat(row[‘Impressions’]);
var ctr = parseFloat(row[‘CTR’]);
var campaignName = row[‘CampaignName’];
var extensionType = row[‘ExtensionType’];
// Vérification des extensions inactives
if (status !== ‘ENABLED’) {
results.inactive.push({
type: extensionType,
campaign: campaignName,
status: status
});
}
// Vérification des performances
if (impressions >= config.MINIMUM_IMPRESSIONS && ctr < config.MINIMUM_CTR) {
results.lowPerforming.push({
type: extensionType,
campaign: campaignName,
ctr: ctr,
impressions: impressions
});
}
}
function createSpreadsheetReport(results, config) {
var spreadsheet = SpreadsheetApp.openByUrl(config.SPREADSHEET_URL);
var sheet = spreadsheet.getActiveSheet();
sheet.clear();
// En-têtes
sheet.appendRow([
‘Type d\’Extension’,
‘Campagne’,
‘Statut’,
‘Problème’,
‘Métrique’,
‘Action Recommandée’
]);
// Extensions inactives
results.inactive.forEach(function(item) {
sheet.appendRow([
item.type,
item.campaign,
item.status,
‘Inactive’,
‘N/A’,
‘Réactiver ou remplacer’
]);
});
// Extensions peu performantes
results.lowPerforming.forEach(function(item) {
sheet.appendRow([
item.type,
item.campaign,
‘Active’,
‘Faible CTR’,
(item.ctr * 100).toFixed(2) + ‘%’,
‘Optimiser ou remplacer’
]);
});
}
function sendEmailAlert(results, config) {
if (results.inactive.length === 0 &&
results.lowPerforming.length === 0) return;
var emailBody = ‘Rapport de surveillance des extensions :\n\n’;
if (results.inactive.length > 0) {
emailBody += ‘📛 Extensions inactives :\n’;
results.inactive.forEach(function(item) {
emailBody += ‘- ‘ + item.type + ‘ dans ‘ + item.campaign + ‘\n’;
});
emailBody += ‘\n’;
}
if (results.lowPerforming.length > 0) {
emailBody += ‘⚠️ Extensions peu performantes :\n’;
results.lowPerforming.forEach(function(item) {
emailBody += ‘- ‘ + item.type + ‘ dans ‘ + item.campaign +
‘ (CTR: ‘ + (item.ctr * 100).toFixed(2) + ‘%)\n’;
});
}
emailBody += ‘\nRapport complet : ‘ + config.SPREADSHEET_URL;
MailApp.sendEmail({
to: config.EMAIL_RECIPIENT,
subject: ‘🔍 Alerte Extensions Google Ads’,
body: emailBody
});
}
Comment utiliser ce script ?
1. Installation rapide
- Ouvrez Google Ads > Outils > Scripts
- Créez un nouveau script
- Copiez-collez le code
- Modifiez les paramètres de configuration :
- EMAIL_RECIPIENT
- SPREADSHEET_URL
- Ajustez les seuils si nécessaire.
2. Paramètres recommandés pour petits budgets
- MINIMUM_CTR : 1% (ajustez selon votre secteur)
- DAYS_TO_ANALYZE : 30 jours
- MINIMUM_IMPRESSIONS : 100
3. Programmation
- Exécution hebdomadaire conseillée.
- Idéalement le lundi matin.
- Durée d’exécution : < 1 minute.
Que surveille ce script ?
Extensions inactives
- Extensions désapprouvées.
- Extensions en pause.
- Extensions limitées.
2. Extensions peu performantes
- CTR inférieur au seuil.
- Nombre d’impressions suffisant.
- Comparaison avec les moyennes du compte.
3. Types d’extensions surveillées
- Liens annexes (Sitelinks).
- Accroches (Callouts).
- Extensions d’appel.
- Extensions de lieu.
Actions recommandées
Pour les extensions inactives :
Vérifier la raison de la désapprobation
- Contenu inapproprié.
- Format incorrect.
- URL invalide.
Réactiver ou remplacer
- Corriger le contenu.
- Mettre à jour les URLs.
- Créer de nouvelles extensions.
Pour les extensions peu performantes :
Analyser le contenu
- Texte accrocheur.
- Proposition de valeur claire.
- Call-to-action efficace.
Optimiser le placement
- Position des liens annexes.
- Ordre des accroches.
- Visibilité mobile.
Exemple de résultats
Client e-commerce (budget 1200€/mois) :
- 3 extensions inactives identifiées.
- 5 extensions sous-performantes.
- Après optimisation :
- CTR global +12%
- CPC -8%
- Score qualité +0.5
Conseils pour petits budgets
Priorisez les extensions
- Liens annexes en premier.
- Accroches ensuite.
- Extensions d’appel si pertinent.
Optimisez progressivement
- Testez une modification à la fois.
- Surveillez l’impact sur le CTR.
- Documentez les changements.
Maintenez la qualité
- Mettez à jour régulièrement.
- Supprimez les extensions obsolètes.
- Gardez la cohérence avec vos annonces.
Conclusion
Pour un petit budget, chaque amélioration compte. Ce script vous aide à :
- Maintenir des extensions actives.
- Optimiser les performances.
- Économiser du temps de gestion.
