Attribution is extremely easy, it is a solved problem.
Companies keep throwing away money on advertising for bots and other non-customers because they either:
A) Are small businesses where the owner doesn't care about what he's doing and enjoys the casino like experience of buying ads online and see if he gets a return, or
B) Are big businesses where the sales people working with online ads are interested in not solving the problem, because they want to keep their salaries and budget.