1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[109],{1420:function(e,s,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/digital-marketing-resource-cost-calculator",function(){return t(3987)}])},3987:function(e,s,t){"use strict";t.r(s),t.d(s,{default:function(){return n}});var l=t(5893),a=t(7294),i=t(3650),r=t(3927);function n(){let{formatCurrency:e}=(0,r.sj)(),[s,t]=(0,a.useState)("B2C"),[n,o]=(0,a.useState)(6),[d,c]=(0,a.useState)(null),[m,x]=(0,a.useState)(!1),[h,u]=(0,a.useState)(()=>{let e={};return r.MZ.forEach(s=>{e[s.id]={active:r.UC.B2C.roles.includes(s.id),hours:s.defaultHours,toolTier:"none",productivity:s.prodDefault}}),e});(0,a.useEffect)(()=>{let e=new URLSearchParams(window.location.search),s={},t=!1;r.MZ.forEach(l=>{let a=e.get(l.id);if(null!=a){let e=Math.max(1,Math.min(40,parseInt(a,10)||0));e&&(s[l.id]=e,t=!0)}}),t&&u(e=>{let t={...e};return r.MZ.forEach(e=>{t[e.id]=null!=s[e.id]?{...t[e.id],active:!0,hours:s[e.id],toolTier:"none"}:{...t[e.id],active:!1}}),t})},[]);let j=e=>{t(e),u(s=>{let t={...s};return r.MZ.forEach(s=>{t[s.id]={...t[s.id],active:r.UC[e].roles.includes(s.id)}}),t})},b=(e,s)=>{s&&s.stopPropagation(),u(s=>({...s,[e]:{...s[e],active:!s[e].active}}))},p=e=>{h[e].active||u(s=>({...s,[e]:{...s[e],active:!0}})),c(e),document.body.style.overflow="hidden"},f=()=>{c(null),document.body.style.overflow="auto"},N=(e,s)=>{d&&u(t=>{let l={...t[d],[e]:s},a=r.MZ.find(e=>e.id===d),i=(e,s)=>Math.max(1,Math.min(40,Math.ceil(e*a.hoursPerProd*("pro"===s?.65:1))));return"toolTier"===e&&"none"!==s&&(l.hours=i(l.productivity,s)),"productivity"===e&&(l.hours=i(s,l.toolTier)),{...t,[d]:l}})},g=(0,a.useMemo)(()=>{let e=0,s=0,t=0,l=Math.max(4,Number(n)||4),a=[];return r.MZ.forEach(l=>{let i=h[l.id];if(i.active){e+=i.hours;let n=l.baseRate*r.Yx,o=i.hours*n*4.33,d="pro"===i.toolTier?l.proCost:0;s+=o,t+=d,a.push({...l,activeHours:i.hours,toolTier:i.toolTier,humanCost:o,toolCost:d,monthlyCost:o+d})}}),{totalWeeklyHours:e,totalMonthlyHumanCost:s,totalMonthlyToolCost:t,monthlyTotal:s+t,engagementTotal:(s+t)*l,activeRolesDetails:a,safeDuration:l}},[h,n]);return(0,l.jsxs)(r.E8,{children:[(0,l.jsx)(i.ZP,{title:"Digital Marketing Resource Cost Calculator | JointViews",description:"Build a custom, ongoing remote digital marketing team and estimate your monthly retainer with JointViews' digital marketing resource cost calculator.",canonical:"".concat(i._O,"/digital-marketing-resource-cost-calculator/")}),(0,l.jsx)("div",{className:"py-4 py-md-5",children:(0,l.jsxs)("div",{className:"container-xl",children:[(0,l.jsxs)("div",{className:"text-center mb-5",children:[(0,l.jsx)("div",{className:"d-flex justify-content-center mb-3",children:(0,l.jsx)("div",{className:"bg-primary p-3 rounded-3 text-white shadow-sm",children:(0,l.jsx)(r.xX,{})})}),(0,l.jsx)("h1",{className:"h3 fw-bold mb-2",style:{color:"var(--jv-primary-dark)"},children:"Digital Marketing Resource Cost Calculator"}),(0,l.jsx)("p",{className:"text-muted mb-3 mx-auto",style:{maxWidth:"600px"},children:"Build a custom, ongoing remote digital marketing team tailored to your strategy."}),(0,l.jsx)("div",{className:"section-divider"})]}),(0,l.jsxs)("div",{className:"row g-4",children:[(0,l.jsxs)("div",{className:"col-lg-8 d-flex flex-column gap-4",children:[(0,l.jsx)("div",{className:"jv-card",children:(0,l.jsx)("div",{className:"card-body p-4",children:(0,l.jsxs)("div",{className:"row g-4",children:[(0,l.jsxs)("div",{className:"col-md-7",children:[(0,l.jsxs)("label",{className:"form-label fw-semibold d-flex align-items-center mb-3",style:{color:"var(--jv-primary-dark)"},children:["Select Business Marketing Mode",(0,l.jsx)(r.u,{text:"Aligns required human resources to standard strategies.",children:(0,l.jsx)(r.IA,{})})]}),(0,l.jsx)("div",{className:"d-flex gap-2",children:Object.keys(r.UC).map(e=>(0,l.jsx)("button",{className:"btn business-mode-btn flex-grow-1 ".concat(s===e?"active":""),onClick:()=>j(e),children:e},e))}),(0,l.jsxs)("div",{className:"form-text mt-2 text-muted",style:{fontSize:"0.8rem",lineHeight:"1.3"},children:[(0,l.jsxs)("strong",{children:[r.UC[s].title,":"]}
1)," ",r.UC[s].desc]})]}),(0,l.jsxs)("div",{className:"col-md-5 d-flex flex-column justify-content-center border-start ps-md-4",children:[(0,l.jsxs)("div",{className:"d-flex justify-content-between align-items-center mb-3",children:[(0,l.jsxs)("label",{className:"form-label fw-semibold mb-0 d-flex align-items-center",style:{color:"var(--jv-primary-dark)"},children:["Engagement Duration ",(0,l.jsx)(r.u,{text:"Algorithms take time. 4-month minimum enforced.",children:(0,l.jsx)(r.IA,{})})]}),(0,l.jsxs)("span",{className:"badge bg-primary fs-6",children:[n," Months"]})]}),(0,l.jsx)("input",{type:"range",className:"form-range",min:"4",max:"24",step:"1",value:n,onChange:e=>o(parseInt(e.target.value,10))}),(0,l.jsxs)("div",{className:"d-flex justify-content-between text-muted mt-1",style:{fontSize:"0.75rem",fontWeight:"500"},children:[(0,l.jsx)("span",{children:"4 Mos"}),(0,l.jsx)("span",{children:"24 Mos"})]})]})]})})}),(0,l.jsx)("div",{className:"jv-card",children:(0,l.jsxs)("div",{className:"card-body p-4",children:[(0,l.jsxs)("div",{className:"d-flex justify-content-between align-items-center mb-4",children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)("h2",{className:"h5 fw-bold mb-1 d-flex align-items-center gap-2",style:{color:"var(--jv-primary-dark)"},children:["Aligned Human Resources ",(0,l.jsx)(r.u,{text:"These are the exact fractional skills suggested.",children:(0,l.jsx)(r.IA,{})})]}),(0,l.jsxs)("p",{className:"text-muted small mb-0",children:["Pre-selected based on ",(0,l.jsx)("strong",{children:s})," strategy. Toggle to customize."]})]}),(0,l.jsxs)("div",{className:"badge bg-light text-dark border px-3 py-2 flex-shrink-0",children:[(0,l.jsx)("span",{className:"fw-bold text-primary",children:g.activeRolesDetails.length})," / ",r.MZ.length," Active"]})]}),(0,l.jsx)("div",{className:"row g-3",children:r.MZ.map(e=>{let s=h[e.id],t=s.active;return(0,l.jsx)("div",{className:"col-md-6",children:(0,l.jsxs)("div",{className:"role-compact-card h-100 d-flex flex-column justify-content-between ".concat(t?"active":""),onClick:s=>t?null:b(e.id,s),children:[(0,l.jsxs)("div",{className:"d-flex gap-3 align-items-start mb-3",children:[(0,l.jsx)("div",{className:"jv-checkbox flex-shrink-0 mt-1",onClick:s=>b(e.id,s),children:t&&(0,l.jsx)(r.NO,{})}),(0,l.jsxs)("div",{className:"flex-grow-1",children:[(0,l.jsx)("h3",{className:"h6 fw-bold mb-1 text-dark",children:e.name}),(0,l.jsx)("p",{className:"small text-muted mb-0 lh-sm",style:{fontSize:"0.8rem"},children:e.desc})]})]}),t?(0,l.jsxs)("div",{className:"d-flex justify-content-between align-items-center mt-auto pt-2 border-top",children:[(0,l.jsxs)("div",{className:"d-flex gap-2 align-items-center",children:[(0,l.jsxs)("span",{className:"badge bg-light text-dark border d-flex align-items-center gap-1 py-1",children:[(0,l.jsx)(r.jo,{})," ~",s.hours,"h/wk"]}),"none"===s.toolTier&&(0,l.jsx)("span",{className:"tier-pill tier-none",children:"No Tools"}),"free"===s.toolTier&&(0,l.jsx)("span",{className:"tier-pill tier-free",children:"Free Tools"}),"pro"===s.toolTier&&(0,l.jsxs)("span",{className:"tier-pill tier-pro",children:[(0,l.jsx)(r.bX,{})," Pro"]})]}),(0,l.jsxs)("button",{className:"btn btn-sm btn-outline-primary d-flex align-items-center gap-1",onClick:s=>{s.stopPropagation(),p(e.id)},children:[(0,l.jsx)(r.iC,{})," Config"]})]}):(0,l.jsx)("div",{className:"mt-auto pt-2 text-center text-muted small fw-medium",children:"Click to add to team"})]})},e.id)})})]})})]}),(0,l.jsx)("div",{className:"col-lg-4",children:(0,l.jsxs)("div",{className:"sticky-top",style:{top:"20px",zIndex:1},children:[(0,l.jsx)("div",{className:"jv-card mb-4 border-primary border-top border-4",children:(0,l.jsxs)("div",{className:"card-body p-4",children:[(0,l.jsx)("h3",{className:"text-uppercase fw-bold mb-4 pb-2 border-bottom text-muted",style:{fontSize:"0.85rem"},children:"Team Cost Summary"}),(0,l.jsxs)("div",{className:"mb-4",children:[(0,l.jsx)("div",{className:"text-muted small fw-semibold mb-1",children:"Total Monthly Retainer"}),(0,l.jsx)("div",{className:"display-6 fw-bold text-dark",children:e(g.monthlyTotal)}
1),(0,l.jsx)("div",{className:"text-success small fw-medium mt-1",children:"Base Rate: India (Offshore/Remote)"})]}),(0,l.jsxs)("div",{className:"mb-4 small border rounded-3 p-3 bg-light",children:[(0,l.jsxs)("div",{className:"d-flex justify-content-between mb-2",children:[(0,l.jsx)("span",{className:"text-muted fw-semibold",children:"Human Resources"}),(0,l.jsx)("span",{className:"fw-bold",children:e(g.totalMonthlyHumanCost)})]}),(0,l.jsxs)("div",{className:"d-flex justify-content-between mb-3",children:[(0,l.jsx)("span",{className:"text-muted fw-semibold",children:"MarTech Software"}),(0,l.jsx)("span",{className:"fw-bold",children:e(g.totalMonthlyToolCost)})]}),(0,l.jsx)("button",{className:"btn btn-sm btn-outline-secondary w-100 fw-semibold",onClick:()=>{x(!0),document.body.style.overflow="hidden"},children:"View Detailed Breakdown"})]}),(0,l.jsxs)("div",{className:"mb-2",children:[(0,l.jsxs)("div",{className:"text-muted small fw-semibold mb-1 d-flex justify-content-between align-items-center",children:[(0,l.jsx)("span",{children:"Total Engagement Cost"}),(0,l.jsxs)("span",{className:"badge bg-dark text-white rounded-pill",children:[g.safeDuration," Months"]})]}),(0,l.jsx)("div",{className:"h4 fw-bold mb-0",style:{color:"var(--jv-primary-dark)"},children:e(g.engagementTotal)})]})]})}),(0,l.jsx)(r.pn,{title:"Ready to Build This Team?",subtitle:"Enter your details to receive a custom proposal for this specific ".concat(s," block."),buttonText:"Request Retainer Quote"})]})})]})]})}),d&&(0,l.jsx)("div",{className:"jv-modal-overlay",onClick:f,children:(()=>{let s=r.MZ.find(e=>e.id===d),t=h[d];return(0,l.jsxs)("div",{className:"jv-modal-content d-flex flex-column",style:{maxWidth:"500px"},onClick:e=>e.stopPropagation(),children:[(0,l.jsxs)("div",{className:"p-3 border-bottom d-flex justify-content-between bg-light",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("h3",{className:"h6 fw-bold text-dark mb-1",children:s.name}),(0,l.jsxs)("div",{className:"text-muted small d-flex align-items-center gap-1",style:{fontSize:"0.75rem"},children:[(0,l.jsx)(r.iC,{})," Detailed Configuration"]})]}),(0,l.jsx)("button",{className:"btn btn-link text-secondary p-0",onClick:f,children:(0,l.jsx)(r.bM,{})})]}),(0,l.jsxs)("div",{className:"p-3",children:[(0,l.jsxs)("h4",{className:"h6 fw-bold mb-2 d-flex align-items-center gap-2",style:{fontSize:"0.9rem"},children:[(0,l.jsx)(r.cK,{})," 1. Select Tooling Tier"]}),(0,l.jsxs)("div",{className:"row g-2 mb-3",children:[(0,l.jsx)("div",{className:"col-4",children:(0,l.jsxs)("div",{className:"tool-tier-card text-center ".concat("none"===t.toolTier?"selected":""),onClick:()=>N("toolTier","none"),style:{height:"110px"},children:[(0,l.jsx)("div",{className:"fw-bold mb-1",style:{fontSize:"0.85rem"},children:"No Tools"}),(0,l.jsx)("div",{className:"text-muted text-truncate w-100 px-1",style:{fontSize:"0.7rem"},children:"Manual execution."}),(0,l.jsxs)("div",{className:"fw-bold text-dark mt-auto",style:{fontSize:"0.85rem"},children:[e(0),"/mo"]})]})}),(0,l.jsx)("div",{className:"col-4",children:(0,l.jsxs)("div",{className:"tool-tier-card text-center ".concat("free"===t.toolTier?"selected":""),onClick:()=>N("toolTier","free"),style:{height:"110px"},children:[(0,l.jsx)("div",{className:"fw-bold text-primary mb-1",style:{fontSize:"0.85rem"},children:"Free Tier"}),(0,l.jsx)("div",{className:"text-muted text-truncate w-100 px-1",style:{fontSize:"0.7rem"},children:s.freeTools}),(0,l.jsxs)("div",{className:"fw-bold text-primary mt-auto",style:{fontSize:"0.85rem"},children:[e(0),"/mo"]})]})}),(0,l.jsx)("div",{className:"col-4",children:(0,l.jsxs)("div",{className:"tool-tier-card text-center ".concat("pro"===t.toolTier?"selected":""),onClick:()=>N("toolTier","pro"),style:{height:"110px"},children:[(0,l.jsxs)("div",{className:"fw-bold text-warning-emphasis mb-1 d-flex align-items-center justify-content-center gap-1",style:{fontSize:"0.85rem"},children:[(0,l.jsx)(r.bX,{})," Pro"]}),(0,l.jsx)("div",{className:"text-muted text-truncate w-100 px-1",style:{fontSize:"0.7rem"},children:s.proTools}),(0,l.jsxs)("div",{className:"fw-bold text-warning-emphasis mt-auto",style:{fontSize:"0.85rem"},children:["+",e(s.proCost),"/mo"]})]})})]}),(0,l.jsx)("div",{className:"pt-3 border-top",style:{height:"240px"},children:"none"===t.toolTier?(0,l.jsxs)("div",{children:[(0,l.jsxs)("h4",{className:"h6 fw-bold mb-2 d-flex align-items-center justify-content-between",style:{fontSize:"0.9rem"},children:[(0,l.jsxs)("span",{children:[(0,l.jsx)(r.jo,{})," 2. Manual Time Allocation"]}),(0,l.jsxs)("span",{className:"badge bg-primary",children:["~",t.hours," hrs/wk"]})]}),(0,l.jsx)("p",{className:"text-muted mb-3",style:{fontSize:"0.8rem",lineHeight:"1.3"},children:"Since no tools are selected, please define exactly how many hours per week this resource should manually dedicate."}),(0,l.jsx)("input",{type:"range",className:"form-range mt-2",min:"1",max:"40",step:"1",value:t.hours,onChange:e=>N("hours",parseInt(e.target.value,10))})]}):(0,l.jsxs)("div",{children:[(0,l.jsxs)("h4",{className:"h6 fw-bold mb-2 d-flex align-items-center justify-content-between",style:{fontSize:"0.9rem"},children:[(0,l.jsxs)("span",{children:[(0,l.jsx)(r.l5,{})," 2. Expected Output"]}),(0,l.jsxs)("span",{className:"badge bg-success text-white",children:["~",t.hours," hrs/wk Derived"]})]}),(0,l.jsxs)("div",{className:"p-2 mb-3 rounded-2 d-flex align-items-start gap-2 border transition-all ".concat("pro"===t.toolTier?"border-success bg-success bg-opacity-10 text-success":"border-secondary border-opacity-25 bg-light text-muted"),style:{fontSize:"0.75rem",minHeight:"46px"},children:[(0,l.jsx)("div",{className:"mt-1",children:"pro"===t.toolTier?(0,l.jsx)(r.bX,{}):(0,l.jsx)(r.IA,{})}),(0,l.jsx)("div",{style:{lineHeight:"1.3"},children:"pro"===t.toolTier?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("strong",{children:"Efficiency Unlocked:"})," Pro Stack software reduces human execution time by ~35%."]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("strong",{children:"Pro Tip:"})," Upgrading to Pro Stack software reduces required human execution time by ~35%."]})})]}),(0,l.jsxs)("div",{className:"bg-light border p-2 rounded-3 mb-3 text-center",children:[(0,l.jsx)("span",{className:"fw-bold text-primary fs-5",children:t.productivity}),(0,l.jsx)("span",{className:"text-secondary ms-2 fw-medium small",children:s.prodMetric})]}),(0,l.jsx)("input",{type:"range",className:"form-range",min:s.prodMin,max:s.prodMax,step:"1",value:t.productivity,onChange:e=>N("productivity",parseInt(e.target.value,10))})]})})]}),(0,l.jsx)("div",{className:"p-2 px-3 border-top bg-light d-flex justify-content-end",children:(0,l.jsx)("button",{className:"btn btn-primary btn-sm px-4 fw-semibold",onClick:f,children:"Confirm & Save"})})]})})()}),m&&(0,l.jsx)("div",{className:"jv-modal-overlay",onClick:()=>{x(!1),document.body.style.overflow="auto"},children:(0,l.jsxs)("div",{className:"jv-modal-content d-flex flex-column",style:{maxWidth:"700px"},onClick:e=>e.stopPropagation(),children:[(0,l.jsxs)("div",{className:"p-4 border-bottom d-flex justify-content-between bg-light",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("h3",{className:"h5 fw-bold text-dark mb-1",children:"Detailed Cost Breakdown"}),(0,l.jsx)("div",{className:"text-muted small",children:"Line-item visibility for human execution and software"})]}),(0,l.jsx)("button",{className:"btn btn-link text-secondary p-0",onClick:()=>{x(!1),document.body.style.overflow="auto"},children:(0,l.jsx)(r.bM,{})})]}),(0,l.jsx)("div",{className:"p-0",children:0===g.activeRolesDetails.length?(0,l.jsx)("div",{className:"p-5 text-center text-muted",children:(0,l.jsx)("p",{className:"mb-0",children:"No roles selected yet."})}):(0,l.jsx)("div",{className:"table-responsive m-0",children:(0,l.jsxs)("table",{className:"table table-hover align-middle mb-0",children:[(0,l.jsx)("thead",{className:"table-light",children:(0,l.jsxs)("tr",{children:[(0,l.jsx)("th",{className:"ps-4 text-muted small text-uppercase",children:"Role / Output"}),(0,l.jsx)("th",{className:"text-muted small text-uppercase",children:"Labor Cost"}),(0,l.jsx)("th",{className:"text-muted small text-uppercase",children:"Tools"}),(0,l.jsx)("th",{className:"text-muted small text-uppercase",children:"Total/Mo"}),(0,l.jsx)("th",{className:"pe-4 text-end"})]})}),(0,l.jsx)("tbody",{className:"border-top-0",children:g.activeRolesDetails.map(s=>(0,l.jsxs)("tr",{children:[(0,l.jsxs)("td",{className:"ps-4 py-3",children:[(0,l.jsx)("div",{className:"fw-bold text-dark",style:{fontSize:"0.9rem"},children:s.name}),(0,l.jsxs)("div",{className:"text-muted d-flex align-items-center gap-1 mt-1",style:{fontSize:"0.75rem"},children:[(0,l.jsx)(r.jo,{})," ~",s.activeHours,"h/wk ",(0,l.jsx)("span",{className:"mx-1",children:"â¢"})," ","none"===s.toolTier?"No Tools":"free"===s.toolTier?"Free Tools":"Pro Stack"]})]}),(0,l.jsx)("td",{className:"fw-medium text-dark",children:e(s.humanCost)}),(0,l.jsx)("td",{className:"fw-medium text-dark",children:e(s.toolCost)}),(0,l.jsx)("td",{className:"fw-bold text-primary",children:e(s.monthlyCost)}),(0,l.jsx)("td",{className:"pe-4 text-end",children:(0,l.jsx)("button",{className:"btn btn-sm btn-light border",onClick:()=>{x(!1),p(s.id)},children:"Edit"})})]},s.id))}),(0,l.jsx)("tfoot",{className:"table-light fw-bold",children:(0,l.jsxs)("tr",{children:[(0,l.jsx)("td",{className:"ps-4 py-3 text-dark",children:"MONTHLY TOTALS"}),(0,l.jsx)("td",{className:"text-dark",children:e(g.totalMonthlyHumanCost)}),(0,l.jsx)("td",{className:"text-dark",children:e(g.totalMonthlyToolCost)}),(0,l.jsx)("td",{className:"text-primary fs-5",children:e(g.monthlyTotal)}),(0,l.jsx)("td",{})]})})]})})}),(0,l.jsx)("div",{className:"p-3 border-top bg-light d-flex justify-content-end",children:(0,l.jsx)("button",{className:"btn btn-primary px-4 fw-semibold",onClick:()=>{x(!1),document.body.style.overflow="auto"},children:"Close Summary"})})]})})]})}}},function(e){e.O(0,[927,888,774,179],function(){return e(e.s=1420)}),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.