Back to all jobs

About the role
<div class="content-intro"><p><strong>About WPP Media</strong></p>
<p>WPP is the trusted growth partner for the world’s leading brands. With exceptional talent, trusted data and intelligence, and world-class partnerships – all united by our pioneering agentic marketing platform, WPP Open – we help clients navigate change, capture opportunity, and deliver transformational growth. </p>
<p>WPP Media is WPP's AI-driven media operating unit, bringing together media, data, and partnerships to deliver creative personalisation at scale. Connected through WPP Open and powered by Open Intelligence, clients see exactly where, how, and why their media investment is working.</p>
<p>For more information, visit <a href="wppmedia.com">wppmedia.com</a>.</p></div><p><strong><span data-contrast="none">Role Overview </span></strong><strong><span data-contrast="none"> </span></strong><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></p>
<p><span data-contrast="none">Full Stack Developer focused on programmatic advertising, responsible for building and adapting HTML5 banners from scratch or using Google Web Designer, ensuring compliance with technical specifications, clickTAG implementation. The role includes developing interactive front-end experiences and backend solutions in PHP or Node.js for internal tools and custom campaign projects, ensuring optimal performance, cross-device compatibility, and reliable data tracking, with the ability to deliver end-to-end solutions and independently troubleshoot technical issues.</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></p>
<p><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span><span data-contrast="none">The key responsibilities for the role are:</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></p>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="19" data-list-defn-props="{"335552541":1,"335559685":1440,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="1" data-aria-level="1"><span data-contrast="none">Create and adapt HTML5 banners from scratch or using Google Web Designer, including animations and interactivity</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="19" data-list-defn-props="{"335552541":1,"335559685":1440,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="2" data-aria-level="1"><span data-contrast="none">Adjust creatives to multiple formats, sizes, and programmatic platform specifications</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="19" data-list-defn-props="{"335552541":1,"335559685":1440,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="3" data-aria-level="1"><span data-contrast="none">Implement clickTAG, events, and measurement using analytics tools</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="19" data-list-defn-props="{"335552541":1,"335559685":1440,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="4" data-aria-level="1"><span data-contrast="none">Build interactive interfaces such as landing pages, mini-games, or web experiences</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="19" data-list-defn-props="{"335552541":1,"335559685":1440,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="5" data-aria-level="1"><span data-contrast="none">Create APIs and services in PHP or Node.js for logic, forms, and data storage</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="19" data-list-defn-props="{"335552541":1,"335559685":1440,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="6" data-aria-level="1"><span data-contrast="none">Validate functionality, file weight, performance, and cross-browser/mobile compatibility</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="19" data-list-defn-props="{"335552541":1,"335559685":1440,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="7" data-aria-level="1"><span data-contrast="none">Fix bugs across different devices and browsers</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="19" data-list-defn-props="{"335552541":1,"335559685":1440,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="8" data-aria-level="1"><span data-contrast="none">Work with design and other teams to execute projects</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<p><span data-ccp-props="{"201341983":0,"335559685":720,"335559738":60,"335559739":60,"335559740":240}"> </span><span data-ccp-props="{"201341983":0,"335559737":75,"335559738":60,"335559739":60,"335559740":240}"> </span></p>
<p><strong><span data-contrast="none">Skills & Experience </span></strong><span data-ccp-props="{"201341983":0,"335559737":75,"335559738":60,"335559739":60,"335559740":240}"> </span></p>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="22" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="1" data-aria-level="1"><span data-contrast="none">Over 1 year as a Full Stack Web Developer</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="22" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="2" data-aria-level="1"><span data-contrast="none">Full proficiency in languages such as HTML, CSS, JavaScript, PHP, Python.</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="22" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="3" data-aria-level="1"><span data-contrast="none">Knowledge of various frameworks and/or libraries including React, Laravel, Bootstrap, jQuery, Gsap, etc.</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="22" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="4" data-aria-level="1"><span data-contrast="none">API generation and consumption.</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="22" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="5" data-aria-level="1"><span data-contrast="none">Proficiency in Development Environments such as Visual Studio Code, Sublime, Brackets.</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="22" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="6" data-aria-level="1"><span data-contrast="none">Basic handling of Google and Microsoft suites for file management: spreadsheets, presentations, documents.</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="22" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="7" data-aria-level="1"><span data-contrast="none">Basic handling of ad servers: Celtra, Jivox, Google Studio, etc., as well as banner production tools like Google Web Designer.</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="22" data-list-defn-props="{"335552541":1,"335559685":720,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="8" data-aria-level="1"><span data-contrast="none">Conversational English. </span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<p><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></p>
<p><strong><span data-contrast="none">Expected outcomes:</span></strong><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></p>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="20" data-list-defn-props="{"335552541":1,"335559685":1440,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="1" data-aria-level="1"><span data-contrast="none">Deliver assets that work correctly across browsers and devices</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="20" data-list-defn-props="{"335552541":1,"335559685":1440,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="2" data-aria-level="1"><span data-contrast="none">Banners approved without technical rejections on platforms</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="20" data-list-defn-props="{"335552541":1,"335559685":1440,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="3" data-aria-level="1"><span data-contrast="none">Events correctly measured and visible in analytics when required</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="20" data-list-defn-props="{"335552541":1,"335559685":1440,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="4" data-aria-level="1"><span data-contrast="none">Fast load times and smooth user experience</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="20" data-list-defn-props="{"335552541":1,"335559685":1440,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="5" data-aria-level="1"><span data-contrast="none">Ability to diagnose and resolve technical issues quickly</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> </span></li>
</ul>
<ul>
<li data-leveltext="" data-font="Symbol" data-listid="20" data-list-defn-props="{"335552541":1,"335559685":1440,"335559991":360,"469769226":"Symbol","469769242":[8226],"469777803":"left","469777804":"","469777815":"hybridMultilevel"}" data-aria-posinset="6" data-aria-level="1"><span data-contrast="none">Ability to execute end-to-end projects with minimal supervision</span><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}"> <br></span></li>
</ul>
<p> </p>
<p><strong><span data-contrast="auto">Life at WPP Media and Benefits:</span></strong><span data-ccp-props="{"134233117":true,"134233118":true,"201341983":0,"335559740":240}"> </span></p>
<p><span data-contrast="auto">Our passion for shaping the next era of media includes investing in our employees to help them do their best work, and we’re just as committed to employee growth as we are to responsible media investment. WPP Media employees can tap into the global WPP Media & WPP networks to pursue their passions, grow their networks, and learn at the cutting edge of marketing and advertising. We have a variety of employee resource groups and host frequent in-office events showcasing team wins, sharing thought leadership, and celebrating holidays and milestone events. Our benefits include competitive medical, group retirement plans, vision, and dental insurance, significant paid time off, preferential partner discounts, and employee mental health awareness days. </span><span data-ccp-props="{"134233117":true,"134233118":true,"201341983":0,"335559740":240}"> </span></p>
<p><span data-contrast="auto">WPP Media is an equal opportunity employer and considers applicants for all positions without discrimination or regard to characteristics. We are committed to fostering a culture of respect in which everyone feels they belong and has the same opportunities to progress in their careers.</span> <br> <br><span data-contrast="auto">We believe the best work happens when we're together, fostering creativity, collaboration, and connection. That's why we’ve adopted a hybrid approach, with teams in the office around four days a week. If you require accommodations or flexibility, please discuss this with the hiring team during the interview process.</span><span data-ccp-props="{"134233117":true,"134233118":true,"201341983":0,"335559740":240}"> </span></p>
<p><span data-contrast="auto">While we appreciate all applications received, only those candidates selected for an interview will be contacted. </span><span data-ccp-props="{"134233117":true,"134233118":true,"201341983":0,"335559740":240}"> </span></p>
<p><span data-ccp-props="{"201341983":0,"335559738":60,"335559739":60,"335559740":240}">#LI-GOC</span></p><div class="content-conclusion"><p></p>
<p><span class="TextRun SCXW227196529 BCX8" lang="EN-CA" data-contrast="auto"><span class="NormalTextRun SCXW227196529 BCX8">Please read our <a href="https://www.wppmedia.com/pages/privacy-policy#:~:text=WPP%20Media%20Privacy%20Notice%20for%20Recruitment">Privacy Notice</a></span></span><span class="TextRun SCXW227196529 BCX8" lang="EN-CA" data-contrast="auto"> <span class="NormalTextRun SCXW227196529 BCX8">for more information on how we process the information you provide.</span></span><span class="EOP SCXW227196529 BCX8" data-ccp-props="{"201341983":0,"335559739":0,"335559740":276}"> </span></p></div>
Perks & benefits
- Dental Insurance
- Paid Time Off
747,000+ hidden jobs like this
WPP Media and thousands of companies post here first — often days before LinkedIn or Indeed. Your first 5 applications are free; go Pro to apply without limits.
Everything Pro unlocks:
- Unlimited applications — free stops at 5
- Track every application in one place
- Apply straight to the source, one click
- Save & organize roles you love
- Roles pulled from company boards before the big sites