I am working on Sitecore 9.0.2 and we have a requirement to send a reminder email through marketing automation. We have a scenario where contact will land on registration page and provide email/password, system will register the user and redirect it on profile page. In many cases user reached on profile page but does not provide details. In this case a reminder mail will go. In marketing automation tool, i am enrolling a contact while registration will finish and waiting for either session expired or profile submission event. once session expired before the profile submission, i'll send a email. In this flow i have following questions.

1.) I am not able to find a default rule to find out if tracking session has expired. I found a rule for page session end (/sitecore/system/Settings/Analytics/Page Events/Session end) but not sure this is limited to page or tracking session expired. Any suggestion for this. if its not available by default, may i have to raise a custom event explicitly while session expired pipeline get executed.

2.) i'll put a custom listener with two rules (session expired or profile submitted) after contact's enrollment, in this scenario how i can pass details to next activity which event has triggered customer listener ?

please suggest if overall scenario can be handled in different way in marketing automation. Thanks

Sourabh K.

1 Answer 1


You can use outcome function to check contact submit or not submit page. No path for session expired with timeout set, and Yes path when user submit page.

Outcome item Then make contact pass it:

using (XConnectClient client = SitecoreXConnectClientConfiguration.GetClient())
            var reference = new IdentifiedContactReference("sitecoreextranet", "Contact Email here");
            var existingContact = client.Get<Sitecore.XConnect.Contact>(reference, new ContactExpandOptions(new string[] { PersonalInformation.DefaultFacetKey }));
            if (existingContact != null)
                var channelId = Guid.Parse("{52B75873-4CE0-4E98-B63A-B535739E6180}");
                var interaction = new Interaction(existingContact, InteractionInitiator.Contact, channelId, "xConnectIntro Console App");
                Guid outcomeId = Guid.Parse("outcome ID here"); // ID of outcome item
                var outcome = new Sitecore.XConnect.Outcome(outcomeId, DateTime.UtcNow, "USD", 100.00m);

        Sitecore.Diagnostics.Log.Info("Survey Completed", this);
        return View("SurveyCompleted");

Then you can add next activity in Yes path to continue.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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