I usually get clients through word of mouth or sites like Bēhance or Craigslist. I prefer Bēhance though because I don't get spam email and it's more professional.
I always try to post work that has a lot of variety to attract clients. Also I make sure it's work done in styles that are fun and cost effective.
So let's talk about what happens after you get an assignment from a client. I've learned the hard way that money should be talked about right away. Getting a sense of their budget is important.
I find that it's easiest to work within their budget. If it's too low and you can't negotiate a pay you deserve hen it's time to move on. Thank them for their time and keep looking.
If both parties can come to agreement then a formal contract should be drawn up and signed. You want to get this before any work is done. If possible get a 50% deposit.
Be mindful of their time constraints. The clients I've dealt with have strict deadlines. You want to be punctual about when you get the work to them. I'm a digital artist so I simply email a png.
Once the job is finished you want to send the client an invoice right away. Follow up consistently but sparingly if you don't hear back. It shouldn't take longer than 30 business days to get paid.
If the client is a company it will take time to get paid. If you feel they are dragging their feet or giving you the runaround call or email their accounts payable dept. Be firm but cordial.
From my experience most clients pay when their is a contract. No company wants to get sued or have a bad reputation. Payment methods like Paypal are usually better for getting paid quickly but...
some clients may prefer just to mail checks because that's their system. Freelancing requires a lot of patience and unless you have an agent you will have to deal with collecting on invoices.
I've been freelancing for a little over a year now and these are some of the things I've learned. If you have any ideas to add please respond in the comments! www.raheemnelson.com