a:6:{i:0;s:6207:"					<div class="h1"><h1>Senior Manager  - Client Servicing / Business Development</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> Senior Manager  - Client Servicing / Business Development</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">Senior Manager  - Client Servicing / Business Development</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">Client Servicing,Business Development,Sales Executive, Marketing Executive </td>
					</tr>
										<tr>
					<td class="p5px data b"> Qualification </td>
					<td class="p5px">Other Bachelor Degree, M.B.A/PGDM </td>
					</tr>
												<tr>
							<td class="p5px data b"> Salary (Per Annum) </td>
							<td class="p5px"> 5  Lac  To  6  Lac  </td>
							</tr>
							
											<tr>
				<td class="p5px data b"> Work Experience </td>
				<td class="p5px">4 - 8 Years</td>
				</tr>
									<tr>
					<td class="p5px data b"> Job Requirement </td>
					<td class="p5px">Experience - 4+ years<br />
Salary  5-6 Lakhs per annum (Negotiable)<br />
Location- New Delhi<br />
Job Description- Contributing to business development by maintaining and developing relationships with Clients, End-users and agencies<br />
Responsible for generating new business for Activation & Events.<br />
He/ She will be responsible for Client Interaction & Business Generation<br />
Responsible for handling Project Development starting from the Concept Layout, Space Planning to the co-ordination and Execution at Site.<br />
To ensure the achievement of Monthly, Quarterly, Yearly Targets.<br />
Will have to ensure the delivery to the client is up to his expected level of Quality.<br />
Job Responsibility-<br />
Developing a new business plan targeting high potential clients, making presentations and developing materials to reach these clients<br />
Identifying new prospects and initiating contact for follow up<br />
Preparing and presenting new business presentations / credentials presentations<br />
Participating in creative development process<br />
Writing proposals, including developing costing and doing research in suppliers where necessary<br />
Closing deals on new business<br />
Account management staying involved with new key clients through the production process (attending key meetings)<br />
Project management the role may require some project management component if necessary<br />
An ideal candidate:<br />
-Smart individual who possesses at least 2-3 years of experience in the Events Industry / Advertising.<br />
-Possess excellent communication & presentation skills.<br />
-Has sound knowledge with briefs, creative, artworks etc.<br />
-Be innovative to suggest ideas for maximizing team productivity.<br />
-Demonstrate the willingness to go the extra mile. </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, South 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">client of 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">Client is an Event Management Co. They are are proud of our 250+ clientele who are among the most reputed companies in the corporate world.</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="387697"><input type="hidden" name="subject" value="Applied for Senior Manager  - Client Servicing / Business Development">
					</form>
					</div>
			
						<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'RmFnVkxuVDFRNUY0UXdlR3pZc2R0Zz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:100:"Senior Manager  - Client Servicing / Business Development Jobs in Delhi - Vacancy in Sales/Marketing";i:2;s:311:"Senior Manager  - Client Servicing / Business Development Jobs,Senior Manager  - Client Servicing / Business Development Jobs in Delhi,Senior Manager  - Client Servicing / Business Development Vacancy in Delhi,Senior Manager  - Client Servicing / Business Development jobs in India,Sales/Marketing jobs in Delhi";i:3;s:344:"Apply for Senior Manager  - Client Servicing / Business Development Jobs in Delhi India - Senior Manager  - Client Servicing / Business Development Vacancy  in Sales/Marketing field with 4 to 8 years Work Experience, Key Skills are Client Servicing,Business Development,Sales Executive, Marketing Executive, Sales/Marketing jobs in Delhi  India";i:4;s:2477:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Senior Manager  - Client Servicing / Business Development",
		  "baseSalary": " 5  Lac  To  6  Lac ",
		  "description": "Experience - 4+ years
Salary  5-6 Lakhs per annum (Negotiable)
Location- New Delhi
Job Description- Contributing to business development by maintaining and developing relationships with Clients, End-users and agencies
Responsible for generating new business for Activation & Events.
He/ She will be responsible for Client Interaction & Business Generation
Responsible for handling Project Development starting from the Concept Layout, Space Planning to the co-ordination and Execution at Site.
To ensure the achievement of Monthly, Quarterly, Yearly Targets.
Will have to ensure the delivery to the client is up to his expected level of Quality.
Job Responsibility-
Developing a new business plan targeting high potential clients, making presentations and developing materials to reach these clients
Identifying new prospects and initiating contact for follow up
Preparing and presenting new business presentations / credentials presentations
Participating in creative development process
Writing proposals, including developing costing and doing research in suppliers where necessary
Closing deals on new business
Account management staying involved with new key clients through the production process (attending key meetings)
Project management the role may require some project management component if necessary
An ideal candidate:
-Smart individual who possesses at least 2-3 years of experience in the Events Industry / Advertising.
-Possess excellent communication & presentation skills.
-Has sound knowledge with briefs, creative, artworks etc.
-Be innovative to suggest ideas for maximizing team productivity.
-Demonstrate the willingness to go the extra mile.",
		  "educationRequirements": "Other Bachelor Degree, M.B.A/PGDM",
		  "experienceRequirements": "4 - 8 Years",
		  "industry": "Sales/Marketing",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Delhi/NCR",
		      "addressRegion": "Delhi, South Delhi"
		    }
		  },
		 "qualifications": "Other Bachelor Degree, M.B.A/PGDM",
		     "skills": "Client Servicing,Business Development,Sales Executive, Marketing Executive"
		  }
		</script>
		";i:5;N;}