Please note, this is a STATIC archive of website kommandotech.com from 11 Sep 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
when side-menu is closed this.bodySelector.classList.remove('mobile-nav-open'); } if (!currentOpenNavMenus[0].isSameNode(findParentClassNode)) { currentOpenNavMenus[0].classList.remove('open'); } } findParentClassNode.classList.toggle('open'); if (document.getElementsByClassName('toggle-mobile-overlay open').length) { // Add scroll-lock on
 
Please note, this is a STATIC archive of website kommandotech.com from 11 Sep 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
when side-menu is opened this.bodySelector.classList.add('mobile-nav-open'); } }, _hideAllMenus: function() { if (document.getElementsByClassName('toggle-mobile-overlay open').length) { // Remove scroll-lock on
 
Please note, this is a STATIC archive of website kommandotech.com from 11 Sep 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
when all menus are closed this.bodySelector.classList.remove('mobile-nav-open'); } this.menuLinks.forEach(function(elem) { var parentNode = this._findParentClassNode(this.submMenuClassName, elem); if (parentNode) { parentNode.classList.remove('open'); } }, this); }, _toggleMobileMenu: function() { this._hideAllMenus(); this.bodySelector.classList.toggle('mobile-nav-open'); this.mobileBtn.classList.toggle('open'); this.mobileMenu.classList.toggle('open'); this._hideAllMenus(); }, _isMenuItem: function(event) { return event.target.classList.contains('hd'); }, _hasSubMenu: function(event) { return this._findParentClassNode(this.submMenuClassName, event.target); }, // this is simply to test for mobile menu so we can make the // workarounds for a crappy DOM structure. :( // ie. hamburger-menu is inside the logo link to home _isMobileMenuVisible: function() { var btnStyles = window.getComputedStyle(this.mobileBtn, null); return btnStyles.getPropertyValue('display') !== 'none'; }, hasMobileMenu: function() { // assumed it's false by default return (this.mobileBtn && this.mobileOverlay); }, _findParentClassNode: function(parentClassName, child) { var testObj = child.parentNode, testClassName = testObj.getAttribute('class'), count = 1, regex = new RegExp(parentClassName, 'ig'); while (!regex.test(testClassName)) { if (/nav/ig.test(testClassName)) { testObj = false; break; // break out if you go past the nav parent } testObj = testObj.parentNode; testClassName = testObj.getAttribute('class'); count++; } return testObj; }, // event "handlers" handleClick: function(event) { if (this._isMenuItem(event)) { this._toggleMainMenu(event); } else { this._hideAllMenus(); } }, handleKeyup: function(event) { if (event.keyCode === this.escapeKeyCode) { this._hideAllMenus(); } }, handleMobileClick: function(event) { event.preventDefault(); event.stopPropagation(); this._toggleMobileMenu(); }, // initialize: build elements and event listeners init: function() { // below is because Firefox (pre ver50) doesnt understand nodeList.forEach() // even though it understands Array.forEach() and has for many years. // TODO: Remove when SurveyMonkey supports versions of FF higher than 50 this.menuLinks = [].slice.call(document.querySelectorAll('.' + this.submMenuClassName + ' a.hd')); this.bodySelector = document.querySelector('body'); this.mobileBtn = document.querySelector('.hamburger-menu'); this.mobileMenu = document.getElementById('mobileMenu'); this.mobileOverlay = document.getElementById('mobileMenuOverlay'); // TODO: it would be prudent to ensure that the test for // .hd is scoped to the header menus (mobile and desktop) this.bodySelector.addEventListener('click', this.handleClick.bind(this), false); this.mobileMenu.addEventListener('click', this.handleClick.bind(this), false); document.addEventListener('keyup', this.handleKeyup.bind(this), false); // yes this is messy. Blame duplicated code. // eventually, when time permits this should be // simplified and the separate mobile menu // html should be removed in favor of ONE menu // it's entirely doable, just not feasible atm if (this.hasMobileMenu()) { this.mobileBtn.addEventListener('click', this.handleMobileClick.bind(this), false); this.mobileOverlay.addEventListener('click', this._toggleMobileMenu.bind(this), false); } } }, classListPolyfill = function() { /* eslint-disable no-bitwise, no-unused-expressions */ if (!('classList' in document.documentElement) && Object.defineProperty && typeof HTMLElement !== 'undefined') { Object.defineProperty(HTMLElement.prototype, 'classList', { get: function() { var self = this, ret = {}; function update(fn) { return function(value) { var classes = self.className.split(/\s+/), index = classes.indexOf(value); fn(classes, index, value); self.className = classes.join(' '); }; } ret = { add: update(function(classes, index, value) { ~index || classes.push(value); }), remove: update(function(classes, index) { ~index && classes.splice(index, 1); }), toggle: update(function(classes, index, value) { ~index ? classes.splice(index, 1) : classes.push(value); }), contains: function(value) { return !!~self.className.split(/\s+/).indexOf(value); }, item: function(i) { return self.className.split(/\s+/)[i] || null; } }; Object.defineProperty(ret, 'length', { get: function() { return self.className.split(/\s+/).length; } }); return ret; } }); } /* eslint-enable no-bitwise, no-unused-expressions */ }; document.addEventListener('DOMContentLoaded', function() { // _classList_polyfill.js is not being accessed from here, in IE9. Hence duplicating the code if (!('classList' in document.createElement('a'))) { classListPolyfill(); } headerNavigation.init(); }); /* eslint-disable no-unused-vars */ var surveyHeader = { init: function() { var self = this; this.toggled = false; // cache elements this.permissionButton = $('.survey-header-tools').find('a.tool-btn.text-only'); this.permissionDialog = $('.survey-header-permission-dialog').first(); this.permissionDialogTriangle = this.permissionDialog.find('.triangle-pointer'); this.requestButtons = this.permissionDialog.length > 0 ? this.permissionDialog.find('.request-access') : []; $(window).resize(function() { self.repositionDialog(self); }); if (this.permissionButton.length > 0) { this.permissionButton.on('click', function(e) { e.preventDefault(); self.onAccessClicked(self); }); } if (this.requestButtons.length > 0) { this.requestButtons.on('click', function(e) { self.onRequestClicked(self, $(e.target)); }); } // Used to close the dialog window when you click out, perhaps there is a better way? $(document).click(function(e) { var $target = $(e.target); if ($target.closest('.survey-header-permission-dialog').length === 0 && $target.closest('.request-access-btn').length === 0) { self.onAccessClicked(self, false); } }); }, onAccessClicked: function(cls, open) { cls.toggled = open !== undefined ? open : !cls.toggled; cls.permissionButton.toggleClass('toggled', cls.toggled); cls.permissionDialog.toggleClass('hidden', !cls.toggled); if (cls.toggled) { cls.repositionDialog(cls); } }, onRequestClicked: function(cls, $target) { var section = $target.data('section'), inCreate = location.pathname.indexOf('/create/') === 0, sendMethod = 'POST', shareUrl, data, params = { 'survey_section': section, 'permissions': SM.survey_permissions }; if ($target.hasClass('disabled')) { return; } if (inCreate) { // Createweb share URL shareUrl = '/create/survey/share/' + location.search; } else if (location.pathname.indexOf('/analyze/') === 0) { // Anweb share URL shareUrl = '/analyze/ajax/share/' + location.href.split('/').pop(); sendMethod = 'GET'; } else if (location.pathname.indexOf('/collect/') === 0) { // Collectweb share URL shareUrl = '/collect/share' + location.search; } else { return; } $target .removeClass('request-access') .data('section', null) .closest('.actions') .removeClass('request') .addClass('pending'); data = { url: shareUrl, type: sendMethod, contentType: 'application/json', dataType: 'json', processData: false, cache: false }; // TODO: Spinner? Error handling? if (inCreate) { data.data = params; window.CREATE.Ajax.ajax('survey/share/', data); } else { if (sendMethod === 'GET') { data.data = $.param(params); } else { data.data = JSON.stringify(params); } $.ajax(data); } }, repositionDialog: function(cls) { var buttonOffset = cls.permissionButton.length > 0 ? cls.permissionButton.offset() : null, dialogOffset = cls.permissionDialog.length > 0 ? cls.permissionDialog.offset() : null, dialogPosition = cls.permissionDialog.length > 0 ? cls.permissionDialog.position() : null, y, x; if (buttonOffset && dialogOffset && dialogPosition && cls.toggled) { y = buttonOffset.top + cls.permissionButton.height() - dialogOffset.top + dialogPosition.top + 10; x = buttonOffset.left - cls.permissionDialog.width() + cls.permissionButton.width() + 20; cls.permissionDialog.css({ 'top': y + 'px', 'left': x + 'px' }); cls.permissionDialogTriangle.css({ 'left': cls.permissionDialog.width() - (cls.permissionButton.width() + 6) / 2 - 30 + 'px' }); } } }; document.addEventListener('DOMContentLoaded', function() { surveyHeader.init(); });

Choose a plan that works for you

SAVE 16% *
SAVE 24% *

TEAM ADVANTAGE

TEAM PREMIER

ENTERPRISE

30 € / user / month 75 € / user / month

Powerful admin tools, integrations, and collaboration features for your organization.

Starting at 3 users, billed annually

Starting at 3 users, billed annually

SIGN UP SIGN UP CONTACT SALES

Survey sharing with fine control over who can view and edit

Survey sharing with fine control over who can view and edit

Survey sharing with fine control over who can view and edit

Gather comments all in one place

Gather comments all in one place

Gather comments all in one place

Let team members analyze, filter, and export results

Let team members analyze, filter, and export results

Let team members analyze, filter, and export results

Notify others when you get new responses

Notify others when you get new responses

Notify others when you get new responses

Shared asset library for on-brand surveys

Shared asset library for on-brand surveys

Shared asset library for on-brand surveys

Add Contributor Seats

Add Contributor Seats

Advanced collaboration features

Add or reassign accounts at any time

Add or reassign accounts at any time

Add or reassign accounts at any time

Free integrations with popular collaboration apps

Free integrations with popular collaboration apps

Free integrations with popular collaboration apps

50,000 responses per year*

100,000 responses per year*

Unlimited surveys and questions

24/7 Expedited email support

Phone support and 24/7 email support

Phone support and 24/7 email support**

Quizzes with custom feedback

Quizzes with custom feedback

Quizzes with custom feedback

Custom logo, colors, and survey URL

Custom logo, colors, and survey URL

Custom logo, colors, and survey URL

Question and page skip logic

Question and page skip logic

Question and page skip logic

All data exports (CSV, PDF, PPT, SPSS, XLS)

All data exports (CSV, PDF, PPT, SPSS, XLS)

All data exports (CSV, PDF, PPT, SPSS, XLS)

Accept Payments

Accept Payments

Accept Payments

Advanced analyze features

Advanced analyze features

Advanced analyze features

SurveyMonkey industry benchmarks

SurveyMonkey industry benchmarks

SurveyMonkey industry benchmarks

Click map data visualization

Click map data visualization

Multilingual surveys

Multilingual surveys

Multilingual surveys

Response Quality

Response Quality

Crosstabs

Crosstabs

Unlimited filter and compare rules, data trends

Unlimited filter and compare rules, data trends

Advanced survey logic tools

Advanced survey logic tools

Block randomization

Block randomization

White label surveys

White label surveys

Survey completion redirect

Survey completion redirect

Remove SurveyMonkey footer

Remove SurveyMonkey footer

Create private apps with direct API access

Unlimited API access**

Flexible plan types for multiple users

HIPAA-compliant features**

Customization and branding

Integrations with Salesforce, Marketo, Eloqua, and Tableau**

Admin dashboard and user management

Account control and migration

Enhanced governance and security features

Single sign-on (SSO)

Activity tracking through audit logs

Dedicated customer success manager**

See all plan features

See all plan features

See all plan features

*Displayed pricing represents a 10% or more savings per user per month compared to individual Advantage and Premier plans

**Add-on features available with Enterprise plan must be purchased separately

SurveyMonkey Audience includes access to Paid Features

Get survey responses from around the world in minutes with SurveyMonkey Audience

Target the types of people you want to hear from based on specific attributes, like country, gender, age, income, employment status, and more.

BUY TARGETED RESPONSES

Advanced survey design and analysis features are included in the price of your Audience project.

  • Unlimited number of surveys
  • 50 questions per survey
  • Unlimited responses
  • 24/7 customer support via email
  • Custom colors & survey URL
  • Data exports (CSV, PDF, PPT, XLS)
  • Skip logic
  • Question & answer piping
  • File upload
  • A/B test text and images
  • Hide SurveyMonkey footer
  • Multilingual surveys
SEE ALL PLAN FEATURES

More about plans and pricing

How much does SurveyMonkey cost?
  • (Response overages may incur additional fees)
  • The Basic plan is FREE.
  • The Standard Monthly plan costs 39 € a month.
  • The Standard Annual plan costs 35 € a month, billed annually.
  • The Advantage plan costs 36 € a month, billed annually.
  • The Premier plan costs 99 € a month, billed annually.
  • The Team Advantage plan costs 30 € a month, per user, billed annually.
  • The Team Premier plan costs 75 € a month, per user, billed annually.
Do you offer discounts for teams?

We offer discounts when you sign up for business plans that include 3 or more people. With Team Advantage and Team Premier plans, you’ll save 10% or more over personal plans and get access to additional collaboration features. See pricing

Do you offer plans for corporate needs?

Our Enterprise plans offer HIPAA compliance, advanced security, and admin features for increased governance and control. Contact sales