a:6:{i:0;s:12634:"				<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
									<div class="h1"><h1>Job openings for Sales Supervisor in Gurgaon</h1></div>
					<p class="breadcrumb ar uu small"> <a href="https://www.nutanenterprises.co.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.nutanenterprises.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for Sales Supervisor in Gurgaon</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif lh13em">Sales Supervisor</div>
									<p class="mt7px fw6">Gurgaon</p>
								
				</div>
				<div class="dtc w200px ar">
				<div class="ShareDropdown dib">	
				<div class="copyLinkPopup">Link Copied</div>		  
				<span class="data"><i class="fa fa-share-alt xxlarge vam"></i></span>
				<ul class="shareList data bdr0">
				<li><a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://www.nutanenterprises.co.in/job-openings-for-sales-supervisor-gurgaon-1007142.htm" class="facebook" title="Facebook"><i class="fa fa-facebook-official"></i></a></li> 
				<li><a target="_blank" href="https://www.instagram.com/?url=https://www.nutanenterprises.co.in/job-openings-for-sales-supervisor-gurgaon-1007142.htm" class="instagram" title="Instagram"><i class="fa fa-instagram"></i></a></li>
				<li><a target="_blank" href="https://wa.me/?text=https://www.nutanenterprises.co.in/job-openings-for-sales-supervisor-gurgaon-1007142.htm" class="whatsapp" title="Whatsapp"><i class="fa fa fa-whatsapp"></i></a></li>  
				<li><a target="_blank" href="https://X.com/intent/tweet?text=Sales Supervisor&url=https://www.nutanenterprises.co.in/job-openings-for-sales-supervisor-gurgaon-1007142.htm" class="twitter" title="Twitter"><img src="https://catalog.wlimg.com/mobile/social-networking-img/1002.svg" alt="Twitter" style="width:22px;height:22px;vertical-align:middle;margin-right:6px;"></a></li> 
				<li><a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.nutanenterprises.co.in/job-openings-for-sales-supervisor-gurgaon-1007142.htm&title=Sales Supervisor" class="linkedin" title="Linkedin"><i class="fa fa-linkedin-square"></i></a></li>
				<li><a target="_blank" href="https://pinterest.com/pin/create/button/?url=https://www.nutanenterprises.co.in/job-openings-for-sales-supervisor-gurgaon-1007142.htm&description=Sales Supervisor" class="pinterest" title="Pinterest"><i class="fa fa-pinterest-square"></i></a></li>	
				<li><a href="javascript:;" title="Copy Link" class="copy" onclick="copyURL()"><i class="fa fa-clone"></i></a></li>
				</ul>
				</div>
				<script>
				$(document).ready(function(){
				$('.ShareDropdown span').click(function(){
				 $('.ShareDropdown').toggleClass("active");
				}); 
				});
				</script>
				<script>
				  function copyURL() {
				    const url = window.location.href;
					const textarea = document.createElement("textarea");
					textarea.value = url;
					textarea.style.position = "fixed";
					document.body.appendChild(textarea);
					textarea.focus();
					textarea.select();
			
					try {
					  document.execCommand("copy");
					//  alert("URL copied (fallback)!");
					  $(".copyLinkPopup").show();		 
			          setTimeout(function(){$(".copyLinkPopup").hide();}, 2000);
				      $('.ShareDropdown').removeClass("active");
					  
					} catch (err) {
					  console.error("Fallback copy failed:", err);
					}
			
					document.body.removeChild(textarea);
				  }
				</script>
				<div class="mt7px ml7px dib">
									
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="329768">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1007142"><input type="hidden" name="subject" value="Applied for Sales Supervisor">
					</form>
			
									</div></div>
				</div>
								<div class="fo mt10px">
				<a href="https://www.nutanenterprises.co.in/vacancy_1007142.rss" target="_blank" class="p5px15px dib c3px" style="background:#f8991b;color:#ffffff;"><i class="fa fa-feed"></i> RSS Feed </a>
				</div>
				<br>
				<p class="aj mt7px lh18em">Candidate must have at least 5+ Years of experience into B2B  sales.<br />Must have experience of team handling of 20+ sales executives.<br />Proven work experience as Sales Supervisor/Team Leader on papers for at least 2 years.<br />Male & Female both candidates can apply.<br />Must be from Gurgaon or Delhi only.<br />Must have some experience into product sales, clients convincing, price negotiation, cold calling.<br />Must have excellent commâ€™s skills, & sales convincing skills.<br />Must be target oriented.<br />Must be available to join within 15 days or less.<br />Note: Salary : max 35K<br />Office Time â€“ 10:00 AM to 07:00 PM <br />6 days working, Friday is week off<br />Who are we looking for?<br />This role would be part of the B2B sales function. He would drive the new customer acquisition, customer relationship management, Operations & reporting.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 5 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  25 Thousand  To  6  Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Sales & Marketing / Business Development / Telecaller</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.A</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
												<span class="bdr dib p2px10px mr5px mt2px">Sales Supervisor</span>
														<span class="bdr dib p2px10px mr5px mt2px">B2B Sales</span>
														<span class="bdr dib p2px10px mr5px mt2px">Sales Advisor</span>
														<span class="bdr dib p2px10px mr5px mt2px">Sales Associate</span>
														<span class="bdr dib p2px10px mr5px mt2px">Sales Assistant</span>
														<span class="bdr dib p2px10px mr5px mt2px">Sales</span>
														<span class="bdr dib p2px10px mr5px mt2px">Marketing Executive</span>
														<span class="bdr dib p2px10px mr5px mt2px">Business Development Executive</span>
														<span class="bdr dib p2px10px mr5px mt2px">Sales Executive</span>
														<span class="bdr dib p2px10px mr5px mt2px">Business Development Associate</span>
												</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div>
				<!--p class="large fw6">About Company</p-->
				<div>
				
								
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="329768">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1007142"><input type="hidden" name="subject" value="Applied for Sales Supervisor">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.nutanenterprises.co.in/jobs-in-alwar.htm" title="Jobs in Alwar">Alwar</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.nutanenterprises.co.in/jobs-in-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.nutanenterprises.co.in/jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.nutanenterprises.co.in/jobs-in-guwahati.htm" title="Jobs in Guwahati">Guwahati</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.nutanenterprises.co.in/jobs-in-mohali.htm" title="Jobs in Mohali">Mohali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.nutanenterprises.co.in/jobs-in-panchkula-haryana.htm" title="Jobs in Panchkula">Panchkula</a> <b class="alpha50 bn small">(1)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(2)</span><a href="https://www.nutanenterprises.co.in/jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development / Telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="https://www.nutanenterprises.co.in/jobs-in-manufacturing-production-quality-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="https://www.nutanenterprises.co.in/jobs-in-corporate-planning-fid.htm" title="Corporate Planning & Strategy / Management Consulting Jobs">Corporate Planning & Strategy ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="https://www.nutanenterprises.co.in/jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="https://www.nutanenterprises.co.in/jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="https://www.nutanenterprises.co.in/jobs-in-supply-chain-purchase-procurement-fid.htm" title="Supply Chain / Purchase / Procurement Jobs">Supply Chain / Purchase / Proc...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="https://www.nutanenterprises.co.in/jobs-in-hotel-restaurants-travel-airlines-fid.htm" title="Hotel / Restaurants / Travel / Airlines Jobs">Hotel / Restaurants / Travel /...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="https://www.nutanenterprises.co.in/jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering / Engineering Design / R&D / Quality Jobs">Engineering / Engineering Desi...</a></p>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
				
	<?php
	$source_type="";
	if (!empty($_REQUEST["utm_campaign"]) && ($_REQUEST["utm_campaign"]=="google_jobs_apply" || $_REQUEST["utm_campaign"]=="JobApplyPI")) {
		$source_type=$_REQUEST["utm_campaign"];
	}
	?>
	";i:1;s:64:"Job openings for Sales Supervisor in Gurgaon | Nutan Enterprises";i:2;s:191:"Sales Supervisor Jobs,Sales Supervisor Jobs in Gurgaon,Sales Supervisor Vacancy in Gurgaon,Sales Supervisor jobs in India,Sales & Marketing / Business Development / Telecaller jobs in Gurgaon";i:3;s:444:"Apply for Sales Supervisor Jobs in Gurgaon India - Sales Supervisor Vacancy  in Sales & Marketing / Business Development / Telecaller field with 2 to 5 years Work Experience, Key Skills are Sales Supervisor,B2B Sales,Sales Advisor,Sales Associate,Sales Assistant,Sales,Marketing Executive,Business Development Executive,Sales Executive,Business Development Associate, Sales & Marketing / Business Development / Telecaller jobs in Gurgaon  India";i:4;s:2075:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Sales Supervisor",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "Nutan Enterprises",
	        "value":  "1007142"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "Nutan Enterprises",
	      "description": "Nutan Enterprises is based in Alwar, Rajasthan and is one of the largest providers of placement services, manpower recruitment services, staffing services, HR consultancy services, payroll management services, and labour law consultancy services all over India. We believe in delivering solutions that promote your companys goals and exponentially increase the business revenue. Nutan Enterprises serves scads of organizations sprawling all over the country, engulfing small businesses, medium sized corporate houses and giant companies.",
	      "telephone" : "",
	      "email" : "nutanjobs@gmail.com"  
	       },
		  "url": "https://www.nutanenterprises.co.in/job-openings-for-sales-supervisor-gurgaon-1007142.htm",
          "datePosted": "2024-05-02",
          
		  "baseSalary": " 3  Lac  25 Thousand  To  6  Lac  50 Thousand ",
		  "description": "Candidate must have at least 5+ Years of experience into B2B  sales.rnMust have experience of team handling of 20+ sales executives.rnProven work experience as Sales Supervisor/Team Leader on papers f",
		  "educationRequirements": "B.A",
		  "experienceRequirements": "2 - 5 Years",
		  "industry": "Sales & Marketing / Business Development / Telecaller",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Haryana",
		      "addressRegion": "Gurgaon"
		    }
		  },
		 "qualifications": "B.A",
		     "skills": "Sales Supervisor,B2B Sales,Sales Advisor,Sales Associate,Sales Assistant,Sales,Marketing Executive,Business Development Executive,Sales Executive,Business Development Associate"
		  }
		</script>
		";i:5;N;}