First of all, is it a good idea to ask a a potential client for a ballpark budget they are thinking to work with? I just don't want to meet with somebody who has a very low budget, and who could be surprised during our first meeting that I'm not the cheapest guy in town. So What do you think my first step should be when a client writes me an email and says it wants to meet me about the project? The client has no idea what I charge, beside the fact that the client likes the work I do.
I never ask for budget. I have my pricing. I price what is inline with my pricing. Then the client can mention their budget if they want to.
To me "What's your budget" has 2 outcomes:
Neither of these should be a contributing factor to your pricing. Therefore, there's little need to know the client's budget before providing a quote/bid. You should know your rates, gather an understanding of what the client needs, then price based on your rates. Only afterwards may budget be a concern if the client indicates their budget is lower than your pricing. They, obviously won't mention if their budget is higher.
I never buy anything starting the purchase by exposing what I have allotted spend. That almost always results in unnecessarily inflated pricing. Many, many clients in my experience feel just this way.
Asking for budget is really only valid if you are purchasing prefabricated items which range in pricing. Service industries in general rarely deal in prefabricated items other than perhaps "parts".
Yes, It is totally legitimate. It's usually the second question I ask after whats the project about.
"What kind of budget are we dealing with?"
This can give you a general idea if it falls in your realm and worth your time. Generally over email or phone.
I usually prefer phone a call, you can hear about the project, budget and get a feel for the client and if you want to move forward. Meeting IRL takes time. If the project doesn't bring in money, its wasted time for your business.
[updated clarification: Before meeting with the client? Likely, no. That is just the wrong time to ask. But as early as possible in the discovery/scope defining process? Absolutely.]
The job of a designer (or anyone providing a business service, for that matter) is to provide a solution that meets the business objectives of the client.
If your solution costs more than the budget. You've failed.
If your solution falls far short of the scope that was intended. You've failed.
That's not to say client budgets and your costs are fixed. Rather, you have to know what the budget is so that both sides can adjust as needed/capable. And that can go in both directions. If you're a designer that typically makes WordPress sites and find out that the client has a half million dollar budget, obviously they aren't likely looking for a WordPress solution and have a much larger scope in mind. Maybe that's something you can accommodate, or maybe it's something you need to pass on.
And conversely, maybe the client wants a logo for $500 and you normally charge at least $2000. Knowing the budget up front lets you make a decision as to whether you need to pass (just not worth your time) or adjust the solutions you provide to meet that budget (maybe it's a really fun project that is worth you finding a solution for).
In other words, the only way to properly deliver a solution tailored to the client's objectives and goals is to understand the scope of the project and a key part of that is understanding the expected budget. Knowing that up front hopefully allows you and/or the client to adjust expectations and scope as needed from the get-go. Worse case, it at least will make it clear if you and the potential client are just not a match. Both you and the client will benefit from knowing that sooner than later.
It's business. Everyone knows that money will be exchanged. The sooner that's figured out, the less time will be wasted by all parties and the quicker solutions can be started on.
My original answer didn't address the 'prior to meeting with them' part of the question. That's a bit different of a question than what I initially answered. In that situation, I'd say "probably not" as there's going to be a lot more that has to be thought about than just the budget. That usually has to happen in a more in-depth meeting where budget--along with scope, goals, objectives, strategy, business needs, etc will all be talked about and will work together to determine possible solutions to fit budgets.
You need to qualify the client from the very beginning. Survey their products, marketing, customer support, and competition to see if they're investing to an extent that will support your services. If not, a short phone conversation can determine if they plan to. Once you feel confident that they're in the ballpark, you can move ahead with an initial meeting.
Start with getting to know them better and sorting out what the expectations are in general and for the project at hand. Set a follow up meeting where you can review an itemized quote in person and discuss the scope of the process and deliverables they'll get out of the deal. At that point, you can discuss misalignment of the quote and budget. There's usually a little room on both ends to compromise. Most of it should center on adjusting the scope.
When you start with money, you're already breaking down the relationship. You want to be a business partner, not a vendor. Vendors are a commodity, but a good designer is creative capital. Start with relationship building, then the money will be a lot less painful for them.
I would never ever lead with a question about budget. Huge red flags.
It reminds me of when I interview for jobs and they "pre-screen" me with either fishing for prior salary information or what type of salary I'm expecting. If you were to go over to workplace.stackexchange.com you'd see the norm is to either avoid it, decline to answer, say you signed a confidentiality statement, or some other way to evade it including as Scott said --- lying.
What you should do is learn everything about the client, presumably you should have already done some of this before even bidding or applying for the job unless they were referred to you by someone.
Then your first, and only step, is to schedule a time and place to meet with them.
Once they meet with you its your job to close them, to negotiate, and to come to terms everyone can agree with. If their budget is so vastly off from what your expectations are you can work with them as a consultant, refer them to a "newer" designer you know, or even piece meal it for them.
Last week I went to Lease a car. One of the dealerships I went to immediately sat me down with a form and started asking my first name, last name, budget, ranking my needs, all this stuff. I told him Ryan and that the rest is completely irrelevant at this point in time. He didn't get the sale.
I went to another dealership and after test driving a few cars the sales guy sat down with me and asked how much I had available to put down. I told him my bank account is none of his business. He didn't get the sale either.
I went to a third dealership and there were no forms or "fishing questions." The guy just discussed with me the rates they're allowed to do and what he was flexible on. I signed a 3 year lease.
Moral of the story: Price isn't determined by your client's budget so don't worry about it.
I have used a budget selection option in the questionnaire I send out but not all clients fill that portion. I may have to make it mandatory. From my experience, writing proposals and then figuring out somehow that the prospect was no were near what I had proposed to be the cost can be discouraging. Another way to do it is to send an email with a rough estimate of the cost and ask if that fits their budget and then take it from there. But never lower your prices to get the job. Provide a design solution that fits their budget.