Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Segment not resolved

Avatar

Level 5

I created a segment which shows me the message `Data loaded in the Client Context do not resolve the current segment.` Below is Code :

    if (!CQ_Analytics.CCSFDataMgr) {
        CQ_Analytics.CCSFDataMgr = new CQ_Analytics.SessionStore();   
        CQ_Analytics.CCSFDataMgr.STORENAME = "ccsfprofile";
        CQ_Analytics.CCSFDataMgr.STOREKEY = "CCSF";
        alert(CQ_Analytics.CCSFDataMgr.data);
        CQ_Analytics.CCSFDataMgr.data={"Name":"Amit"};   
        CQ_Analytics.CCSFDataMgr.loadData = function(){
            //here would be ajax call to get gata
          CQ_Analytics.CCSFDataMgr.data={"Name":"Amit"};
        };
        
        if(CQ_Analytics.ClientContextMgr) {
            CQ_Analytics.ClientContextMgr.register(CQ_Analytics.CCSFDataMgr);
        }        
        CQ_Analytics.CCM.addListener("configloaded", function() {
            CQ_Analytics.CCSFDataMgr.addListener("initialize", function() {
                this.loadData();
            });
        }, CQ_Analytics.CCSFDataMgr);        
        CQ_Analytics.CCSFDataMgr.initialized = false;        
    }

    
If i set CQ_Analytics.CCSFDataMgr.data outside loadData() function, Segment Rules get resolve, but if I set it inside loadData() it doesn't resolve segment rule.

Below is init.js.jsp

    <%
            String leadAddress = properties.get("email", String.class);
            log.info("leadAddress ---> "+leadAddress);
      if(leadAddress != null && !leadAddress.equalsIgnoreCase("")) {
                %>
                    if(CQ_Analytics && CQ_Analytics.CCSFDataMgr){
                        alert("init.js.jsp");
                        CQ_Analytics.CCSFDataMgr.EMAILID ="<%=leadAddress%>";
                        CQ_Analytics.CCSFDataMgr.init();
                    }
    <% } %>

Thanks.

1 Accepted Solution

Avatar

Correct answer by
Employee

Hi vdhim23,

There is an issue where segmentation won't work if the component isn't already loaded. See http://blogs.adobe.com/aemtutorials/2013/07/24/customize-the-client-context/

Hope that helps.

Regards,

Alva

View solution in original post

1 Reply

Avatar

Correct answer by
Employee

Hi vdhim23,

There is an issue where segmentation won't work if the component isn't already loaded. See http://blogs.adobe.com/aemtutorials/2013/07/24/customize-the-client-context/

Hope that helps.

Regards,

Alva