At least with Adsense it is against their TOS if a page is presented differently only for bots versus humans. GoogleBot also has some issues with that because some people try stuff keywords & other content on bot-only pages versus what actual visitors would see.
is_robot is something I've used to to make sure StopBotResources never catches spiders as spam bots... so it would be simple to do. But it is risky once you start doing different things for search engine bots compared to normal users
I would make sure none of the content is different: