I'm one of the co-founders of http://coalition.digital/
- a Canadian based digital marketing firm.
1) If you're new to digital marketing and need a way to get clients while you're starting out, you need to prove to people that you do good work so that they recommend you, and ideally refer new clients to you. This is how I personally get all of my clients, through referrals of happy clients. I had the luxury of working for another firm for about 2 years , building my network and proving the quality of my work. So this style is what works for me, everyone is unique and may have different experiences.
If you're starting out, this can be challenging! One of the ways you can do this is by taking on pro-bono work. Networking at co-working spaces or flat out networking events can also be successful depending on the person.
Additionally I recently read "Hack Upwork: How to Make Real Money as a Freelancer" and the author shared some great ways to get traction on Upwork when you're just starting out. However you're not asking about Upwork, but some of the ideas he shares are applicable to both Upwork and anywhere else. I got the ebook for free a while ago, I see it's no longer for free but if you message the author I'm sure you might be able to get a free copy as well.
2) Once you've got a few clients, you can offer referral incentives for them to refer new clients to you. Additionally you might consider running some online ads since you specialize in this field to help you earn new clients.
3) It depends on your experience, the quality of your work and the client. Most Canadian digital marketing firms will charge between $75-$200 CAD per hour of work. Professional freelancers are usually in the ballpark of $40 - $125. Some people will fall outside of this range, this is just one example of one country.
Hope this helps! Best of luck!
Adventuring Digital Nomad - Experienced Digital Marketer - Google Guru
Founding Partner - Digital Coalition
Co-Founder - Digital Nomads Forum