We would like to only allow people to register if we give

We would like to only allow people to register if we give them a coupon code first. Membership is free, we just want to control who can sign up. I know I could artificially set a high price and then use a coupon to make it free, but I think this would be confusing. Is there another way we can do this? Thanks!