Le marketing numérique et le PPC évoluent incroyablement rapidement. Cependant, pour toutes les innovations technologiques…
Exclure Automatiquement Les Placements Avec un Domaine Particulier
AdWords permet aux annonceurs d’afficher des annonces sur le réseau d’affichage (GDN) et, bien qu’il dispose de moyens de cibler des annonces à afficher sur des domaines spécifiques ou d’exclure des domaines spécifiques, ils ne disposent pas d’une fonction d’exclusion de placement générique.
Donc, si vous souhaitez afficher vos annonces sur tous les emplacements pertinents, à l’exception de ceux avec une extension de domaine polonaise (.pl) ou une extension comme .org, vous devez surveiller les emplacements automatiques et ajouter des exclusions chaque fois que vous en avez vu un avec cette extension.
Le script suivant permet d’automatiser l’exclusion des placements lorsque le domaine inclut une chaîne particulière.
Exécutez-le quotidiennement ou chaque semaine dans votre compte AdWords pour éviter d’accumuler trop de clics à partir de placements indésirables.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
/**************************** * Add a Placement Exclusion When an Automatic Placement Contains the Text ... * Version 1.0 * * Created By: Frederick Vallaeys * for FreeAdWordsScripts.com * at the request of an Optmyzr.com subscriber ****************************/ function main() { var currentSetting = new Object(); // The list of text strings to check in placement domains. If the placement domain contains ANY of these, // we WILL attempt to exclude it from the campaign currentSetting.stringsToExclude = new Array( "pets", ".org" ) // -- Most users should not have to edit anything after this currentSetting.dateRange = "LAST_30_DAYS"; var DEBUG = 0; currentSetting.matchedCampaigns = new Array(); currentSetting.reportType = "AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT"; currentSetting.metricsColumns = ['DisplayName', 'Domain', 'IsPathExcluded', 'CampaignName', 'CampaignId', 'AdGroupName', 'AdGroupId', 'Impressions', 'Clicks', 'Cost', 'CostPerConversion' ]; currentSetting.whereConditions = ['WHERE', 'Impressions', '>=', 1 ]; var columnsUsedArray = currentSetting.metricsColumns; var columnsStr = currentSetting.metricsColumns.join(','); if(currentSetting.whereConditions.length > 0) { var whereClause = currentSetting.whereConditions.join(" "); } else { var whereClause = ''; } var query = 'SELECT ' + columnsStr + ' ' + 'FROM ' + currentSetting.reportType + ' ' + whereClause + ' ' + 'DURING ' + currentSetting.dateRange; //Logger.log("query: " + query); var report = AdWordsApp.report(query); var reportIterator = report.rows(); var numResults = 0; while(reportIterator.hasNext()){ var row = reportIterator.next(); var displayName = row['DisplayName']; var domain = row['Domain']; var campaignId = row['CampaignId']; var isPathExcluded = row['IsPathExcluded']; // Only add negative placements that aren't already excluded if(isPathExcluded == "false") { var result = containsAny(displayName, currentSetting.stringsToExclude); if(result) { if(DEBUG) Logger.log(displayName + " - " + domain); if(!currentSetting.matchedCampaigns[campaignId]) { currentSetting.matchedCampaigns[campaignId] = new Array(); } currentSetting.matchedCampaigns[campaignId].push(domain); } } } for(var campaignId in currentSetting.matchedCampaigns) { var campaignExcludedPlacementCounter = 0; if(DEBUG) Logger.log("Campaign ID: " + campaignId); var campaignIdArray = new Array(campaignId); var campaign = AdWordsApp.campaigns().withIds(campaignIdArray).get().next(); var campaignName = campaign.getName(); Logger.log("For Campaign: " + campaignName); var matchedDomains = currentSetting.matchedCampaigns[campaignId]; for(var i=0; i<matchedDomains.length;i++) { campaignExcludedPlacementCounter++; var domain = matchedDomains[i]; Logger.log(" " + campaignExcludedPlacementCounter + ") excluding the domain: " + domain); var excludedPlacement = campaign.display().newPlacementBuilder().withUrl(domain).exclude().getResult(); } Logger.log(" -> " + campaignExcludedPlacementCounter + " negative placements added to campaign " + campaignName + "."); Logger.log(""); } function containsAny(str, substrings) { for (var i = 0; i != substrings.length; i++) { var substring = substrings[i]; if (str.indexOf(substring) != - 1) { return substring; } } return null; } } |
Cet article comporte 0 commentaires