menu-cancel-iconMENU SK / EN

Formulár bol úspešne odoslaný

Ďakujeme.

Niektoré stránky boli dočasne odstránené. Zistiť viac

Stiahnite si zoznam všetkých Webov a YouTube kanálov, na ktorých neodporúčame inzerovať

Stiahnite si zoznam Webov, na ktorých neodporúčame inzerovať

Stiahnite si zoznam YouTube kanálov, na ktorých neodporúčame inzerovať

Inštrukcie

Tieto inštrukcie sa venujú vylúčeniu rizikových webov a YouTube kanálov z vašich kampaní v Google Ads. Pokiaľ používate aj iné inzertné siete, prosíme konzultujte postup s vašou agentúrou. Ponúkame vám výborný skript pre Google Ads, ktorý weby nie len vylúči, ale aj zoznam pravidelne automaticky aktualizuje. Ak nechcete použiť automatizované riešenie, pozrite si návod na manuálne vylúčenie. Ďakujeme, že používate náš zoznam

 

 

Manuálne vylúčenie

1

Stiahnite si tento súbor so zoznamom webov a YouTube kanálov na vylúčenie.

 

2

Prihláste sa do účtu Google Ads a kliknite na položku „Zoznamy vylúčenia umiestnení" v časti “Nástroje a nastavenia”.

 

 

3

Kliknite na modré tlačidlo + a vyberte možnosť "Nahrať zoznam".

4

Pomenujte zoznam, vyberte zdroj "Nahrať súbor" a vyberte stiahnutý súbor. Voľbu potvrďte tlačidlom “Použiť”.

5

Po úspešnom nahratí obnovte stránku a kliknutím na názov zoznamu ho otvorte.

 

6

Na konci zoznamu kliknite na tlačidlo “Použiť v kampaniach”.

7

Vyberte kampane, do ktorých chcete pridať svoj zoznam vylúčených umiestnení a kliknite na tlačidlo "Hotovo“. (Pozn.: Negatívne YouTube umiestnenia sa prejavia iba vo video kampaniach.)

Automatizované vylúčenie

Nasledujúci skript je potrebné vložiť do Google Ads. V prípade potreby môžete nájsť bližšie inštrukcie nižšie.

 

function main() {
  var spreadsheetURL = 'https://docs.google.com/spreadsheets/d/1Axn4wvJi9fa8BT6e70K-ZLcg8l9rpjXYOQboShQJlEM/edit?usp=sharing';
  var sheet          = SpreadsheetApp.openByUrl(spreadsheetURL).getSheets()[0];

  var track = function(campaign_id) {
    // no sensitive data are pushed to 3rd party server
    // only md
    var sha = function(input_string) {
      // compute md5 of input string
      return Utilities.base64Encode(
        Utilities.computeDigest(Utilities.DigestAlgorithm.SHA_256, input_string)
      );
    }

    var customer_hash = sha(AdWordsApp.currentAccount().getCustomerId());
    var track_url = 'http://www.konspiratori.sk/skript/v2/?c='+customer_hash;
    if(campaign_id){
      var campaign_hash = sha(campaign_id);
      track_url += '&cc='+campaign_hash;
    }
    UrlFetchApp.fetch(track_url, {muteHttpExceptions: true});
  }

  // track script run, no sensitive data collected
  track();

  // name exclusion list
  var placementListName = 'KONSPIRATORI.sk';

  var placements = [];
  var youtubePlacements = [];
  var row_index = 1;
  var youtube_row_index = 1;

  // Load URL placement exclusions
  while(true) {
    var range = sheet.getRange('A'+row_index+':A'+row_index).getValues();
    if(range[0][0] == '') {
      break;
    }

    placements.push(range[0][0]);
    row_index++;
  }

  // Load YouTube placement exclusions
  while(true) {
      var range = sheet.getRange('B'+youtube_row_index+':B'+youtube_row_index).getValues();
      if(range[0][0] == '') {
        break;
      }

      youtubePlacements.push(range[0][0]);
      youtube_row_index++;
    }

  Logger.log('Exclusion URLs loaded: ', placements);
  var sharedExcludedPlacementSelector = AdWordsApp.excludedPlacementLists().orderBy("SharedSetId DESC");

  var sharedExcludedPlacementIterator = sharedExcludedPlacementSelector.get();
  var placementList = null;

  while (sharedExcludedPlacementIterator.hasNext()) {
    var sharedExcludedPlacement = sharedExcludedPlacementIterator.next();
    if(sharedExcludedPlacement.getName() == placementListName) {
      placementList = sharedExcludedPlacement;
      break;
    }
  }

  if(!placementList) {
    var placementListOperation = AdWordsApp.newExcludedPlacementListBuilder().withName(placementListName).build();
    if(placementListOperation.isSuccessful()) {
      Logger.log('Placements list build success');
    }
    var placementList = placementListOperation.getResult();
  }

  placementList.addExcludedPlacements(placements);
  var sharedExcludedPlacementIterator = placementList.excludedPlacements().get();
  while (sharedExcludedPlacementIterator.hasNext()) {
    var placement = sharedExcludedPlacementIterator.next();
    Logger.log(placement.getUrl());
    if(placements.indexOf(placement.getUrl()) == -1) {
      placement.remove();
    }
  }

  // iterate over all available campaigns
  var campaignIterator = AdWordsApp.campaigns().get();

  while (campaignIterator.hasNext()) {
    var campaign = campaignIterator.next();
    track(campaign.getId()); // just for statistics, no sensitive data collected
    campaign.addExcludedPlacementList(placementList);
  }

  // iterate over all video campaigns
  var videoCampaignIterator = AdWordsApp.videoCampaigns().get();

  while (videoCampaignIterator.hasNext()) {
    var tmpExcludedChannels = youtubePlacements;
    var videoCampaign = videoCampaignIterator.next();
    var excludedYoutubeChannelIterator = videoCampaign.videoTargeting().excludedYouTubeChannels().get();

    while (excludedYoutubeChannelIterator.hasNext()) {
      var excludedYouTubeChannel = excludedYoutubeChannelIterator.next();
      if (tmpExcludedChannels.indexOf(excludedYouTubeChannel.getChannelId()) !== -1) {
        delete tmpExcludedChannels[tmpExcludedChannels.indexOf(excludedYouTubeChannel.getChannelId())];
      }
    }

    tmpExcludedChannels = tmpExcludedChannels.filter((item) => typeof item === 'string');
    // Exclude all YouTube channels in batch from campaign
    for (i=0; i<tmpExcludedChannels.length; i++){
      videoCampaign.videoTargeting().newYouTubeChannelBuilder().withChannelId(tmpExcludedChannels[i]).exclude();
    }
  }
}

1

Prihláste sa do Google Ads účtu a kliknite na položku “Skripty” v časti “Nástroje a nastavenia”.

2

Kliknite na modré tlačidlo + a potom na "Nový skript".

3

Pomenujte skript a prekopírujte jeho vyššie uvedené znenie do textového poľa. Autorizujte ho kliknutím na tlačidlo “Overiť”

4

Skript potrebuje práva na úpravu kampaní, keďže zoznam webov a YouTube kanálov automaticky pridá k vašim kampaniam.

5

Skript spustite bez zobrazenia ukážky. V prípade potreby povoľte opätovné overenie skriptu.

6

Nezabudnite si nastaviť frekvenciu, v akej má skript zbiehať.

 

Automatizované vylúčenie pre agentúrny účet

Nasledujúci skript je potrebné vložiť do Google Ads. V prípade potreby môžete nájsť bližšie inštrukcie na vloženie skriptu v časti Automatizované vylúčenie.

function main() {
  var spreadsheetURL = 'https://docs.google.com/spreadsheets/d/1Axn4wvJi9fa8BT6e70K-ZLcg8l9rpjXYOQboShQJlEM/edit?usp=sharing';
  var sheet          = SpreadsheetApp.openByUrl(spreadsheetURL).getSheets()[0];

  var placements = [];
  var youtubePlacements = [];
  var row_index = 1;
  var youtube_row_index = 1;

  // Load URL placement exclusions
  while(true) {
    var range = sheet.getRange('A'+row_index+':A'+row_index).getValues();
    if(range[0][0] == '') {
      break;
    }

    placements.push(range[0][0]);
    row_index++;
  }

  // Load YouTube placement exclusions
  while(true) {
      var range = sheet.getRange('B'+youtube_row_index+':B'+youtube_row_index).getValues();
      if(range[0][0] == '') {
        break;
      }

      youtubePlacements.push(range[0][0]);
      youtube_row_index++;
  }

  Logger.log('Exclusion URLs loaded: ');
  Logger.log(placements);

  accountIterator = MccApp.accounts().get();
  while(accountIterator.hasNext()) {
    MccApp.select(accountIterator.next());
    processClientAccount(placements, youtubePlacements);
  }
}


function processClientAccount(placements, youtubePlacements) {
  Logger.log("Processing account: " + AdWordsApp.currentAccount().getName());

  var track = function(campaign_id) {
    // no sensitive data are pushed to 3rd party server
    var sha = function(input_string) {
      // compute md5 of input string
      return Utilities.base64Encode(
        Utilities.computeDigest(Utilities.DigestAlgorithm.SHA_256, input_string)
      );
    }

    var customer_hash = sha(AdWordsApp.currentAccount().getCustomerId());
    var track_url = 'http://www.konspiratori.sk/skript/v2/?c='+customer_hash;
    if(campaign_id){
      var campaign_hash = sha(campaign_id);
      track_url += '&cc='+campaign_hash;
    }
    UrlFetchApp.fetch(track_url, {muteHttpExceptions: true});
  }

  // track script run, no sensitive data collected
  track();

  // name exclusion list
  var placementListName = 'KONSPIRATORI.sk';

  var sharedExcludedPlacementSelector = AdWordsApp.excludedPlacementLists().orderBy("SharedSetId DESC");

  var sharedExcludedPlacementIterator = sharedExcludedPlacementSelector.get();
  var placementList = null;

  while (sharedExcludedPlacementIterator.hasNext()) {
    var sharedExcludedPlacement = sharedExcludedPlacementIterator.next();
    if(sharedExcludedPlacement.getName() == placementListName) {
      placementList = sharedExcludedPlacement;
      break;
    }
  }

  if(!placementList) {
    var placementListOperation = AdWordsApp.newExcludedPlacementListBuilder().withName(placementListName).build();
    if(placementListOperation.isSuccessful()) {
      Logger.log('Placements list build success');
    }
    var placementList = placementListOperation.getResult();
  }

  placementList.addExcludedPlacements(placements);
  var sharedExcludedPlacementIterator = placementList.excludedPlacements().get();
  while (sharedExcludedPlacementIterator.hasNext()) {
    var placement = sharedExcludedPlacementIterator.next();
    Logger.log(placement.getUrl());
    if(placements.indexOf(placement.getUrl()) == -1) {
      placement.remove();
    }
  }

  // iterate over all available campaigns
  var campaignIterator = AdWordsApp.campaigns().get();

  while (campaignIterator.hasNext()) {
    var campaign = campaignIterator.next();
    track(campaign.getId()); // just for statistics, no sensitive data collected
    campaign.addExcludedPlacementList(placementList);
  }

  // iterate over all video campaigns
  var videoCampaignIterator = AdWordsApp.videoCampaigns().get();

  while (videoCampaignIterator.hasNext()) {
    var tmpExcludedChannels = youtubePlacements;
    var videoCampaign = videoCampaignIterator.next();
    var excludedYoutubeChannelIterator = videoCampaign.videoTargeting().excludedYouTubeChannels().get();

    while (excludedYoutubeChannelIterator.hasNext()) {
      var excludedYouTubeChannel = excludedYoutubeChannelIterator.next();
      if (tmpExcludedChannels.indexOf(excludedYouTubeChannel.getChannelId()) !== -1) {
        delete tmpExcludedChannels[tmpExcludedChannels.indexOf(excludedYouTubeChannel.getChannelId())];
      }
    }

    tmpExcludedChannels = tmpExcludedChannels.filter((item) => typeof item === 'string');
    // Exclude all YouTube channels in batch from campaign
    for (i=0; i<tmpExcludedChannels.length; i++){
      videoCampaign.videoTargeting().newYouTubeChannelBuilder().withChannelId(tmpExcludedChannels[i]).exclude();
    }
  }
}

 

Autor Google Ads skriptov
 

"Dobré meno môže ľahko poškodiť aj nevedomé umiestnenie reklamy na webových stránkach s nevhodným, neserióznym alebo klamlivým obsahom. Kontrola v digitálnom svete je zložitá, no nie nemožná. Aj preto sme sa zapojili do projektu konspiratori.sk. Chránime reputáciu našich klientov a bránime spojeniu ich značky so sporným obsahom." Vlado Vanek, Managing Director