a:6:{i:0;s:8346:"				<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 field 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 field marketing executive in pune</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Field 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 />
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 />
•	Field</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"> 1  Lac  To  2  Lac  75 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">Field Marketing</span>
												<span class="bdr dib p2px10px mr5px mt2px">Field Management</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="898801"><input type="hidden" name="subject" value="Applied for Field 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: 'T04zQUdPZzhhV2lMWXdmTTBrbmdFQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:84:"Job openings for field marketing executive in pune | Suggest Job Consulting Services";i:2;s:210:"Field Marketing Executive Jobs,Field Marketing Executive Jobs in Pune,Field Marketing Executive Vacancy in Pune,Field Marketing Executive jobs in India,Marketing / Advertising / PR / Media Planning jobs in Pune";i:3;s:296:"Apply for Field Marketing Executive Jobs in Pune India - Field Marketing Executive Vacancy  in Marketing / Advertising / PR / Media Planning field with 0 to 1 years Work Experience, Key Skills are Field Marketing,Field Management, Marketing / Advertising / PR / Media Planning jobs in Pune  India";i:4;s:2857:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Field Marketing Executive",
		  "baseSalary": " 1  Lac  To  2  Lac  75 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.
•	Field",
		  "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": "Field Marketing,Field Management"
		  }
		</script>
		";i:5;N;}