Hi All
I am facing a issue in one of the profile scripts which is reading a query parameter from the page url and returning the same . The profile script(user.sellang_audience) looks like this
if(page.param("selLang"))
{
return page.param("selLang");
}
This issue is happening on a booking flow where there is a deeplink which contains this query parameter on the page and then after that the booking flow starts. The deeplink page and the booking flow section have a different domain in the url and the activity is setup on the 4th step of the booking flow. On using the mbox trace to check the before and after excution value of the profile value what i observed is when navigating from the deeplink page(where the profile value is being set ) to the booking flow step the profile value is missing from the afterexecutionProfileSnapshot.
What I observed in the expereince cloud debugger is that the ECID remains the same for the whole flow but on changing from the deeplink page to the booking flow domain the session ID is changing.
Any help for this issue is really appreciated, thanks in advance
Solved! Go to Solution.
Hi looks like we were using at.js 2.7.0 version and it doesnt support cross domain tracking. We had to upgrade to latest at.js version i.e 2.10.0 and had to add a custom code in the global target fire rule in launch like this
window.targetGlobalSettings = {
crossDomain:"enabled"
}
after doing this on the target delivery call in the network tab under Payload->Context i can crossDomain:"enabled". I have verifed after doing this changes and now the cross domian tracking is working and the profile values are being retained on the domain change
Hi @pru07718 Check the before and after execution value of "user.sellang_audience" starting from deeplink page (search results page) until the activity page and see where are you loosing that value .
That will give you some guidance.
Hi , What I am observeing is on the deeplink page the profile gets executed and I am able to check this in the before and after execution. Once I go to the booking flow pages the profile value is not there any more.
deepLink-page(domain A) -> Booking Flow1(Different Domain)(From here the profile is gone) ->Booking Flow2(Different Domain) ->Booking Flow3(Different Domain) ->Booking Flow4(Different Domain)(This is where the activity is).
Hope the above flow helps. Thanks
Hi @pru07718,
Hmm, the sessionID changing is odd. It could suggest a second profile is getting used by Target - one that never saw the selLang parameter. What does the implementation of Target look like? Client-side, Server-side, both? Is your booking flow on a different domain or subdomain?
Implementation of target is on client side using latest at.js and also the cross domain tracking is enabled for both 1st party and 3rd party cookies. And my booking flow is on a different domain. I tried a simple counter profile script which was just increment the counter value and returning it as user.valCount and the profile script looks like this
var count = user.get('valCount') || 0;
count = count + 1;
return count;
What I observed when there is a domian change(i.e the page goes from the original domain to the booking flow domain) the user.valCount is reset to 0.
I think the profile value is being reset or entirely removed based on the profile script being executed.
Hi looks like we were using at.js 2.7.0 version and it doesnt support cross domain tracking. We had to upgrade to latest at.js version i.e 2.10.0 and had to add a custom code in the global target fire rule in launch like this
window.targetGlobalSettings = {
crossDomain:"enabled"
}
after doing this on the target delivery call in the network tab under Payload->Context i can crossDomain:"enabled". I have verifed after doing this changes and now the cross domian tracking is working and the profile values are being retained on the domain change
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies