a:6:{i:0;s:8463:"				<section id="middle">
				<div class="wrap" id="bodyFormat1">
				<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="h1"><h1>Job openings for marketing executive in pune</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.suggestjobconsultingservices.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.suggestjobconsultingservices.com/jobs-gallery.htm" title="Jobs Gallery">Jobs Gallery</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for marketing executive in pune</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Marketing Executive</div>
									<p class="mt7px fw6">Pune</p>
									
				<br>
				<p class="aj mt7px">Here We are Announcing to Everyone About Our Project Quickarrange International Llp.<br />
quick Arrange is a Web Based Portal Bringing Together Private Individuals & Small Entrepreneurs to Buy & Sell Their Products and Services. the Portal Can Be Used By Both, Users & Consumers Creating Demand & Supply of Products & Services.<br />
users Can Sell or Purchase Their Products Through a Wide Range of Categories, also Creating Categories of Their Own. Users Will have Provision of Receiving Sms & E-mails Related to Consumers Requesting for Their Products. One of the Key Features of Our Portal is that We also Send Sms& Emails to the Consumer Database We Have, Creating An Awareness of Your Product or Service. City, Area & Region Specific Search Will Facilitate to Buy & Sell Products for Specific Locations. User Will have His Own Account Which Can Help Him View How Quick Arrange Has Profited Their Business Showing a Graph Structure. <br />
this Portal Will Ease One Click Business System to Save Time, Money & Human Efforts.                                     <br />
we are a One Step Portal that Can Help You Promote all Kinds of Products & Services.<br />
<br />
<br />
job Profile:<br />
•	create Awareness of and Develop the Brand You're Marketing<br />
•	communicate with Target Audiences and Build and Develop Customer Relationships<br />
•	help with Marketing Plans, Advertising, Direct Marketing and Campaigns<br />
•	support the Marketing Manager in Delivering Agreed Activities<br />
•	source Advertising Opportunities and Place Adverts in the Press or On the Radio<br />
•	work Closely with In-house or External Creative Agencies to Design Marketing Materials such as Brochures and Adverts<br />
•	write and Proofread Marketing Copy for Both Online and Print Campaigns<br />
•	produce Creative Content, Including Videos and Blog Posts<br />
•	run Social Media Channels (e.g. Twitter, Face Book and Linkedin) to Enhance Audience Engagement<br />
•	source and Secure Sponsorship<br />
•	new Franchise Lead Generation. <br />
•	branding.<br />
•	promotions.<br />
•	strategy.<br />
•	advertising.<br />
•	field Marketing</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 1 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 80 Thousand  To  2  Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Marketing / Advertising / PR / Media Planning</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Higher Secondary, Secondary School, Vocational Course, Other Bachelor Degree, MD/Medicinae Doctor</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">Email ID</td>
						<td class="p5px"><a href="mailto:sjcrecruitment19@yahoo.com"> sjcrecruitment19@yahoo.com </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="677365">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="899058"><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-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(218)</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">(156)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(52)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-system-programming-fid.htm" title="IT Software - System Programming Jobs">IT Software - System Programmi...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-human-resources-fid.htm" title="HR / Recruitment / Administration / IR Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-dba-database-management-fid.htm" title="IT Software - DataBase / Datawarehousing Jobs">IT Software - DataBase / Dataw...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</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: 'UDBWTkFMS2VsZklsMzAwVDcxdHNQZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:78:"Job openings for marketing executive in pune | Suggest Job Consulting Services";i:2;s:186:"Marketing Executive Jobs,Marketing Executive Jobs in Pune,Marketing Executive Vacancy in Pune,Marketing Executive jobs in India,Marketing / Advertising / PR / Media Planning jobs in Pune";i:3;s:290:"Apply for Marketing Executive Jobs in Pune India - Marketing Executive Vacancy  in Marketing / Advertising / PR / Media Planning field with 0 to 1 years Work Experience, Key Skills are Sales, Marketing, Business Development, Marketing / Advertising / PR / Media Planning jobs in Pune  India";i:4;s:2905:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Marketing Executive",
		  "baseSalary": " 80 Thousand  To  2  Lac  50 Thousand ",
		  "description": "Here We are Announcing to Everyone About Our Project Quickarrange International Llp.
quick Arrange is a Web Based Portal Bringing Together Private Individuals & Small Entrepreneurs to Buy & Sell Their Products and Services. the Portal Can Be Used By Both, Users & Consumers Creating Demand & Supply of Products & Services.
users Can Sell or Purchase Their Products Through a Wide Range of Categories, also Creating Categories of Their Own. Users Will have Provision of Receiving Sms & E-mails Related to Consumers Requesting for Their Products. One of the Key Features of Our Portal is that We also Send Sms& Emails to the Consumer Database We Have, Creating An Awareness of Your Product or Service. City, Area & Region Specific Search Will Facilitate to Buy & Sell Products for Specific Locations. User Will have His Own Account Which Can Help Him View How Quick Arrange Has Profited Their Business Showing a Graph Structure. 
this Portal Will Ease One Click Business System to Save Time, Money & Human Efforts.                                     
we are a One Step Portal that Can Help You Promote all Kinds of Products & Services.


job Profile:
•	create Awareness of and Develop the Brand You're Marketing
•	communicate with Target Audiences and Build and Develop Customer Relationships
•	help with Marketing Plans, Advertising, Direct Marketing and Campaigns
•	support the Marketing Manager in Delivering Agreed Activities
•	source Advertising Opportunities and Place Adverts in the Press or On the Radio
•	work Closely with In-house or External Creative Agencies to Design Marketing Materials such as Brochures and Adverts
•	write and Proofread Marketing Copy for Both Online and Print Campaigns
•	produce Creative Content, Including Videos and Blog Posts
•	run Social Media Channels (e.g. Twitter, Face Book and Linkedin) to Enhance Audience Engagement
•	source and Secure Sponsorship
•	new Franchise Lead Generation. 
•	branding.
•	promotions.
•	strategy.
•	advertising.
•	field Marketing",
		  "educationRequirements": "Higher Secondary, Secondary School, Vocational Course, Other Bachelor Degree, MD/Medicinae Doctor",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "Marketing / Advertising / PR / Media Planning",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Pune"
		    }
		  },
		 "qualifications": "Higher Secondary, Secondary School, Vocational Course, Other Bachelor Degree, MD/Medicinae Doctor",
		     "skills": "Sales, Marketing, Business Development"
		  }
		</script>
		";i:5;N;}