I've experimented quite a bit with list building for my clients and I'm working on my own email list now. Through a lot of testing I have found a way that seems to work better than others.
Here is my "technique" that has consistently brought good results so far:
1. Use a tool that helps you in collecting leads and asking for them at the right time. I use Justuno for my clients. If you're using wordpress, you can try one of the plugins for it (icegram is a good option).
2. Integrate your lead capturing system with your email marketing tool (if you're using mailchimp, you can integrate it with wordpress and create forms that automatically send the information to the list you want).
3. Create some piece of information that your public would want. A 5-page whitepaper on how to start saving up money for millenials, for example. Offer that whitepaper in exchange for their email address. Never sell their email address or spam them, of course :)
You should use a 2-step registration, although it can cause some friction with new subscribers, you are more likely to get a quality list this way.
4. Create an automated flow for all subscribers. I typically use a
- welcome email, describe what they subscribed to, how they will get value out of it, etc. (this gets sent instantly when they subscribe).
- valuable information email (something that would show your new subscribers that they made a good choice when they subscribed)
- consistent newsletter, they will be expecting an email every week, every two weeks, depends on your formula and content 100%.
Good luck with your newsletter! I hope this information helps.