Your website is making you money when the revenue you can trace back to it beats everything it costs to run. Not when it gets visitors. Not when it looks good on a phone. That's the whole test, and most owners never run it. They check pageviews. They check whether the site "feels" busy. They check what a competitor built last month. None of that answers the one question that matters: is this thing paying for itself.
The formula is plain. Revenue from the site, minus what the site actually costs, divided by that cost. Where people go wrong is the cost side. A website's true cost is hosting, maintenance, content, the tools you pay for every month, plus whatever you spent to build it in the first place, not just the invoice from launch day. Skip those and the number lies to you, in your favour. Done honestly, the payoff can be real: one small retailer spent 6,500 euros on a rebuilt site and pulled in 31,000 euros in revenue from it, a 376 percent return. That number only held up because they counted every recurring cost against it, not just the build.
Once the formula is right, the next mistake is watching the wrong numbers day to day. Pageviews and bounce rate, on their own, tell you almost nothing about revenue. Conversion rate does. For a service business, somewhere between 2 and 5 percent of visitors taking a real action (a form, a call, a booking) counts as normal. Under 1 percent is a genuine problem, not bad luck. Cost per lead matters too, but only next to your average job value: fifty dollars a lead is a bargain if a client is worth two thousand, and a straight loss if a client is worth two hundred. Track it alone and the number tells you nothing.
A site can get busier while making less money. That usually gets blamed on the website itself, when the real issue is where the traffic is coming from. Visitors from a branded search or a referral convert at a different rate than visitors arriving from a broad social post, and a rising total can quietly hide a shrinking share of the good kind. Before deciding the site is broken, split traffic by source and look at what each one actually produces, not just how many people it sends through the door.
Timing changes the answer too. Organic traffic usually needs three to six months to settle in. A fair verdict on a new or rebuilt site takes six to twelve months, so judging performance in month one just manufactures a bad result. Even given enough time, no ROI number comes out perfectly clean. Search traffic builds brand recognition and repeat business that never shows up as a tracked conversion, and that gap is real, not a flaw in your spreadsheet. The goal is a number you can trust in direction, not one that's mathematically pure.
If you've counted every cost honestly, given it enough time, and the number still won't move, that's not a measurement problem anymore. It's a design and structure problem. Fix your tracking and check your traffic sources first, because that's often the real fault. If the site is still losing money after that, the fix isn't a new plugin or a fresh coat of colour. It's a studio looking at what the site is actually built to do.