a:6:{i:0;s:8589:"				<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">Hi,<br />
Greetings from Aditya Technology,<br />
<br />
Here we are announcing to everyone about our project QuickArrange International LLP.<br />
<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.</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  25 Thousand  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"> 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="898527"><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-hr-recruitment-administration-ir-training-development-operations-fid.htm" title="HR / Recruitment / Administration / IR / Training & Development / Operations 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-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>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</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: 'S0x0VEhidFR0Sy9wKy9oZUc0R2lRQT09',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:313:"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 , marketing, business development, Marketing / Advertising / PR / Media Planning jobs in Pune  India";i:4;s:2920:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Field Marketing Executive",
		  "baseSalary": " 1  Lac  25 Thousand  To  2  Lac  75 Thousand ",
		  "description": "Hi,
Greetings from Aditya Technology,

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.",
		  "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 , marketing, business development"
		  }
		</script>
		";i:5;N;}