We are having an issue creating a visitor group using the URL criteria: Landing URL
For example we are trying to create a visitor group for links that contain fragments like "/sales" but it seems to not work.
Does anybody have an ideea on how those should be set up?
What's the full scenario you're trying to set up? Is it, for example, showing different content on the home page for users who have initially entered the site via a URL containing "/sales"?
The Landing URL criterion uses only the first page a visitor hits in a given session so it can look as though it hasn't worked when testing with a group you've just set up. Have you tried hitting a /sales URL in a new incognito browser window then going to the page where the personalisation is applied?
Just to follow a slightly different train of thought - Does the /sales URL have any content on it or is it just a redirect to a different page?
Thanks for the suggestions.
The idea is that the client wants to move some sort of A/B testing from optimezely to Episerver and understanding on what can be done would be helpful.
Yes the /sales has content and if we use the querystring inside of that we see the personalization.
Initially I thought that it's about the URL on the browser. Do you know if there is a way to have visitors groups for that?
But we would also like to know how that Landing URL is working. I've tried your suggestion and some more scenarios, still no luck. If I open incognito and go to /inspiration and then to /sales (that has personalization) or if I go directly to the /sales it would still not display the custom content.
If you're looking for a way to run A/B tests, the better option would be the Episerver testing add-on package.
It's certainly possible to create a visitor group criterion to work off all URLs rather than just the landing page URL. It's something you'd need to write yourself but it should be fairly straightforward. An alternative option might be to use the CookieDropBlock and CookieVisitorGroupCriteria packages (available via the Episerver nuget feed) to drop a cookie on the landing page and create a visitor group which looks for that cookie to personalise your content.
I've tried setting up your scenario on an alloy site and it worked without issue. I created a visitor group using the landing URL criterion for URLs which contain "/about" then I set up a block on the home page which uses that visitor group to display a message. If I start a new session in an incognito window and hit /about-us/ first, followed by the home page, I can see my message on the home page. If I start again with a new clear session in an incognito window but hit the home page first, followed by /about-us/, followed by home again, I don't see the message.
The Landing URL criterion works by checking on every request whether a session variable called EPi:StartUrlKey exists and, if not, creating it with the current URL as the value. Visitor groups using that criterion will check the contents of that session variable. If you have the ability to debug the solution it may be worth checking the value of the EPi:StartUrlKey session variable while you're testing to ensure it's stored the value you're expecting.
Thanks for the suggestions and details. It really helped.
It looks that on the solution EPi:StartUrlKey variable is not set and even if I set it up doesn't work.
I did manage to make it work on alloy too. It might be a strange bug on the Epi version we're having as is not the latest.
If you have disabled session state in your application or you've explicitly set the visitor groups to not use session state then the value should be in a cookie with the same name that the session variable would have. If it's not appearing in either the cookie or the session then that would imply there's an underlying issue somewhere which would be difficult to narrow down here. It may be in the solution or, as you suggest, may be a bug in that Epi version.