a:6:{i:0;s:7913:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Job openings for sales manager in greater noida</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.shrplacements.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.shrplacements.in/vacancy-zone.htm" title="Vacancy Zone">Vacancy Zone</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for sales manager in greater noida</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<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="pt10px">
				<div class="xxxlarge fw6 dif">Manager Sales & Marketing- Adhesives( 3 No. )</div>
									<p class="mt7px fw6">Greater Noida</p>
									
				<br>
				<p class="aj mt7px">Specialization  -<br />
1.	Furniture<br />
2.	Upholstry<br />
3.	Footwear<br />
<br />
<br />
Role Description:<br />
•	Heading sales and  marketing vertical for each product,<br />
•	Identify and Develop Business with existing customers and new customers.<br />
•	Develops and implement a business plan and sales strategy for the market to achieve sales of the company.<br />
•	Analysis of Share of Business and devising strategies to increase the same.<br />
•	Costing of new products, Quotation of new products, and contribution analysis.<br />
•	Monitoring of competitor activity.<br />
•	Keeping execution& track of RFQ’s for New Developments & forwarding the same to Techno-Commercial team after business risk analysis. <br />
•	Initiating discussions with the customers by giving presentations.<br />
•	Control on collection of receivables.<br />
•	Initiating discussions with Customers for price negotiation &price increase, if any.<br />
•	Close interaction with customers for new business query.<br />
•	Periodical analysis of pricing trend for future planning.<br />
•	Creating good will for the company though maintaining good relationship with customers and ensure maximum customer satisfaction<br />
•	Willingness to travel and good communication skills.<br />
•	Generate MIS and Reports.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">7 - 10 Years</td>
				</tr>			
									<tr>
					<td class="alpha75 p5px">Salary</td>
					<td class="p5px">Not Disclosed</td>
					</tr>
									
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Manufacturing / Production / Quality</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">sales</span>
												<span class="bdr dib p2px10px mr5px mt2px"> marketing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> business development</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">Sperry Plast Limited</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Established in 1986, Sperry Plast Limited has made a name for itself in the list of top suppliers of PVC Pipes, Pipes & Pipe Fittings in India. The supplier company is located in Greater Noida, Uttar Pradesh and is one of the leading sellers of listed products.Sperry Plast Limited is listed in Trade India's list of verified sellers offering supreme quality of Pvc Pipes, Durable Pipe, Pipe Plastic Fta Connectors etc. Buy PVC Pipes in bulk from us for the best quality products and service.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:response@shr.in"> response@shr.in </a></td>
						</tr>
										
					</table>
									
				<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="460471">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="749935"><input type="hidden" name="subject" value="Applied for Manager Sales & Marketing- Adhesives( 3 no. )">
					</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="jobs-in-greaternoida.htm" title="Jobs in Greater Noida">Greater Noida</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</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="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="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</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>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'TG5VR3BCSlQ3UmswVFBpU3hvY042UT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:76:"Job openings for sales manager in greater noida | Strategic HR & IT Services";i:2;s:308:"Manager Sales & Marketing- Adhesives( 3 no. ) Jobs,Manager Sales & Marketing- Adhesives( 3 no. ) Jobs in Greater Noida,Manager Sales & Marketing- Adhesives( 3 no. ) Vacancy in Greater Noida,Manager Sales & Marketing- Adhesives( 3 no. ) jobs in India,Manufacturing / Production / Quality jobs in Greater Noida";i:3;s:343:"Apply for Manager Sales & Marketing- Adhesives( 3 no. ) Jobs in Greater Noida India - Manager Sales & Marketing- Adhesives( 3 no. ) Vacancy  in Manufacturing / Production / Quality field with 7 to 10 years Work Experience, Key Skills are sales, marketing, business development, Manufacturing / Production / Quality jobs in Greater Noida  India";i:4;s:1923:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Manager Sales & Marketing- Adhesives( 3 no. )",
		  "baseSalary": "",
		  "description": "Specialization  -
1.	Furniture
2.	Upholstry
3.	Footwear


Role Description:
•	Heading sales and  marketing vertical for each product,
•	Identify and Develop Business with existing customers and new customers.
•	Develops and implement a business plan and sales strategy for the market to achieve sales of the company.
•	Analysis of Share of Business and devising strategies to increase the same.
•	Costing of new products, Quotation of new products, and contribution analysis.
•	Monitoring of competitor activity.
•	Keeping execution& track of RFQ’s for New Developments & forwarding the same to Techno-Commercial team after business risk analysis. 
•	Initiating discussions with the customers by giving presentations.
•	Control on collection of receivables.
•	Initiating discussions with Customers for price negotiation &price increase, if any.
•	Close interaction with customers for new business query.
•	Periodical analysis of pricing trend for future planning.
•	Creating good will for the company though maintaining good relationship with customers and ensure maximum customer satisfaction
•	Willingness to travel and good communication skills.
•	Generate MIS and Reports.",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "7 - 10 Years",
		  "industry": "Manufacturing / Production / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Uttar Pradesh",
		      "addressRegion": "Greater Noida"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "sales, marketing, business development"
		  }
		</script>
		";i:5;N;}