a:6:{i:0;s:8638:"				<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="h1"><h1>Job openings for copywriter in mumbai</h1></div>
					<p class="breadcrumb ar uu small"> <a href="https://www.acnxbs.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.acnxbs.com/recent-jobs.htm" title="Recent Jobs">Recent Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for copywriter in mumbai</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Copywriter</div>
									<p class="mt7px fw6">Mumbai</p>
									
				<br>
				<p class="aj mt7px">Responsibilities :- <br />
- A Powerful Writer like Editorial Level.<br />
- Write clear, attractive copy with a distinct voice.<br />
- Interpret copywriting briefs to understand project requirements as well as plan editorial calenders.<br />
- Collaborate with designers, PR and other professionals on large- and small-scale marketing projects (e.g. email campaigns and landing pages).<br />
- Conduct high-quality research and interviews.<br />
- Edit and proofread copy as needed.<br />
- Use SEO principles to maximize copy’s reach.<br />
- Source images and other content.<br />
- Prepare content strategies and content plans.<br />
- Manage Team of writers from UK and India.<br />
<br />
Requirements<br />
<br />
- Proven experience as a copywriter or related role.<br />
-Knowledge of online content strategy and creation.<br />
-Excellent writing, editing and proofreading skills.<br />
-Experience with SEO.<br />
-Strong research skills.<br />
-Creativity & Collaborative spirit.<br />
-Excellent time-management, communication and organizational skills.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">4 - 10 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  75 Thousand  To  6  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Content Writing / Journalism / Editing</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">Copywriter</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Content Writer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Content 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">Contact Person</td>
						<td class="p5px">Mr. Darshan shah</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">404, 4th Floor, Neo Corporate Plaza, Ramchandra Lane Extension, Opp. Kapol Banquet Hall, Malad - West</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9967030002 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:darshan@acnx.co.in"> darshan@acnx.co.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="633592">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="906315"><input type="hidden" name="subject" value="Applied for Copywriter">
					</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-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(30)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-navi-mumbai.htm" title="Jobs in Navi Mumbai">Navi Mumbai</a> <b class="alpha50 bn small">(3)</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">(6)</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">(5)</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">(4)</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">(4)</span><a href="jobs-in-media-entertainment-fid.htm" title="Media / Entertainment Jobs">Media / Entertainment</a></p>
										<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-corporate-planning-fid.htm" title="Corporate Planning & Strategy / Management Consulting Jobs">Corporate Planning & Strategy ...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-call-center-medical-transcription-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service / Operations Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-front-office-data-entry-fid.htm" title="Front Office / Executive Assistant / Data Entry Jobs">Front Office / Executive Assis...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-banking-investment-fid.htm" title="Banking / Investments / Stock Market / Financial Services Jobs">Banking / Investments / Stock ...</a></p>
										<p class="mb5px "><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 "><span class="fr">(1)</span><a href="jobs-in-journalism-media-publishing-fid.htm" title="Content Writing / Journalism / Editing Jobs">Content Writing / Journalism /...</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: 'Qi9RYkR5RkJRdmovWHp5N2xmbE41Zz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:62:"Job openings for copywriter in mumbai | ACNX Business Services";i:2;s:149:"Copywriter Jobs,Copywriter Jobs in Mumbai,Copywriter Vacancy in Mumbai,Copywriter jobs in India,Content Writing / Journalism / Editing jobs in Mumbai";i:3;s:272:"Apply for Copywriter Jobs in Mumbai India - Copywriter Vacancy  in Content Writing / Journalism / Editing field with 4 to 10 years Work Experience, Key Skills are Copywriter, Content Writer, Content development, Content Writing / Journalism / Editing jobs in Mumbai  India";i:4;s:1664:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Copywriter",
		  "baseSalary": " 3  Lac  75 Thousand  To  6  Lac ",
		  "description": "Responsibilities :- 
- A Powerful Writer like Editorial Level.
- Write clear, attractive copy with a distinct voice.
- Interpret copywriting briefs to understand project requirements as well as plan editorial calenders.
- Collaborate with designers, PR and other professionals on large- and small-scale marketing projects (e.g. email campaigns and landing pages).
- Conduct high-quality research and interviews.
- Edit and proofread copy as needed.
- Use SEO principles to maximize copy’s reach.
- Source images and other content.
- Prepare content strategies and content plans.
- Manage Team of writers from UK and India.

Requirements

- Proven experience as a copywriter or related role.
-Knowledge of online content strategy and creation.
-Excellent writing, editing and proofreading skills.
-Experience with SEO.
-Strong research skills.
-Creativity & Collaborative spirit.
-Excellent time-management, communication and organizational skills.",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "4 - 10 Years",
		  "industry": "Content Writing / Journalism / Editing",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Mumbai"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Copywriter, Content Writer, Content development"
		  }
		</script>
		";i:5;N;}