Short answer: start before launch, but spend very little money on it. There's a difference between
marketing and
spending on marketing. The groundwork should begin months before you're ready to sell. That means securing your domain and business name, setting up a basic landing page with an email sign-up, claiming your social profiles, and getting your Google Business Profile ready if you serve a local area. Most of that costs next to nothing beyond your time, and it means you're not launching to an empty room.
Waiting until the product is "fully tested" is a trap. No product is ever fully tested until real customers get hold of it, and the feedback from early buyers is worth more than another month of internal tinkering. A small, controlled pre-launch (a waiting list, a soft launch to a handful of local customers, a beta for a service business) gives you both testing and marketing at the same time.
Where the money should actually go - Pre-launch: minimal spend. Domain, hosting, a decent logo, maybe some printed material if you're trading face to face. Under a few hundred pounds for most start-ups.
- Launch week: this is where a modest paid push makes sense. A small Google Ads or Meta budget, a local press release, or a launch offer to your waiting list. Set a hard cap and watch the numbers daily.
- Post-launch: scale what worked, cut what didn't. Only commit larger sums once you know your cost per customer and can see it paying back.
One practical UK point: if you're a Ltd company, pre-trading marketing costs incurred up to seven years before you start trading can usually be claimed as pre-trading expenses, so keep every receipt from day one. Sole traders get similar treatment. Check the HMRC guidance on pre-trading expenditure or ask your accountant before you spend.
The businesses that struggle tend to be the ones who spend nothing until launch day, then panic and throw money at ads with no audience built up to receive them.