Problems & solutions · Project Management

Marketing Agency Software Problems: The 7 That Cost Real Money, and How to Avoid Them

Marketing Agency Software software overview illustration showing common problems and fixes.
The short answer

The most expensive failure in an agency build is retainer burn that stays a lagging indicator after go live. If the system still tells you on the 4th of next month that a $12,000 retainer consumed 148 hours against 90 contracted, you have paid for software and kept the loss. That is roughly 58 unbilled hours on one account in one month, invoiced already, unarguable with the client, and repeated quietly across every account whose scope drifted. Everything else on this page is a variation of the same theme: data that arrives after the decision it was meant to inform.

Why does the scope get written as a task manager instead of a contract model?

Agency briefs almost always start with workflow. Projects, tasks, assignees, a board. It is the most visible part of the day, so it is what gets described, and it produces an estimate for something you already own in Asana or ClickUp.

The object your business actually turns on is the retainer, and it exists nowhere except a PDF and an account director's memory. A contract carries contracted hours per role per month, a rate card, rollover rules with expiry, a deliverable list, revision round counts and targets. Time entries have to join to that, not to a project name. Build tasks first and you get a second task manager plus a spreadsheet, which is where you started.

This is specific to agencies because your contracts are the product boundary. A software team's scope creep shows up as a slipped date. Yours shows up as work you did and never invoiced, which never appears as a line item anywhere, so nobody fights for it. The margin leaks silently by design.

The fix is to hand a developer your ugliest statement of work, the one with role level allowances, rollover with a 60 day expiry and a quarterly true up, and ask them to model it on a whiteboard before you sign anything. If they reach for a contract entity with role level allowances, they have built this. If they start drawing tasks and projects, you will spend the engagement teaching them your business. Write the scope from the ops director's month end process backwards, because that process is the requirement.

What goes wrong when you migrate Harvest time entries and Asana projects?

Extraction is not the problem. Both expose interfaces that make pulling records straightforward, and teams therefore assume migration is a scripting afternoon. The real work is mapping historical projects to contract records, and your old project names rarely map cleanly to statements of work.

The specific mess is predictable. One project called Client X 2026 spans two contract versions with different rate cards. A rebrand created three projects for one account. Someone logged six months of a retainer against a project named after a campaign that was actually a separate fixed fee job. Time entries carry a task but no role, so a burn model that needs strategy hours separated from paid media hours has nothing to split on. And a chunk of entries are logged to a catch all called Internal that turns out to contain client work.

The fix is to migrate 12 to 24 months of time entries deliberately, with one person from your operations team owning the reconciliation for a couple of weeks. Map projects to contracts explicitly, assign a role to every historical entry using the person rather than the task where the task is silent, and flag entries you cannot classify rather than guessing. Then validate by rebuilding three months you already reported on and checking the numbers match. If they do not, find out why before go live rather than after.

Why do the ad platform and finance integrations break after launch?

The reporting layer is the part clients see, and it is the part that dies quietly. Ad platform interfaces have rate limits, token expiry and account hierarchy behaviour that naive builds discover in month two. A client with three ad accounts under two business managers breaks a connector written against a single account assumption. Tokens expire on a Saturday and nobody finds out until a Monday client call.

Finance breaks differently. A read only sync to your accounting system is comparatively cheap. Bidirectional sync with classes, multi entity structure and media pass through is where estimates double, and it fails on the edge cases your finance lead already knows about: a client billed from two entities, a credit note that has to reverse a marked up pass through line, and a freelancer invoice that arrives after the client was invoiced.

The fix is to specify the failure behaviour before the happy path. Ask what happens when a token expires at the weekend, and expect an answer that includes retry, alerting to a named person and a visible stale data indicator on the report rather than a silently old number. Ask specifically about a client with multiple ad accounts under multiple business managers, because that client exists in your portfolio. And decide the depth of the finance sync at scoping, since it is the single largest swing in this category.

What happens when approval chain of custody is not covered?

Proofing tools give you annotations and versions. What they cannot give you is the join between a proof round, a contracted round count, a rate card and an invoice line. So round four opens on a three round deliverable and nobody notices, because the rounds are scattered across proofs, email threads and a video link, and nobody wants to be the person raising it with a client mid campaign.

The second half of the problem is evidence. A client marketing lead approves a headline in a direct message to a junior copywriter on a Friday. Six weeks later their legal team disputes it, and your defence is a screenshot.

The fix is an approval record that carries the deliverable identifier, the round number, the approver identity, a timestamp, an immutable snapshot of exactly what was approved, and the contract clause it sits under. When a round opens beyond the contracted count, the system drafts a change order priced from the rate card and routes it to the account director while the work is still fresh and the client still remembers asking. Inbound client email should parse back into the record through a monitored mailbox so clients never have to log into anything, because any process that requires client behaviour change will fail. Classification of inbound messages into feedback, approval or new request is a narrow and genuinely useful automation here, with the triggering sentence quoted back to the account director rather than a bare label.

Should you build custom or configure what you already own?

Plenty of agencies should configure and stop. Under roughly 25 concurrent retainers with fairly uniform contract shapes, Productive.io or Scoro set up properly will beat anything you commission, and the money belongs in people. Kantata is the right shape for larger professional services operations with more conventional contract structures. If your retainers are broadly the same and your differentiator is craft rather than process, buying is the correct answer and building is a distraction dressed as an investment.

Build when the exceptions are the business. The signals: you employ someone whose real job is joining tools together and you have quietly hired a second; your contracts carry role level allowances, rollover with expiry or quarterly true ups that the tools flatten; you can name a margin number lost to unbilled work but cannot prove it account by account; reporting labour has crossed a meaningful monthly total and none of it is billable; or your process is something you sell against, in which case putting it inside someone else's product caps it at their roadmap.

Hitting three of those, the build usually pays back on recovered unbilled scope alone. Hitting one, it does not.

How do hidden costs get into the quote?

Connector count is the first. Every ad and analytics platform is its own integration with its own quirks, and quotes commonly price two and assume the rest are similar. Ask for a per connector rate plus an ongoing maintenance rate, because platforms change and someone has to keep up.

Contract modelling is the second and the most underestimated. If every statement of work is bespoke prose, somebody has to read them and encode the exceptions, and that is interpretation work by a person who understands your commercial terms. It looks like configuration and it is not. If your quote has no line for it, the assumption is that your ops director will do it in evenings.

Third is finance depth, already covered, which can double an estimate on its own. Fourth is migration, which is reconciliation rather than export. Fifth is structure: multiple offices, multiple currencies and multiple billing entities each add real work to every money touching screen.

Sixth is compliance. You hold client ad data, customer lists and sometimes personal data across regions, so you need data residency options, per client access boundaries so a junior on one account cannot query another, audit logs on approvals and exports, and a data processing agreement your clients' procurement teams will sign. Retrofitting tenant boundaries into a system that assumed everyone sees everything is expensive, and enterprise clients will audit you on it.

The fix is to demand the estimate split into engineering, connectors, contract modelling, migration and compliance, each with an owner and a date.

What separates a build that works from one that fails here?

Timesheet compliance decides everything downstream. Burn data, profitability, capacity and change orders all rest on entries being filed, and if people file three days late the alerting is useless. Any build that treats time capture as a form has already lost. The version that works assembles a draft from calendar events, task activity and ad platform change logs and offers it at the end of the day as pre filled entries a person confirms in one tap. That shift is the single largest determinant of whether the rest of the system is worth anything.

The second determinant is where the alert lands. A pacing rule that fires at day 10 when media hours are running ahead of schedule is only useful if it reaches the account director in the place they already work, naming the account, the delta and the specific tasks driving it. A notification inside a system nobody has open is a log entry.

Third is restraint. A partner worth hiring will tell you to keep Slack, keep Google Drive, keep your proofing tool, and spend the budget only on the join those tools cannot make. Anyone quoting a full replacement of your stack is selling scope rather than judgement, and the resulting system gets routed around because it is worse at the things the specialists do well.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. McKinsey argues software developer productivity can be measured by combining system-level metrics (DORA and SPACE) with its own outcome-oriented approach, which it reports deploying across nearly 20 tech, finance, and pharmaceutical companies - a claim that sparked significant debate in the engineering community. Source: McKinsey & Company (2023) →
  2. Across more than 5,400 IT projects studied by McKinsey and the University of Oxford BT Centre, large IT projects ran on average 45% over budget and 7% over schedule while delivering 56% less value than predicted. Source: McKinsey & Company / University of Oxford (BT Centre for Major Programme Management) (2012) →
  3. Workers can expect 39% of their existing skill sets to be transformed or become outdated over 2025-2030; 77% of employers plan to upskill their workforce, and 63% identify skill gaps as the biggest barrier to business transformation. Source: World Economic Forum (2025) →
  4. In a February 2026 survey of 517 small-business employers, 82% had adopted at least one AI tool (typical firm uses five), 66% reported revenue increases linked to AI (22% reported gains exceeding 10%), and 74% said digital platforms make it easier to compete with larger firms; owners saved a median of 5 hours per week and businesses saved a median 11.5 employee-hours weekly. Source: Small Business & Entrepreneurship Council (SBE Council) (2026) →
Prasun Anand · CEO & Founder · New York

Prasun founded Digital Heroes in 2017 and leads it from New York. His work sits where commercial decisions meet delivery: which projects to take on, how teams are shaped across five offices, and where a build is likely to go wrong. Readers get the view from the side that owns the outcome.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

Why does an agency build so often end up as a second project management tool?

Because the brief describes workflow, which is the visible part of the day, rather than the contract, which is where the money is. The retainer carries contracted hours per role, a rate card, rollover rules and revision counts, and time has to join to that rather than to a project name. Hand a developer your most complicated statement of work and ask them to model it on a whiteboard before you sign, because the answer tells you immediately whether they have built this before.

What actually goes wrong migrating Harvest and Asana data?

Mapping, not extraction. Old project names rarely correspond to statements of work, one project often spans two contract versions with different rates, and historical time entries usually carry a task but no role, so a burn model has nothing to split strategy hours from media hours on. Budget a couple of weeks and one operations person, then validate by rebuilding three months you have already reported and checking the numbers match.

How do ad platform connectors fail without anyone noticing?

Partially. One platform stops returning data while the dashboard still renders, so the report shows a plausible number missing a chunk of spend. Token expiry at weekends and clients with several ad accounts under multiple business managers are the two most common triggers. Insist on retry logic, alerting to a named person and a visible stale data indicator on any report whose source has not refreshed.

Why do proofing tools not solve scope creep?

They record annotations and versions but cannot join a proof round to a contracted round count, a rate card and an invoice line, because that join depends on your contract wording. The fix is an approval record carrying the deliverable, round number, approver, timestamp, an immutable snapshot of what was approved and the clause it sits under, so an extra round automatically drafts a priced change order while the client still remembers asking.

At what point should we stay on Productive.io or Scoro instead of building?

Under roughly 25 concurrent retainers with fairly uniform contract shapes, staying put is the right call and the money belongs in people. Before deciding, try reducing contract variety instead of modelling it: agencies that standardise their statements of work into three or four shapes often remove the reason to build entirely, and that exercise is commercial rather than technical so it costs nothing to attempt.

Which cost is most often missing from an agency software quote?

Contract modelling. If every statement of work is bespoke prose, someone has to read and encode the exceptions, and that is interpretation work by a person who understands your commercial terms rather than configuration. Ask for the estimate split into engineering, connectors, contract modelling, migration and compliance, with an owner and a date on each line, then check who is assumed to be doing the reading.

Why does timesheet compliance decide whether the whole build works?

Because burn, profitability, capacity and change orders all rest on entries being filed promptly, and alerting on data that is three days late is pointless. Treating time capture as a form guarantees failure. The version that works drafts entries from calendar events, task activity and ad platform change logs and asks a person to confirm them at the end of the day, which is the difference between a burn engine that works and one that is quietly ignored.

What compliance requirements apply when we hold client ad and customer data?

Data residency choices so regional data stays in region, per client access boundaries so someone working on one account cannot query another, audit logs on approvals and data exports, and a data processing agreement your clients' procurement teams will accept. This belongs in the schema from the start, because retrofitting tenant boundaries into a system that assumed everyone can see everything is expensive and enterprise clients will audit you on it.

How small can the first version of my software be and still be worth building?
One workflow, end to end, for one type of user: the single process that currently burns the most hours or loses the most money. In Digital Heroes delivery experience, first versions scoped to 6 to 10 weeks of build time ship, get used, and generate the feedback that makes version two obviously right, while 9-month first versions routinely launch with features nobody touches. Everything you cut from v1 gets cheaper to build later, because real usage reorders the roadmap for you.
Will an app built for 10 users survive growing to 500?
Yes, if it is built on standard cloud infrastructure with a sound data model, because moving from 10 to 500 users is a hosting configuration change, not a rebuild. The scaling decisions that actually hurt are made early and invisibly: how the database is structured, how accounts and permissions are modeled, and whether background work is queued properly. Ask your agency how the system would handle ten times the load; the right answer is boring and specific, and a promise to cross that bridge later means you will pay for the bridge twice.
What's the most common mistake companies make when building their own PM tool?
Chasing feature parity with Asana or Jira. Across 2,000+ Digital Heroes projects, the builds that blow their budgets are the ones recreating Gantt charts, portfolio dashboards, and mobile apps nobody asked for, while the builds that succeed go deep on the two or three workflows that made the team leave their old tool. You are not competing with Asana's roadmap; you are replacing the 20 percent of it you actually use.
We're paying for 250 Monday seats. Would building our own tool be cheaper?
Cheaper only if you hold the tool for three years or more. 250 seats on Monday's Pro tier at about $19 per user per month is roughly $57,000 a year, while a custom platform costs $120,000 to $200,000 to build plus 15 to 20 percent annually to run, so cash break-even sits around year three. Building wins if you also gain workflow fit and unlimited seats; if Monday fits fine and you only dislike the invoice, negotiate an enterprise contract instead.
What does it cost to keep custom project management software running each year?
Budget 15 to 20 percent of the original build cost annually, so a $100,000 platform costs $15,000 to $20,000 a year to run. That covers hosting, security patches, dependency upgrades, and the item buyers forget: fixing integrations when Slack, Google, or QuickBooks change their APIs, which happens every year. Skipping the maintenance budget is how a two-year-old tool becomes impossible to upgrade.
What should I prepare before contacting a software development agency?
A one-page brief beats a 40-page requirements document: the business problem in plain words, who will use the system, the 5 to 10 workflows it must handle, the tools it must connect to, and your budget range and deadline driver. You do not need wireframes, a specification, or technical vocabulary; producing those is the agency's job during discovery. Stating a budget range up front is the single best move, because it gets you honest scoping instead of a quote engineered to win the meeting.
What tech stack should a custom project management tool be built on?
A deliberately boring one: React on the front end, Node or Python on the API, PostgreSQL for data, and websockets for live updates, which is the stack behind most tools in this category. The test is hiring risk: if your agency proposes something a mid-level developer cannot pick up in a week, you are buying a dependency, not an asset. Save exotic choices for genuine needs like offline-first mobile.
Who can build a custom project management software system?

Digital Heroes builds custom project management software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other project management software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?