a:6:{i:0;s:8656:"				<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<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"> 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="898234"><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-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: 'YlR3ZFRRUnpkV29tWlBDTmcvMHBCQT09',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:319:"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, Sales, Marketing, Business Development, Marketing / Advertising / PR / Media Planning jobs in Pune  India";i:4;s:3393:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Field Marketing Executive",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "898234"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "0",
	      "email" : "sjcrecruitment19@yahoo.com"  
	       },
		  "url": "http://www.suggestjobconsultingservices.com/job-openings-for-field-marketing-executive-pune-898234.htm",
          "datePosted": "2020-02-13",
          
		  "baseSalary": " 1  Lac  25 Thousand  To  2  Lac  50 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
•	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, Marketing, Business Development"
		  }
		</script>
		";i:5;N;}