Un Script AdWords pour détecter vos pages 404
Fermer

Aidez-nous à préparer notre rendez-vous

    Votre nom*
    Votre prénom
    Votre adresse email*
    Votre numéro de téléphone
    Votre site internet
    Votre société*
    Projet, leviers à développer, ambitions ,objectifs, historique

    Les données saisies ci-dessus seront traitées par Ad’s up Consulting aux fins d’analyser votre demande et d’y répondre. Les champs marqués d’un * sont obligatoires. Vous disposez d’un droit d’accès, de rectification, d’effacement, d’opposition, consultez notre Politique de confidentialité ici pour en savoir plus.

    Ce site est protégé par reCAPTCHA et les Règles de confidentialité (https://policies.google.com/privacy) et les Conditions d'utilisation (https://policies.google.com/terms) de Google s'appliquent.

    Fermer Menu
    ×
    Home / Publications / SEA / Google Ads

    [Script] Détecter le trafic dirigé vers des pages 404

    En savoir plus sur notre expertise Agence Google Ads 10/04/2015 3 min. de lecture mm Guillaume

    Comme vous le savez sûrement, vous avez la possibilité dans l’interface AdWords de mettre en place différents scripts pour vous aider dans la gestion quotidienne de vos campagnes.

    Scripts AdWords

    Le script que l’on va vous présenter aujourd’hui est particulièrement intéressant si vous êtes e-commerçants.

    Selon l’étendue de votre catalogue produits, vous êtes rapidement amené à gérer des annonces qui redirigent vers des milliers de pages de destinations différentes. Dans ce cas, il est difficile d’avoir un compte 100% clean, et il y a fort à parier que vous redirigiez certaines annonces vers des pages qui n’existent plus ou qui ne sont plus fonctionnelles. Si le problème n’est pas détecté et réglé rapidement, cela peut rapidement engendrer des coûts importants.

    Vous trouverez ci-dessous un script qui permet de vous remonter l’information des mots-clés et des annonces qui redirigent vers des pages 404.  Sur la ligne « var BAD_CODES = [404]; » vous pouvez compléter avec d’autres codes HTTP. Il peut être intéressant d’y ajouter les erreurs 500, 301 ou 302 par exemple.

    /****************************
    * Script permettant de détecter les URL 404 d'un compte
    * Crée par: Russ Savage (FreeAdWordsScripts.com)
    * Adapté par: Guillaume Neyret (ads-up.fr)
    ****************************/
    function main() {
    // Liste des codes HTTP: http://fr.wikipedia.org/wiki/Liste_des_codes_HTTP
    var BAD_CODES = [404];
    var TO = ['guillaume@ads-up.fr'/*,'adresse_email2@example.com'*/];
    var SUBJECT = 'NOM DU CLIENT - SCRIPT URL 404/500 - ' + _getDateString();
    var HTTP_OPTIONS = {
    muteHttpExceptions:true
    };
    
    var iters = [
    //Check des urls au niveau des annonces
    AdWordsApp.ads()
    .withCondition("Status = 'ENABLED'")
    .withCondition("AdGroupStatus = 'ENABLED'")
    .withCondition("CampaignStatus = 'ENABLED'")
    .withCondition("Type = 'TEXT_AD'")
    .get(),
    //Et au niveau des mots-clés
    AdWordsApp.keywords()
    .withCondition("Status = 'ENABLED'")
    .withCondition("DestinationUrl != ''")
    .withCondition("AdGroupStatus = 'ENABLED'")
    .withCondition("CampaignStatus = 'ENABLED'")
    .get()
    ];
    
    var already_checked = {};
    var bad_entities = [];
    for(var x in iters) {
    var iter = iters[x];
    while(iter.hasNext()) {
    var entity = iter.next();
    if(entity.getDestinationUrl() == null) { continue; }
    var url = entity.getDestinationUrl();
    if(url.indexOf('{') >= 0) {
    
    //Suppression des paramètres de tracking
    url = url.replace(/{[0-9a-zA-Z]+}/g,'');
    }
    if(already_checked[url]) { continue; }
    var response_code;
    try {
    Logger.log("Testing url: "+url);
    response_code = UrlFetchApp.fetch(url, HTTP_OPTIONS).getResponseCode();
    } catch(e) {
    bad_entities.push({e : entity, code : -1});
    }
    if(BAD_CODES.indexOf(response_code) >= 0) {
    bad_entities.push({e : entity, code : response_code});
    }
    already_checked[url] = true;
    }
    }
    var column_names = ['Type','CampaignName','AdGroupName','Id','Headline/KeywordText','ResponseCode','DestUrl'];
    var attachment = column_names.join(",")+"n";
    for(var i in bad_entities) {
    attachment += _formatResults(bad_entities[i],",");
    }
    if(bad_entities.length > 0) {
    var options = { attachments: [Utilities.newBlob(attachment, 'text/csv', 'bad_urls_'+_getDateString()+'.csv')] };
    var email_body = "Le script a détecté" + bad_entities.length + " urls qui ne sont plus valides. Voir détails dans le fichier en PJ.";
    
    for(var i in TO) {
    MailApp.sendEmail(TO[i], SUBJECT, email_body, options);
    }
    }
    }
    
    function _formatResults(entity,SEP) {
    var e = entity.e;
    if(typeof(e['getHeadline']) != "undefined") {
    return ["Ad",
    e.getCampaign().getName(),
    e.getAdGroup().getName(),
    e.getId(),
    e.getHeadline(),
    entity.code,
    e.getDestinationUrl()
    ].join(SEP)+"n";
    } else {
    return ["Keyword",
    e.getCampaign().getName(),
    e.getAdGroup().getName(),
    e.getId(),
    e.getText(),
    entity.code,
    e.getDestinationUrl()
    ].join(SEP)+"n";
    }
    }
    
    //Format de la date
    function _getDateString() {
    return Utilities.formatDate((new Date()), AdWordsApp.currentAccount().getTimeZone(), "yyyy-MM-dd");
    }

    Je vous invite à tester et mettre en place ce script sur votre compte Google AdWords. Une fois mis en place, et selon vos paramétrages de planification d’exécution, vous recevrez un email contenant en pièce-jointe le détail des KW et annonces redirigeant vers des pages 404 (ou autres selon vos modifications).

    Vous êtes à l’aise avec les scripts ? Consultez le site de Russ Savage (www.freeadwordsscripts.com) vous en découvrirez encore bien d’autres !

    À propos de l'auteur

    Guillaume
    Guillaume
    Directeur Associé
    Directeur Associé @Ad's up Consulting, et Consultant Senior SEA passionné par l'e-marketing, j'aiguise mon expertise sur Google Ads depuis de nombreuses années. De par mon parcours, j'ai également un faible particulier pour toutes les problématiques provenant d'annonceurs issus de l'e-commerce.