a:6:{i:0;s:7222:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for marketing team leader in sirsi uttara kannada</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.satwikfood.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.satwikfood.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for marketing team leader in sirsi uttara kannada</p>
					</div>
					</div>
					</section>
									<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">Senior Marketing Team Leader/hr/</div>
									<p class="mt7px fw6">Uttara Kannada, Sirsi</p>
									
				<br>
				<p class="aj mt7px">Job Description<br />
Willing to lead a team of sales/marketing executives.<br />
 Ability to communicate with distributors,appoint ment of new distributors<br />
Identify customer needs, promote products in the given area and meet sales targets.<br />
Use effective selling skills to consistently close competitively for increased prescriptions.<br />
Influence and develop excellent relationship with doctors, dieticians, distributors & stockist in regular frequency visits.<br />
Conduct retail audits & incorporate competitive product information and marketing strategy through sales executives<br />
Ensure availability of products in hospital & medical shops<br />
Complete & effective implementation of company strategies<br />
Conduct doctor meetings, patient education programs, camps etc</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 2 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 90 Thousand  To  1  Lac  75 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Health Care / Pharmaceuticals / Medical</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">M.B.A/PGDM</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Marketing team handling</span>
												<span class="bdr dib p2px10px mr5px mt2px"> marketing</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">Email ID</td>
						<td class="p5px"><a href="mailto:satwikfood@yahoo.com"> satwikfood@yahoo.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
								</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-belgaum.htm" title="Jobs in Belgaum">Belgaum</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mysore.htm" title="Jobs in Mysore">Mysore</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-dakshina-kannada.htm" title="Jobs in Dakshina Kannada">Dakshina Kannada</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-shimoga.htm" title="Jobs in Shimoga">Shimoga</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-dharwad.htm" title="Jobs in Dharwad">Dharwad</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-davanagere.htm" title="Jobs in Davanagere">Davanagere</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-udupi.htm" title="Jobs in Udupi">Udupi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-uttara-kannada.htm" title="Jobs in Uttara Kannada">Uttara Kannada</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">(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>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-biotech-scientist-fid.htm" title="Pharma / R&D / Biotech Jobs">Pharma / R&D / Biotech</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</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: 'di9nVUZUZTNZMXhwMFRWeFJ1ZnNuUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:81:"Job openings for marketing team leader in sirsi uttara kannada | G.P. Enterprises";i:2;s:262:"Senior Marketing Team Leader/hr/ Jobs,Senior Marketing Team Leader/hr/ Jobs in Uttara Kannada,Senior Marketing Team Leader/hr/ Vacancy in Uttara Kannada,Senior Marketing Team Leader/hr/ jobs in India,Health Care / Pharmaceuticals / Medical jobs in Uttara Kannada";i:3;s:320:"Apply for Senior Marketing Team Leader/hr/ Jobs in Uttara Kannada India - Senior Marketing Team Leader/hr/ Vacancy  in Health Care / Pharmaceuticals / Medical field with 0 to 2 years Work Experience, Key Skills are Marketing team handling, marketing, Health Care / Pharmaceuticals / Medical jobs in Uttara Kannada  India";i:4;s:1463:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Senior Marketing Team Leader/hr/",
		  "baseSalary": " 90 Thousand  To  1  Lac  75 Thousand ",
		  "description": "Job Description
Willing to lead a team of sales/marketing executives.
 Ability to communicate with distributors,appoint ment of new distributors
Identify customer needs, promote products in the given area and meet sales targets.
Use effective selling skills to consistently close competitively for increased prescriptions.
Influence and develop excellent relationship with doctors, dieticians, distributors & stockist in regular frequency visits.
Conduct retail audits & incorporate competitive product information and marketing strategy through sales executives
Ensure availability of products in hospital & medical shops
Complete & effective implementation of company strategies
Conduct doctor meetings, patient education programs, camps etc",
		  "educationRequirements": "M.B.A/PGDM",
		  "experienceRequirements": "0 - 2 Years",
		  "industry": "Health Care / Pharmaceuticals / Medical",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Karnataka",
		      "addressRegion": "Uttara Kannada, Sirsi"
		    }
		  },
		 "qualifications": "M.B.A/PGDM",
		     "skills": "Marketing team handling, marketing"
		  }
		</script>
		";i:5;N;}