a:6:{i:0;s:11032:"					<section class="headBg theme2 bread-right">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for field marketing in kolhapur</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.pacificconsultancy.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.pacificconsultancy.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for field marketing in kolhapur</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<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="pt10px">
				<div class="xxxlarge fw6 dif">Field Marketing</div>
									<p class="mt7px fw6">Kolhapur</p>
									
				<br>
				<p class="aj mt7px">Job Position - Field Marketing (Male)<br />
<br />
Location - Kolhapur<br />
<br />
Job Description - The Field Marketing Executive position is the front end of the business. It comprises all marketing activities that involve face-to-face contact with prospects/clients. This position is to build business by identifying prospects, helping convert the prospects to clients.<br />
**<br />
**<br />
Responsibilities and Duties<br />
•	Define a region-specific marketing plan that supports the regional sales strategy.<br />
•	Plan and host online and offline events to create net-new sales opportunities, accelerate existing sales opportunities and deepen our existing customer relationships<br />
•	Strategize, build and execute integrated field campaigns that involve email marketing, direct mail marketing, and other channels as you see fit<br />
•	Assist regional sales team as needed, including increasing brand awareness locally/regionally, and driving leads and MQLs for your sales region<br />
•	Use our content management tool to build landing pages (for events, webinars, eBooks, etc.), and send automated and personalized behavioral emails<br />
•	Support various other marketing projects as needed<br />
Qualifications and Skills<br />
<br />
Skills -<br />
•	Ability to remain calm under pressure<br />
•	Familiarity with trade show and event policies and protocols<br />
•	Basic knowledge of catering practices<br />
•	Excellent problem solving and prioritizing skills<br />
•	Good Communication<br />
•	Excellent presentation skills<br />
Experience:<br />
•	Freshers may apply<br />
•	Experience in relevant field<br />
Education:<br />
•	Graduate (BA / BCOM / BBA / DBM)<br />
•	Post Graduate (MBA) (Any)<br />
Job Type: Full-time<br />
Salary: ?8,000.00 - ?14,000.00 per month</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">1 - 4 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 80 Thousand  To  1  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Sales & Marketing / Business Development/telecaller</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Good Communication skill</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Field Marketing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Field Sales</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Field Representative</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">Contact Person</td>
						<td class="p5px">Antara Patil</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">1785 E Ward, Ghugare Complex, G Enterprises Building, Shahupuri 4th Lane, Kolhapur Maharashtra Pin-416008</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">7030633999 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:info@pacificconsultancy.in"> info@pacificconsultancy.in </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="434170">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="962003"><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-kolhapur.htm" title="Jobs in Kolhapur">Kolhapur</a> <b class="alpha50 bn small">(64)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-belgaum.htm" title="Jobs in Belgaum">Belgaum</a> <b class="alpha50 bn small">(2)</b></span>
										<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">(2)</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">(11)</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">(10)</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">(10)</span><a href="jobs-in-front-office-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception/Computer Operator/Assistant Jobs">Front Office / Reception/Compu...</a></p>
										<p class="mb5px "><span class="fr">(9)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(6)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(5)</span><a href="jobs-in-financial-services-banking-investments-insurance-stock-market-loan-fid.htm" title="Financial Services / Banking, Investments / Insurance / stock market / Loan Jobs">Financial Services / Banking, ...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering/ Engineering Design / R&D / Quality Jobs">Engineering/ Engineering Desig...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-network-administration-security-fid.htm" title="IT Software - Network Administration, Security Jobs">IT Software - Network Administ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-supply-chain-purchase-procurement-fid.htm" title="Supply Chain / Purchase / Procurement Jobs">Supply Chain / Purchase / Proc...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-corporate-planning-fid.htm" title="Corporate Planning & Strategy / Management Consulting Jobs">Corporate Planning & Strategy ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-defence-forces-security-forces-fid.htm" title="Defence Forces / Security Forces Jobs">Defence Forces / Security Forc...</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</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: 'cW1vN1ZTUHdManJhSkYzU3o5c0oxQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:100:"Job openings for field marketing in kolhapur | Pacific Placements and Business Consultancy Pvt. Ltd.";i:2;s:188:"Field Marketing Jobs,Field Marketing Jobs in Kolhapur,Field Marketing Vacancy in Kolhapur,Field Marketing jobs in India,Sales & Marketing / Business Development/telecaller jobs in Kolhapur";i:3;s:340:"Apply for Field Marketing Jobs in Kolhapur India - Field Marketing Vacancy  in Sales & Marketing / Business Development/telecaller field with 1 to 4 years Work Experience, Key Skills are Good Communication skill, Field Marketing, Field Sales, Field Representative, Sales & Marketing / Business Development/telecaller jobs in Kolhapur  India";i:4;s:2400:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Field Marketing",
		  "baseSalary": " 80 Thousand  To  1  Lac ",
		  "description": "Job Position - Field Marketing (Male)

Location - Kolhapur

Job Description - The Field Marketing Executive position is the front end of the business. It comprises all marketing activities that involve face-to-face contact with prospects/clients. This position is to build business by identifying prospects, helping convert the prospects to clients.
**
**
Responsibilities and Duties
•	Define a region-specific marketing plan that supports the regional sales strategy.
•	Plan and host online and offline events to create net-new sales opportunities, accelerate existing sales opportunities and deepen our existing customer relationships
•	Strategize, build and execute integrated field campaigns that involve email marketing, direct mail marketing, and other channels as you see fit
•	Assist regional sales team as needed, including increasing brand awareness locally/regionally, and driving leads and MQLs for your sales region
•	Use our content management tool to build landing pages (for events, webinars, eBooks, etc.), and send automated and personalized behavioral emails
•	Support various other marketing projects as needed
Qualifications and Skills

Skills -
•	Ability to remain calm under pressure
•	Familiarity with trade show and event policies and protocols
•	Basic knowledge of catering practices
•	Excellent problem solving and prioritizing skills
•	Good Communication
•	Excellent presentation skills
Experience:
•	Freshers may apply
•	Experience in relevant field
Education:
•	Graduate (BA / BCOM / BBA / DBM)
•	Post Graduate (MBA) (Any)
Job Type: Full-time
Salary: ?8,000.00 - ?14,000.00 per month",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "1 - 4 Years",
		  "industry": "Sales & Marketing / Business Development/telecaller",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Kolhapur"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Good Communication skill, Field Marketing, Field Sales, Field Representative"
		  }
		</script>
		";i:5;N;}