Instead (or as well as) of using CAPTCHAs you can create a dummy field with display:none
in your form and make sure it is empty when the form is submitted:
<input type="text" name="email" style="display:none" />
Bots will fill it in but real people won't.
Note: users with usability issues / screenreaders will potentially inadvertently navigate to this