a:6:{i:0;s:6405:"					<div class="h1"><h1>Marketing Manager for Delhi</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.stepuprecruiters.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.stepuprecruiters.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Marketing Manager for Delhi</p>
					<br />				
									
				<div class="h headVr large p7px"><b class="b1"></b><h2> <b>VACANCY DETAILS</b></h2></div>
				<table class="w100 formTable">
				<tr>
				<td class="w30 p5px data b">Job Title </td>
				<td class="w70 p5px">Marketing Manager for Delhi</td>
				</tr>
				
									<tr>
					<td class="p5px data b"> Gender Preference </td>
					<td class="p5px">Any</td>
					</tr>
										<tr>
					<td class="p5px data b"> Number Of Vacancy </td>
					<td class="p5px">1</td>
					</tr>
										<tr>
					<td class="p5px data b"> Industry Area </td>
					<td class="p5px">Sales/Marketing </td>
					</tr>
										<tr>
					<td class="p5px data b"> Key Skills </td>
					<td class="p5px">planning, developing, implementing, and evaluating advertising, merchandising, and trade promotion programs; developing field sales action plans </td>
					</tr>
										<tr>
					<td class="p5px data b"> Qualification </td>
					<td class="p5px">Other Bachelor Degree </td>
					</tr>
												<tr>
							<td class="p5px data b"> Salary (Per Annum) </td>
							<td class="p5px"> 3  Lac  To  3  Lac  75 Thousand  </td>
							</tr>
							
											<tr>
				<td class="p5px data b"> Work Experience </td>
				<td class="p5px">2 - 4 Years</td>
				</tr>
									<tr>
					<td class="p5px data b"> Job Requirement </td>
					<td class="p5px">Achieves marketing and sales target for oneself and responsible for team’s performance and target achievements.<br />
Achieves marketing and sales operational objectives by contributing marketing and sales information and recommendations to strategic plans and reviews; preparing and completing action plans; implementing customer-service standards; resolving problems; identifying trends; determining system improvements; implementing change.<br />
Determines annual and gross-profit plans by forecasting and developing annual sales quotas for regions; projecting expected sales volume and profit for existing and new products; analyzing trends and results; establishing pricing strategies; monitoring costs, competition, supply, and demand.<br />
Accomplishes marketing and sales objectives by planning, developing, implementing, and evaluating advertising, merchandising, and trade promotion programs; developing field sales action plans.<br />
Identifies marketing opportunities by identifying consumer requirements; defining market, competitor's share, and competitor's strengths and weaknesses; forecasting projected business; establishing targeted market share.<br />
Sustains rapport with key accounts by making periodic visits; exploring specific needs; anticipating new opportunities.<br />
Provides information by collecting, analyzing, and summarizing data and trends.<br />
Protects organization's value by keeping information confidential.<br />
Updates job knowledge by participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations.<br />
Accomplishes marketing and organization mission by completing related results as needed. </td>
					</tr>
									
				</table>
				<br />
				<br />
				<div class="h headVr large p7px"><b class="b1"></b><h2> <b>JOB LOCATION</b></h2></div>
				<table class="w100 formTable">
				
									<tr>
					<td class="w30 p5px data b">Job Country </td>
					<td class="w70 p5px">India</td>
					</tr>
										<tr>
					<td class="w30 p5px data b">Job State / U.T.</td>
					<td class="p5px">Delhi/NCR</td>
					</tr>
										<tr>
					<td class="w30 p5px data b">Job City</td>
					<td class="p5px">Delhi, North Delhi</td>
					</tr>
									
				</table>
				
								
					<br />
					<br />
					<div class="h headVr large p7px"><b class="b1"></b><h2> <b>COMPANY PROFILE</b></h2></div>
					<table class="w100 formTable">
					
											<tr>
						<td class="w30 p5px data b">Company Name</td>
						<td class="w70 p5px">StepUp Recruiters</td>
						</tr>
												<tr>
						<td class="w30 p5px data b">Company Website</td>
						<td class="p5px">www.stepuprecruiters.in</td>
						</tr>
												<tr>
						<td class="w30 p5px data b">About Company</td>
						<td class="p5px">Our client is into the solar power industry . their's is a venture in the renewable energy sector to provide Clean Energy Solutions across the globe. They provide energy solutions of the highest quality and efficiency, from solar home lighting systems to solar power plants, from small domestic solar water heaters to large industrial solar water heating systems to heat pumps. They provide Consulting, Engineering, Contracting and Commissioning services for solar power projects.</td>
						</tr>
											</table>
				
									<br />
				<br />
				<div class="h headVr large p7px"><b class="b1"></b><h2> <b>CONTACT DETAILS</b></h2></div>
				<table class="w100 formTable">
				
									<tr>
					<td class="w30 p5px data b">Email ID </td>
					<td class="p5px"><a href="mailto:stepup.recruiter@gmail.com"> stepup.recruiter@gmail.com </a> </td>
					</tr>
									
				</table>
				
									
					<div class="p10px ac">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input class="button p5px10px b" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="338838">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="383685"><input type="hidden" name="subject" value="Applied for Marketing Manager for Delhi">
					</form>
					</div>
			
						<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'OS91SFVENjBYbXo3OFlraXR6cmJvdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:70:"Marketing Manager for Delhi Jobs in Delhi - Vacancy in Sales/Marketing";i:2;s:191:"Marketing Manager for Delhi Jobs,Marketing Manager for Delhi Jobs in Delhi,Marketing Manager for Delhi Vacancy in Delhi,Marketing Manager for Delhi jobs in India,Sales/Marketing jobs in Delhi";i:3;s:354:"Apply for Marketing Manager for Delhi Jobs in Delhi India - Marketing Manager for Delhi Vacancy  in Sales/Marketing field with 2 to 4 years Work Experience, Key Skills are planning, developing, implementing, and evaluating advertising, merchandising, and trade promotion programs; developing field sales action plans, Sales/Marketing jobs in Delhi  India";i:4;s:2506:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Marketing Manager for Delhi",
		  "baseSalary": " 3  Lac  To  3  Lac  75 Thousand ",
		  "description": "Achieves marketing and sales target for oneself and responsible for team’s performance and target achievements.
Achieves marketing and sales operational objectives by contributing marketing and sales information and recommendations to strategic plans and reviews; preparing and completing action plans; implementing customer-service standards; resolving problems; identifying trends; determining system improvements; implementing change.
Determines annual and gross-profit plans by forecasting and developing annual sales quotas for regions; projecting expected sales volume and profit for existing and new products; analyzing trends and results; establishing pricing strategies; monitoring costs, competition, supply, and demand.
Accomplishes marketing and sales objectives by planning, developing, implementing, and evaluating advertising, merchandising, and trade promotion programs; developing field sales action plans.
Identifies marketing opportunities by identifying consumer requirements; defining market, competitor's share, and competitor's strengths and weaknesses; forecasting projected business; establishing targeted market share.
Sustains rapport with key accounts by making periodic visits; exploring specific needs; anticipating new opportunities.
Provides information by collecting, analyzing, and summarizing data and trends.
Protects organization's value by keeping information confidential.
Updates job knowledge by participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations.
Accomplishes marketing and organization mission by completing related results as needed.",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "2 - 4 Years",
		  "industry": "Sales/Marketing",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Delhi/NCR",
		      "addressRegion": "Delhi, North Delhi"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "planning, developing, implementing, and evaluating advertising, merchandising, and trade promotion programs; developing field sales action plans"
		  }
		</script>
		";i:5;N;}