{"id":35948,"date":"2026-09-08T02:08:32","date_gmt":"2026-09-08T02:08:32","guid":{"rendered":"https:\/\/www.tannerdewitt.com\/?post_type=career&#038;p=35948"},"modified":"2026-09-08T02:11:31","modified_gmt":"2026-09-08T02:11:31","slug":"marketing-assistant-3-years-experience","status":"publish","type":"career","link":"https:\/\/www.tannerdewitt.com\/zh-hant\/career\/marketing-assistant-3-years-experience\/","title":{"rendered":"Marketing Assistant (3+ years\u2019 experience)"},"content":{"rendered":"\n<div class=\"careers-detail-hero-container\" id=\"careers-detail-hero-container\">\n    <div class=\"flex flex-col gap-[10px]\">\n        <h2 class=\"hero-title !font-[400]\">Marketing Assistant (3+ years\u2019 experience) <span class=\"!normal-case\"><\/span><\/h2>\n        <a class=\"body1 font-roboto no-underline text-white normal-case font-bold\"\n            href=\"https:\/\/www.tannerdewitt.com\/zh-hant\/careers\/\">\n            <span class=\"sub\">\u4e8b\u696d\u767c\u5c55<\/span><\/a>\n\n    <\/div>\n    <a class=\"no-underline\" href=\"#careers-detail-contact-form-container\"> <button\n            class=\"hero-btn\">Apply Now<\/button><\/a>\n\n<\/div>\n\n\n<div class=\"careers-detail-content-container bg-[#F8F8F8]\" id=\"careers-detail-content-container\">\n    <div class=\"editor-wysiwyg career-details\">\n        <p><strong>Company Description<\/strong><\/p>\n<p>Tanner De Witt is an established and recommended independent law firm in Hong Kong. Our firm provides legal advice and representation in various areas, including Corporate and Commercial, Banking and Finance, Dispute Resolutions, Employment, Family, Private Client and Restructuring and Insolvency. We work with public and private companies, multinationals, partnerships, and individuals involved in various activities. The firm receives top ratings from industry publications and operates in many industry sectors. Our team is multilingual and speaks many Asian and European languages.<\/p>\n<p><strong>Role Description<\/strong><\/p>\n<p>This is a full-time Marketing Assistant role supporting the Marketing &amp; Business Development (BD) team in delivering firm-wide marketing initiatives and campaigns. This is a hands-on coordination role covering event and logistics, CRM\/database, website and social media content administration, and be responsible for various day-to-day tasks, including communication and customer service, market research, sales and marketing support, and administration.<\/p>\n<p><strong>Responsibilities<\/strong><\/p>\n<ul>\n<li>Provide general marketing and administrative support to the Marketing &amp; BD team and lawyers (eg. coordinating requests, tracking deliverables, following up on actions)<\/li>\n<li>Help implement marketing initiatives as guided by partners and the Chief Marketing Officer (CMO).<\/li>\n<li>Assist with maintaining the integrity and quality of the firm&#8217;s CRM database, including contact updates, data cleansing, duplicate management, tagging, segmentation and meeting\/activity tracking.<\/li>\n<li>Maintain marketing records and lists with strong attention to detail and confidentiality.<\/li>\n<li>Coordinate travel, accommodation, registrations, meeting schedules and expense administration for conferences, sponsorships and business development activities.<\/li>\n<li>Coordinate logistics for internal and external seminars, events (eg. venue liaison, registrations, on-the-day support, post-event follow-ups).<\/li>\n<li>Assist with keeping website pages and content records updates and support internal marketing calendars\/intranet updates where applicable.<\/li>\n<li>Support the preparation, scheduling and publication of LinkedIn and other social media content, including lawyer profile-raising initiatives, event promotion and firm announcements.<\/li>\n<li>Support general administrative tasks such as coordinating practice group meetings, basic expense tracking, and membership renewals.<\/li>\n<\/ul>\n<p><strong>Requirements<\/strong><\/p>\n<ul>\n<li>At least three years\u2019 experience in a marketing and business development role.<\/li>\n<li>Exceptional attention to detail with the ability to accurately manage large volumes of information, deadlines and administrative processes.<\/li>\n<\/ul>\n<ul>\n<li>Strong communication and interpersonal skills.<\/li>\n<li>Experience in BD support and event planning\/execution.<\/li>\n<li>Excellent writing skills for content creation and marketing materials.<\/li>\n<li>Proficiency in Microsoft Office and experience with content creation tools such as Canva, Adobe Creative Suite or equivalent platforms.<\/li>\n<li>Experience in social media management and digital marketing.<\/li>\n<li>Bachelor\u2019s degree in Marketing, Communications, Business Administration, or related field.<\/li>\n<li>PC knowledge and skilled in MS Office applications including some experience in using communications and SEO\/Affiliates tools.<\/li>\n<li>Able to work independently and collaboratively within a team.<\/li>\n<li>Excellent command of spoken and written English and Cantonese; Mandarin is an advantage<\/li>\n<\/ul>\n<p><strong>Personal Attributes<\/strong><\/p>\n<ul>\n<li>Positive, proactive and solutions-oriented mindset.<\/li>\n<li>Strong organisational skills and ability to manage multiple priorities.<\/li>\n<li>Willingness to learn new systems, technologies and marketing disciplines.<\/li>\n<li>Strong sense of accountability and follow-through.<\/li>\n<li>Professional, collaborative and client-service oriented approach.<\/li>\n<\/ul>\n<p>Competitive package commensurate with experience and qualifications will be offered to the right candidate. We ask interested candidates to send their CV and covering letter to\u00a0<a href=\"mailto:careers@tannerdewitt.com\">careers@tannerdewitt.com<\/a>. Personal data collected will be used for recruitment purposes only.<\/p>\n    <\/div>\n<\/div>\n\n\n\n<div class=\"careers-detail-contact-form-container container !pt-[80px]\" id=\"careers-detail-contact-form-container\">\n    <div class=\"shadow-[0px_4px_20px_0px_rgba(0,0,0,0.10)] w-full h-full xl:flex max-w-[1360px] mx-auto\">\n        <div class=\"left-section\">\n            <div class=\"left-section-wrapper\">\n                <p class=\"heading3\">Job Application<\/p>\n                <span class=\"body1 flex items-center gap-[10px]\">\n                    <img decoding=\"async\" class=\"w-[24px] h-[24px]\"\n                        src=\"https:\/\/www.tannerdewitt.com\/wp-content\/themes\/tanner-de-witt\/images\/tdw-contact-form-phone-logo.png\"\n                        alt=\"phone logo\" \/>\n                                            <a class=\"no-underline\" href=\"tel:852 2573 5000\">\n                            +852 2573 5000                        <\/a>\n                                    <\/span>\n                <span class=\"body1 flex items-center gap-[10px]\">\n                    <img decoding=\"async\" class=\"w-[24px] h-[24px]\"\n                        src=\"https:\/\/www.tannerdewitt.com\/wp-content\/themes\/tanner-de-witt\/images\/tdw-contact-form-phone-logo1.png\"\n                        alt=\"phone logo\" \/>\n                                            <a class=\"no-underline\" href=\"tel:852 2802 3553\">\n                            +852 2802 3553                        <\/a>\n                                    <\/span>\n                <div class=\"body1 flex justify-start gap-[10px]\">\n                    <img decoding=\"async\" class=\"w-[24px] h-[24px] mt-[3px]\"\n                        src=\"https:\/\/www.tannerdewitt.com\/wp-content\/themes\/tanner-de-witt\/images\/tdw-contact-form-location-logo.png\"\n                        alt=\"location logo\" \/>\n                    <div class=\"xl:max-w-[286px]\">\n                        \u9999\u6e2f\u91d1\u9418\u7687\u540e\u5927\u9053\u677189\u865f\u529b\u5bf6\u4e2d\u5fc3\u7b2c\u4e00\u671f17\u6a13                    <\/div>\n                <\/div>\n                <span class=\"body1 flex items-center gap-[10px]\">\n                    <img decoding=\"async\" class=\"w-[24px] h-[24px]\"\n                        src=\"https:\/\/www.tannerdewitt.com\/wp-content\/themes\/tanner-de-witt\/images\/tdw-contact-form-email-logo.png\"\n                        alt=\"email logo\" \/>\n                    <a class=\"no-underline\" href=\"mailto:careers@tannerdewitt.com \">\n                        careers@tannerdewitt.com                     <\/a>\n                <\/span>\n            <\/div>\n        <\/div>\n\n        <div class=\"right-section\">\n            <div class=\"career-form\">\n                \n                                         <iframe  frameborder=\"0\" style=\"height:800px;width:99%;border:none;\" src='https:\/\/forms.zohopublic.com\/tannerdewitt\/form\/HRFormzhhant\/formperma\/Fd1J4SyyJ6MOE7JQJ4WMWKqN8YpmHN7EXfw-VgSgE04' >\n<\/iframe>\n                                    \n            <\/div>\n            <script>\n                (function () {\n                    document.addEventListener('DOMContentLoaded', function () {\n                        const selects = document.querySelectorAll('#careers-detail-contact-form-container form select');\n                        if (selects) {\n                            selects.forEach(select => {\n                                select.addEventListener('change', function () {\n                                    this.classList.add('value-selected');\n                                });\n                            });\n                        }\n                    });\n                })();\n            <\/script>\n            <script>\n                document.querySelector(\".zf-submitColor\").addEventListener(\"click\", function (e) {\n                    e.preventDefault();\n\n                    let valid = true;\n\n                    function showError(id, msg, inputSelector) {\n                        let el = document.getElementById(id);\n                        if (el) {\n                            el.style.display = \"block\";\n                            el.innerText = msg;\n                        }\n                        if (inputSelector) {\n                            document.querySelector(inputSelector).classList.add(\"input-error\");\n                        }\n                    }\n\n                    function hideError(id, inputSelector) {\n                        let el = document.getElementById(id);\n                        if (el) {\n                            el.style.display = \"none\";\n                        }\n                        if (inputSelector) {\n                            document.querySelector(inputSelector).classList.remove(\"input-error\");\n                        }\n                    }\n\n                    \/\/ First Name\n                    if (document.querySelector(\"[name='Name_First']\").value.trim() == \"\") {\n                        showError(\"Name_error\", \"First name and last name are required\", \"[name='Name_First']\");\n                        valid = false;\n                    } else {\n                        hideError(\"Name_error\", \"[name='Name_First']\");\n                    }\n\n                    \/\/ Last Name\n                    if (document.querySelector(\"[name='Name_Last']\").value.trim() == \"\") {\n                        showError(\"Name_error\", \"First name and last name are required\", \"[name='Name_Last']\");\n                        valid = false;\n                    } else {\n                        hideError(\"Name_error\", \"[name='Name_Last']\");\n                    }\n\n                    \/\/ Phone\n                    if (document.querySelector(\"[name='PhoneNumber_countrycode']\").value.trim() == \"\") {\n                        showError(\"PhoneNumber_error\", \"Phone number is required\", \"[name='PhoneNumber_countrycode']\");\n                        valid = false;\n                    } else {\n                        hideError(\"PhoneNumber_error\", \"[name='PhoneNumber_countrycode']\");\n                    }\n\n                    \/\/ Email\n                    let email = document.querySelector(\"[name='Email']\").value.trim();\n                    let emailPattern = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/;\n                    if (email == \"\" || !emailPattern.test(email)) {\n                        showError(\"Email_error\", \"Enter valid email\", \"[name='Email']\");\n                        valid = false;\n                    } else {\n                        hideError(\"Email_error\", \"[name='Email']\");\n                    }\n\n                    \/\/ Languages checkbox\n                    const langContainer = document.querySelector(\".zf-checkbox .zf-tempContDiv\");\n                    const langChecked = langContainer.querySelectorAll(\"input[name='Checkbox']:checked\").length;\n                    const langError = langContainer.querySelector(\".zf-errorMessage\");\n\n                    if (langChecked === 0) {\n                        langError.style.display = \"block\";\n                        langError.innerText = \"Please select at least one language\";\n                        valid = false;\n                    } else {\n                        langError.style.display = \"none\";\n                    }\n\n                    \/\/ File upload\n                    const fileContainer = document.querySelector(\"input[name='FileUpload']\").closest(\".zf-tempContDiv\");\n                    const fileInput = fileContainer.querySelector(\"input[name='FileUpload']\");\n                    const fileError = fileContainer.querySelector(\".zf-errorMessage\");\n\n                    if (fileInput && fileInput.files.length === 0) {\n                        fileError.style.display = \"block\";\n                        fileError.innerText = \"Please upload at least one file\";\n                        valid = false;\n                    } else {\n                        fileError.style.display = \"none\";\n                    }\n\n\n                    \/\/ Position\n                    if (document.querySelector(\"[name='SingleLine']\").value.trim() == \"\") {\n                        showError(\"SingleLine_error\", \"Position is required\", \"[name='SingleLine']\");\n                        valid = false;\n                    } else {\n                        hideError(\"SingleLine_error\", \"[name='SingleLine']\");\n                    }\n\n\n\n                    \/\/ Checkbox\n                    if (!document.getElementById(\"DecisionBox\").checked) {\n                        showError(\"DecisionBox_error\", \"You must accept the policy\", \"#DecisionBox\");\n                        valid = false;\n                    } else {\n                        hideError(\"DecisionBox_error\", \"#DecisionBox\");\n                    }\n\n                    if (valid) {\n                        document.getElementById(\"form\").submit();\n                    }\n                });\n                window.addEventListener('pageshow', function (event) {\n                    \/\/ This triggers on back\/forward navigation\n                    if (event.persisted || window.performance && window.performance.navigation.type === 2) {\n                        const form = document.getElementById('form');\n                        if (form) {\n                            form.reset();  \/\/ clears all inputs\n                            \/\/ Also remove error classes if any\n                            const errorInputs = form.querySelectorAll('.input-error');\n                            errorInputs.forEach(el => el.classList.remove('input-error'));\n                        }\n                    }\n                });\n            <\/script>\n        <\/div>\n    <\/div>\n<\/div>\n<script type=\"text\/javascript\">\n    var zf_DateRegex = new RegExp(\"^(([0][1-9])|([1-2][0-9])|([3][0-1]))[-](Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec|JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)[-](?:(?:19|20)[0-9]{2})$\");\n    var zf_MonthYearRegex = new RegExp(\"^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec|JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)[-](?:(?:19|20)[0-9]{2})$\");\n    var zf_MandArray = [\"Name_First\", \"Name_Last\", \"PhoneNumber_countrycode\", \"Email\", \"SingleLine\", \"FileUpload\", \"DecisionBox\"];\n    var zf_FieldArray = [\"Name_First\", \"Name_Last\", \"PhoneNumber_countrycode\", \"Email\", \"Checkbox\", \"SingleLine\", \"FileUpload\", \"DecisionBox\"];\n    var isSalesIQIntegrationEnabled = false;\n    var salesIQFieldsArray = [];\n\n    (function () {\n        document.addEventListener(\"DOMContentLoaded\", () => {\n            \/\/ toggleOtherTextBoxOnCheckboxToggle();\n        })\n\n    })();\n\n    \/\/ function toggleOtherTextBoxOnCheckboxToggle() {\n    \/\/     const checkbox = document.querySelector(\"#Checkbox_others\");\n\n    \/\/     checkbox.addEventListener(\"change\", (event) => {\n    \/\/         const textInput = document.querySelector(\".zf-checkboxOthersInput\");\n    \/\/         textInput.classList.toggle(\"hidden\");\n    \/\/     })\n\n    \/\/ }\n<\/script>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are looking for a Marketing Assistant to join our team.<\/p>\n","protected":false},"featured_media":0,"template":"","tags":[21],"class_list":["post-35948","career","type-career","status-publish","hentry","tag-fulltime"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.tannerdewitt.com\/zh-hant\/wp-json\/wp\/v2\/career\/35948","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tannerdewitt.com\/zh-hant\/wp-json\/wp\/v2\/career"}],"about":[{"href":"https:\/\/www.tannerdewitt.com\/zh-hant\/wp-json\/wp\/v2\/types\/career"}],"version-history":[{"count":1,"href":"https:\/\/www.tannerdewitt.com\/zh-hant\/wp-json\/wp\/v2\/career\/35948\/revisions"}],"predecessor-version":[{"id":35951,"href":"https:\/\/www.tannerdewitt.com\/zh-hant\/wp-json\/wp\/v2\/career\/35948\/revisions\/35951"}],"wp:attachment":[{"href":"https:\/\/www.tannerdewitt.com\/zh-hant\/wp-json\/wp\/v2\/media?parent=35948"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tannerdewitt.com\/zh-hant\/wp-json\/wp\/v2\/tags?post=35948"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}