9

Automation worker running interval The automation worker is the agent that processes automation state changes with a certain interval. The first thing you should check is whether the automation worker is executed frequently enough. The default is to run it every 10 seconds, which is a good value for your needs. The setting is located in the configuration ...


6

I think the part you might be missing is that actual action of clicking a link in an EXM sent email message is that the link goes to a page that sits outside of the Sitecore item structure. That page is \sitecore\RedirectUrl.aspx. Because that's the case, there isn't an item in Sitecore that allows you to tap into that action through the Sitecore UI, ...


4

Use reflector to look into OnLoad implementation of SelectStandardMessage Action Dialog (Sitecore.Modules.EmailCampaign.UI.Dialogs.ActionDialogs, SelectStandardMessage, Sitecore.EmailCampaign). I am not sure what code is inside your version(could differs from one revision to another). Mine is only for example: protected override void OnLoad(System....


3

Based on Sitecore documentation engagement plan enrollments are not merged. Hence you have to implement any required logic yourself. Be it purging the source contact from all plans before merging or enrolling surviving contact into the same plans that the dying contact was part of. Please refer to Marketing Automation API on how to do it.


3

During dispatch, EXM validates the email address of each contact. If the email address is determined to be invalid, the contact is enrolled in the "Invalid Address" state. EXM uses a regular expression to validate the address. You'll find the setting in the /App_Config/Include/EmailExperience/Sitecore.EmailExperience.Core.config file. For EXM 3.3: <...


3

Have just found a method: var pageableContactIds = AutomationManager.Provider.GetEnrolledContactsIdsByStatePaged(engagementPlanStateId); This will return an object of type Sitecore.Common.IPageable<ID> which provides a method .GetAll() Seems to work for me.


3

No. You can't get around it. If you actually take a look at the Engagement Plans in the Marketing Control Panel, you'll see that a condition only has one field for Next State (when true). There's none for a false condition state. So, you have to go through another condition to allow for you to add the "false" state. Btw, for SC9, Engagement Plans have ...


2

To add a user to an engagement plan (EP) with code is very simple. You just need to new up an AutomationStateManager and enroll the user in the EP. Just supply the ID of the EP. var a = AutomationStateManager.Create(Tracker.Current.Contact); a.EnrollInEngagementPlan([ID of the EngagementPlan], IDs.EngagementPlans.State.BeginingState);


2

Yes, EXM is intended for this purpose among others. With EXM you can schedule dispatched emails (composed email sent to a large body of recipients), you can send triggered emails (the user does something on that site that sends them a one-off email), and you can also set up subscriptions. With EXM, you are actually composing an email in a very similar ...


2

I am not 100% sure of this, but I believe what you are experiencing is because of the way xDB handles identified and unidentified contacts. From Identifying Contacts, we learn: Unidentified Contacts Every time a contact uses a device to interact with your website xDB creates a new contact record. New contacts enter the system as unidentified contacts ...


2

You need to set the goals on the products. Once the user triggers the goal on the product, this is recorded into MongoDB at the user session end. Sitecore stores those data into the PageEvents which are then flushed into the Analytics Database. From the Analytics / Reporting Database, there is a table call Fact_Conversions. All goals that have been ...


2

Yes it is possible. There is present /sitecore/system/Settings/Rules/Definitions/Elements/System/True rule. It always return true.


1

The problem was that the listManager required privileges to access the list. I wrapped the method call in SecurityDisabler to successfully return the list: using (new SecurityDisabler()) { var listManager = Sitecore.Configuration.Factory.CreateObject("contactListManager", true) as ContactListManager; var list = listManager?.FindById(listId); }


1

There is a chance the automation engine is not configured to load the facet. This topic on automation activities, has a section on: Limit the amount of data that is returned Check what you have on MarketingAutomation.Loading.ContactFacetsConfigurator


1

Thank you both for your answers. I did a bit more digging and came across this blog post: http://ie.com.au/sitecore-personalisation-based-on-highest-ranking-profile-key This achieves exactly what I need to do using Personas and Profiles. It seemed like the neatest and most concise way to achieve my goal so I followed his method.


1

One approach would be to use patterns on the content. If each product page triggers you toward one pattern or another, then you could run your personalization on the home page based on the user's identified persona. https://doc.sitecore.net/sitecore_experience_platform/digital_marketing/personalization/insession_personalization/pattern_cards


Only top voted, non community-wiki answers of a minimum length are eligible