a:6:{i:0;s:8562:"				<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</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 />
<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"> 1  Lac  25 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">Field Marketing</span>
												<span class="bdr dib p2px10px mr5px mt2px">sales</span>
												<span class="bdr dib p2px10px mr5px mt2px">Director Marketing</span>
												<span class="bdr dib p2px10px mr5px mt2px">B2B Marketing</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="899657"><input type="hidden" name="subject" value="Applied for Field Marketing">
					</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: 'eCtWbUVrcTBYOXJRbkRqd2RPS1g1dz09',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:170:"Field Marketing Jobs,Field Marketing Jobs in Pune,Field Marketing Vacancy in Pune,Field Marketing jobs in India,Marketing / Advertising / PR / Media Planning jobs in Pune";i:3;s:298:"Apply for Field Marketing Jobs in Pune India - Field Marketing Vacancy  in Marketing / Advertising / PR / Media Planning field with 0 to 1 years Work Experience, Key Skills are Field Marketing,sales,Director Marketing,B2B Marketing, Marketing / Advertising / PR / Media Planning jobs in Pune  India";i:4;s:2927:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Field Marketing",
		  "baseSalary": " 1  Lac  25 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": "Field Marketing,sales,Director Marketing,B2B Marketing"
		  }
		</script>
		";i:5;N;}