a:6:{i:0;s:7923:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for marketing executive in mumbai</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.shrisagasconnect.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.shrisagasconnect.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for marketing executive in mumbai</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="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Marketing Executive</div>
									<p class="mt7px fw6">Mumbai</p>
								
				</div>
				<div class="dtc w125px"><div class="mt7px">
									
					<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="910712">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="905973"><input type="hidden" name="subject" value="Applied for Marketing Executive">
					</form>
			
									</div></div>
				</div>
								<br />
				<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-53d0b0627cb3c661"></script>
				<div class="fo">
				<div class="addthis_sharing_toolbox dib vam mr10px"></div>
				<a href="http://www.shrisagasconnect.in/vacancy_905973.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">At Shri Sagas Connect, marketing starts with people, and we’re looking for a customer-centric sales and marketing executive to join our thriving marketing department. The ideal candidate will have experience in outbound or inbound marketing activities, and a creative mind to help us start fresh and stay competitive. Shri Sagas Connect will rely on the marketing professional’s ability to collaborate with a team of thinkers and doers, as well as a strong capacity for managing multiple tasks at one time. He/She will be expected to prepare and present ideas and deliverables on a regular basis, and research market trends and industry data to help us stay on the cutting edge.<br />
Objectives of this Role<br />
•	Support the director in delivery of effective marketing programs that achieve company and client objectives<br />
•	Assist in execution a variety of marketing initiatives that drive brand awareness, trial and distribution, including the day-to-day execution across marketing campaigns, promotions, and sales support<br />
•	Support the Customer team to attract and procure customers to increase the brand interjection<br />
•	Support the development and execution of sales and marketing materials, adapting scopes, timelines, and deliverables as needed for maximum benefit<br />
•	Build skill sets and engage in ongoing education for the company<br />
Daily and Monthly Responsibilities<br />
•	Collaborate with team members to execute sales and marketing campaigns, leading brainstorming sessions to execute marketing plans for internal and external projects<br />
•	Meet with other stakeholders to plan and implement various marketing campaigns for brand-building and lead generation that align with overall company goals and sales targets<br />
•	Help gather, analyze and present brand, competitor insights, trends, and data<br />
•	Contribute to other lead generation and customer-acquisition activities, such as sales enablement, media promotion, networking, trade shows, and events</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"> 1  Lac  50 Thousand  To  3  Lac  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">Professional Degree, Other Bachelor Degree, M.B.A/PGDM</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Market Research Analyst</span>
												<span class="bdr dib p2px10px mr5px mt2px">Marketing Associate</span>
												<span class="bdr dib p2px10px mr5px mt2px">Digital Marketing</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
								
				<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="910712">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="905973"><input type="hidden" name="subject" value="Applied for Marketing Executive">
					</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-mumbai.htm" title="Jobs in Mumbai">Mumbai</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>
									
				</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: 'N2ZtNmZUcEhJUzFENTVWTUVqU3NWZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:83:"Job openings for marketing executive in mumbai | Shri Sagas Connect Private Limited";i:2;s:198:"Marketing Executive Jobs,Marketing Executive Jobs in Mumbai,Marketing Executive Vacancy in Mumbai,Marketing Executive jobs in India,Sales & Marketing / Business Development/telecaller jobs in Mumbai";i:3;s:329:"Apply for Marketing Executive Jobs in Mumbai India - Marketing Executive Vacancy  in Sales & Marketing / Business Development/telecaller field with 0 to 2 years Work Experience, Key Skills are Market Research Analyst,Marketing Associate,Digital Marketing, Sales & Marketing / Business Development/telecaller jobs in Mumbai  India";i:4;s:3219:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Marketing Executive",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "905973"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "",
	      "email" : ""  
	       },
		  "url": "http://www.shrisagasconnect.in/job-openings-for-marketing-executive-mumbai-905973.htm",
          "datePosted": "0000-00-00",
          
		  "baseSalary": " 1  Lac  50 Thousand  To  3  Lac ",
		  "description": "At Shri Sagas Connect, marketing starts with people, and we’re looking for a customer-centric sales and marketing executive to join our thriving marketing department. The ideal candidate will have experience in outbound or inbound marketing activities, and a creative mind to help us start fresh and stay competitive. Shri Sagas Connect will rely on the marketing professional’s ability to collaborate with a team of thinkers and doers, as well as a strong capacity for managing multiple tasks at one time. He/She will be expected to prepare and present ideas and deliverables on a regular basis, and research market trends and industry data to help us stay on the cutting edge.
Objectives of this Role
•	Support the director in delivery of effective marketing programs that achieve company and client objectives
•	Assist in execution a variety of marketing initiatives that drive brand awareness, trial and distribution, including the day-to-day execution across marketing campaigns, promotions, and sales support
•	Support the Customer team to attract and procure customers to increase the brand interjection
•	Support the development and execution of sales and marketing materials, adapting scopes, timelines, and deliverables as needed for maximum benefit
•	Build skill sets and engage in ongoing education for the company
Daily and Monthly Responsibilities
•	Collaborate with team members to execute sales and marketing campaigns, leading brainstorming sessions to execute marketing plans for internal and external projects
•	Meet with other stakeholders to plan and implement various marketing campaigns for brand-building and lead generation that align with overall company goals and sales targets
•	Help gather, analyze and present brand, competitor insights, trends, and data
•	Contribute to other lead generation and customer-acquisition activities, such as sales enablement, media promotion, networking, trade shows, and events",
		  "educationRequirements": "Professional Degree, Other Bachelor Degree, M.B.A/PGDM",
		  "experienceRequirements": "0 - 2 Years",
		  "industry": "Sales & Marketing / Business Development/telecaller",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Mumbai"
		    }
		  },
		 "qualifications": "Professional Degree, Other Bachelor Degree, M.B.A/PGDM",
		     "skills": "Market Research Analyst,Marketing Associate,Digital Marketing"
		  }
		</script>
		";i:5;N;}