I am working with a client that wants an automatic redirect to a special "intro" page for first-time visitors to his site. We are using a website builder platform that does not allow any access to the server, so we can't do any server-side redirects - it's all client, so we're using javascript and cookies to detect first-time visitors and then jumping to the intro page (example.com/intro) by setting window.location. There is a big "skip intro" link on the intro page to jump back to the home page.
Google is showing the intro page in search results, which makes sense, it's coming in with cookies enabled and then we jump to the intro page so that's what it's seeing. We do have a canonical link on the home page, but not on the intro page.
So this is all kinds of bad and Google is probably thinking that we're doing a sneaky redirect, which makes sense - someone searching based on index keywords on the home page gets redirected to this intro page... not a good search experience, I get it.
Changing to a huge page-blocking interstitial instead of loading a separate page is not good, obviously.
So... what to do. I'm thinking we give up on the magical redirection and put a link on the home page to the intro... if it's a first-time visitor, highlight the link without a content-obscuring popup that Google won't like... trying to make the client happy but getting penalized by Google is good justification for dropping the javascript page redirect.
Q: To confirm, is there a way to redirect (via javascript only) to an "intro" style page without getting dinged by Google and other search sites? How do we do this in a way that makes sense?