Painfully familiar. Last year on several promo campaigns our prizes constantly went to bots, and quite clever ones — they emulated mobile devices with delays.
In July we added
http://xcaptcha.com/ to the giveaway entry form. Focused on maximum invisibility: real people see a check extremely rarely (only 9 cases in 5 months). But bots get caught at 97–99%: either right at form start or after analyzing the full action chain (entered ? straight to form ? submitted in 2 seconds).
The number of real participants in stats increased noticeably, and prizes now go to actual people. In the dashboard it’s very convenient to see which signals triggered the block (no scroll, zero time on page, identical canvas fingerprint, etc.). After the switch, giveaways became truly fair again — highly recommend for any promo forms.