5

I need to develop a specific feature that allows me to personalize a component "banner" of a page based on campaigns.(so basically this is based on querystrings in url)

Here is my configuration: enter image description here

For example: Let's say that I try to access the first campaign "Campagne 2018" I add its querystring "sc_camp" fetched in the field "Campaign link" in my URL and press Enter => It works.

Then I change the value of the querystring "sc_camp" with the second campaign "Brico" => the banner doesn't change, I still see the banner from the previous campaign.

The trick here is, if I open the "incognito mode" of my browser or I simply open an other browser, and I use the querystring of the second campaign, I manage to see the banner personalisation...

For a reason that I don't know, it seems that Sitecore store in session or something else the current campaign, so it's impossible to access an other one after you accessed the first.

I really doubt that it's not possible to make it work this way. Maybe I'm missing a configuration somewhere ?

If no, is there a function that would allow me to reinitialise the campaign when I want it ? (not the smartest way I imagine but this could unlock me)

I based my development with this tutorial: https://doc.sitecore.net/sitecore_experience_platform/digital_marketing/personalization/walkthrough_personalizing_components

I already seen this post but it didn't help me: Personalization using a Campaign not working

By the way, I'm using Sitecore 8.1

Thanks in advance !

  • 1
    As Marek already pointed out in his answer, this is expected behaviour in Sitecore. I would maybe implement something like this in your solution blog.martinmiles.net/post/… or use Goals to do personalization. – Peter Procházka May 23 '18 at 6:25
2

Campaign in Sitecore means the source how the client first arrived to your site.

It means that when user first arrived with sc_camp=CAMPAIGN_1, user is marked with that particular campaign. And this campaign is remembered.

Now if you open your site with another campaign link sc_camp=CAMPAIGN_2, the campaign which is assigned to the user will not change. The reason for that is, that this user was acquired thanks to the first campaign, not the second.

That's why when you open the incognito mode, the sc_camp=CAMPAIGN_2 works for you. It's because you have completely new user and Sitecore marks this campaign as the source of how user got to the site.

It's just how Sitecore campaigns work. Campaigns are assigned to user once they arrive at the site.

Now, I may be wrong so best check it on your own, I think that if your visit session ends, and after those 20 minutes of user inactivity (or whatever is the timeout set in your config) your user opens another link with another campaign id in the url, new campaign will be started for that user. But you should double check that.

0

Explanation from sitecore support:

Campaign is supposed to be triggered only for the landing page (the page which was the first in the visit). When a visitor triggered a campaign, the system sets the CampaignID for the current visit. If the visitor triggers campaigns on subsequent pages or another campaign on the same page, the campaign events will still be registered, but the system will not change the CampaignID for the current visit. So the expected behavior in your case will be following: campaign based personalization will show correct rendering only if you access the landing page in the separate incognito windows (different sessions) for each campaign ID.

It validates the explanation of @Marek Musielak

We decided to use a new custom condition rule, mixing the tutorial provided by @Peter Prochazka in this post: http://blog.martinmiles.net/post/rules-engine-and-sitecore-personalization-based-on-url-query-string-parameters with the sitecore condition rule "Campaign was triggered".

This solves the personnalisation issue like a charm :)

Thank you all !

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.