When I write out an email campaign and include membership custom values such as login url, username, password, etc they do not send anything to the email.
It works in automatons, workflows, and welcome emails, but not in campaigns.
Alternatively you could remove the custom values that will not work correctly so emails are not sent out with tech-fail errors in them.