When I get an inbound request we're not even talking price because anybody who contacts me has seen them. I'm leaving money on the table but I don't want to spend time negotiating, it lengthens the sales cycle.
I don't do custom work until a second phase. The phase 1 service I offer goes through my standardized process so I know how long it'll take to deliver. There's very little variance which makes it easier for me to know my cost to deliver.
Phase 2 (wireframes) can be custom but by that point I have a lot more context on what I need to deliver, how long it'll take, and how much it's worth to the client. If they're asking about phase 2 it means I've proven myself and the negotiation is short because we've built trust.
I tracked time for the first couple of projects because I wanted to see how long they took to deliver. So now I know my effective hourly rate.