6

I have read the marketing automation documentation about how the automation works and it's usage - https://doc.sitecore.net/sitecore_experience_platform/digital_marketing/marketing_automation/marketing_automation_campaigns/marketing_automation_campaigns

When you create an automation campaign, you create a system whereby a particular part of a certain contact's online activity is subject to a set of rules and conditions that determine when specific actions or activities are performed for these contacts.

However, I have a simple use case that I want to send an automated email campaign via the marketing automation without the users triggering anything from the website such as visiting a page, log in, check triggered goal, and etc. Basically, what the intent is to use a rule at the start element and that will scan all the contacts from the contacts database, send an email and end the automation. In other words, enroll the contacts not by completion of a goal but by simply activating the marketing automation plan.

Is this possible? I am looking at the contacts in the 'report view', but my contacts are not registering.

enter image description here

This segmented rule is working when I open it in the list manager.

"where the Contact Identifier Source is case insensitive and equal to COMPANYABC

enter image description here

So, to my question, is this possible? or the marketing automation is only can be triggered by user/visitor actions? Note that sending an email via EXM regular campaign and use the segmented list as the recipient is not an option for me due to this issue: Send email with Segmented List - Skipped during message delivery.

Moreover, tried the following conditions as well (will add more as I progress)

  1. when the current month is March
  2. when gender equals Male
  • How you are adding these contacts into Sitecore? Do you import them via List Manager? – Peter Procházka Mar 14 '18 at 5:42
  • I am creating these contacts, upon login: doc.sitecore.net/developers/xp/tracking-and-session/tracker/…, Regardless of via contact list or export from file or create directly from the list manager, as long the the contact has email address i should be able to fire the automated email campaign, but to my question.. The start element never gets fired in the first place. – Marvin Glenn Lacuna Mar 14 '18 at 5:49
  • 1
    I think best option in your case would be to create Goal and trigger it programmatically during login where you are creating contacts following this doc article -> doc.sitecore.net/developers/xp/xconnect/xconnect-client-api/… . Then in Marketing automation you just need to add that goal as Start action and you are good. This scenario is working for us nicely. Don't forget to set IsLiveEvent (doc.sitecore.net/developers/xp/marketing-operations/…) – Peter Procházka Mar 14 '18 at 5:54
  • IsLiveEvent will help you process triggered goal almost instantly. New and really welcomed feature in Sitecore 9 – Peter Procházka Mar 14 '18 at 5:55
  • 1
    I waited for minutes, hours and overnight. I didn't receive a single email. Actually, I must say that the report view in the marketing automation remains zero. With regards to the start and end dates, I am very sure that I added the start date and the end date .. but regardless if the marketing automation is activated and if the start and the end date are left blank, it will run indefinitely until i deactivated again. – Marvin Glenn Lacuna Mar 14 '18 at 6:20
2

There are a couple of different approaches, but first a bit of background information.

When a contact/interaction/facet is added/updated and submitted to xConnect (at the end of the session), a work item is created for the Marketing Automation engine. This work item will then be evaluated against any active Marketing Automation campaigns where the start/end date has not been exceeded. See plan and activity enrollment in the documentation.

"Basically, what the intent is to use a rule at the start element and that will scan all the contacts from the contacts database, send an email and end the automation. In other words, enroll the contacts not by completion of a goal but by simply activating the marketing automation plan."

As described above, that's now how Marketing Automation campaigns work i.e. all contacts are not evaluated against a campaign when it is activated.

The scenario you describe would usually be resolved by triggering a goal upon login e.g. as Peter suggests. One caveat though. Do not "abuse" live events. Live processing of events come with a performance cost. Additionally, make sure the contact is actually created and pushed to xConnect before the event is triggered.

An alternative solution is to manually enroll the contact in the campaign as described in the documentation:

var operationsClient = ServiceLocator.ServiceProvider.GetService<IAutomationOperationsClient>();

var contactXconnectId = Guid.Parse("{E7B756A1-3769-46F1-AE17-7B3A198F9290}");
var campaignId = Guid.Parse("{19FDD3A5-DBC2-4947-BEB4-69732ADEB0D8}");
var request = new EnrollmentRequest(contactXconnectId, campaignId); // Contact ID, Campaign ID

request.Priority = 1; // Optional
request.ActivityId = Guid.Parse("{C5B87651-EE70-4684-BDD9-0B464B79476D}"); // Optional
request.CustomValues.Add("test", "test"); // Optional

BatchEnrollmentRequestResult result = await operationsClient.EnrollInPlanDirectAsync(new[]
{
request
});

Another alternative is to use the EXM Client API to send the message:

IClientApiService clientApiService = ServiceLocator.ServiceProvider.GetService<IClientApiService>()
var automatedMessage = new AutomatedMessage()
{
    MessageId = GUID_OF_YOUR_AUTOMATED_EMAIL_CAMPAIGN,
    ContactIdentifier = CONTACTIDENTIFIER_OF_YOUR_CONTACT
};
SendAutomatedMessage(automatedMessage);

Finally, you could create a segmented list and send a regular email campaign to this list. This required the Cumulative hotfix for EXM 9.0 Update-1

0

There are two options how contact can be added into Marketing Automation Campaign:

  1. As a result of an action - goal, outcome or event are/is triggered. You can put there 'AND' or 'OR' conditions between these.

  2. By using rule. Unfortunately, it seems that there is either a bug or it needs to be configured somehow in order to make it working based on discussion here and also my tryouts.

For the first scenario best would be to create a Goal and trigger it programmatically during login where you are creating contacts following this doc article:

https://doc.sitecore.net/developers/xp/xconnect/xconnect-client-api/interactions/add-events.html#adding-a-goal-to-an-interaction

When you create goal, configure it as "Live Event" by checking "IsLiveEvent" field:

https://doc.sitecore.net/developers/xp/marketing-operations/marketing-operations-api/definition-managers/goals.html#live-events

This will speed up processing of goal triggered and therefore also Marketing Automation campaign will be started for that contact almost instantly.

Then in Marketing automation you just need to add that goal as Start action and you are good. This scenario is working for us nicely in couple of Marketing Automation Campaigns.

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.