SDL Proprietary and ConfidentialSDL Proprietary and Confidential
IMS Campaign Manager
Intra-day Updates and Response AttributionSDL Campaign Management Solutions
2
Intra-day Updates using Campaign Event tools
• Import Events• RaisingCampaignEvents using the Web Service API
Campaign Response Attribution
• The linking of a customer behaviour or ‘transaction’ record to a specific outbound contact to indicate a response.
Agenda
SDL Proprietary and ConfidentialSDL Proprietary and Confidential
IMS Campaign Manager
Intra-day Updates
SDL Campaign Management Solutions
4
Why might Intra-day Updates be needed?
• Drive campaign activity to respond quickly to Customer behaviour• Becoming increasingly important in today’s digital interactive world
What do we mean by Intra-day Updates?
• Real time / regular / continuous / drip feed supply of key Customer behavioural data• For example...
• Newsletter opt-in preferences changes
• Cart abandonment events
• Specific order types placed
• Appointments booked
• New account registrations
Intra-day Updates
5
We want to run a campaign to acknowledge changes that Customers make to their newsletter opt-in preferences...
...and be able to use new opt-in preferences in other campaigns
Scenario:
• Customers can subscribe to separate product-based newsletters
- assume we’re talking about two SDL CMA products...
• Campaign Manager
• Email Manager
• Customers interact via a web portal to amend their own opt-in preferences
Intra-day Updates: Subscription Example
6
What features of Campaign Manager do we need to run the process?
• Recipient-level ‘Subscriptions’• Event-driven Subscription management ‘campaign’• Import Event tool• The ‘Opt-in Acknowledgement’ campaign
Intra-day Updates: Subscription Example
7
Subscription Lists
In our example we are using two product specific subscription lists. Which are defined globally outside of any one specific campaign.
Subscriptions are added by clicking Campaign Manager icon on the main toolbar and clicking the icon.
Intra-day Updates: Subscription Example
8
Subscription management Campaign settings... Reminder – purpose is to process the opt-in events only
• Audience must contain all include all Customers
• No need to generate campaign history
• No End Date is required as the campaign will be running continually
Intra-day Updates: Subscription Example
9
Import Events set-up
Supplied Event file
Mapping against the Event file...
• Key Column = column 1
• Event ID Column = column 2
• Event Date = column 3
Intra-day Updates: Subscription Example
custid|eventid|event_dttm31|Unsubscribed: Campaign Manager|2013-06-10 14:47:38.64831|Subscribed: Campaign Manager|2013-06-10 14:49:16.65230|Subscribed: Campaign Manager|2013-06-10 20:47:28.69229|Subscribed: Campaign Manager|2013-06-10 20:47:38.738
Subscription_2013-06-10_205527257.evt
10
Subscription management CampaignNext we define our triggers, which are going to be the actions carried out as a result of our new events.
Intra-day Updates: Subscription Example
Add a new trigger and rename it to one of the new event names.
11
Subscription management CampaignNext we define our triggers, which are going to be the actions carried out as a result of our new events.
Intra-day Updates: Subscription Example
Associate the corresponding event with our new trigger.
12
Subscription management CampaignNext we define our triggers, which are going to be the actions carried out as a result of our new events.
Intra-day Updates: Subscription Example
Add an Unsubscribe tool to the trigger and assign it to the correct list.
Optionally, if we wanted to output the current status of the recipient in a tactic
we could also create a recipient level variable with a plain English value.
13
Subscription management CampaignNext we define our triggers, which are going to be the actions carried out as a result of our new events.
Intra-day Updates: Subscription Example
Repeat these steps for the other events.
14
Subscription management CampaignNext we define our triggers, which are going to be the actions carried out as a result of our new events.
Intra-day Updates: Subscription Example
Add a new trigger and rename it to one of the new event names.
Associate the corresponding event with our new trigger.Add an Unsubscribe tool to the trigger
and assign it to the correct list.Optionally, if we wanted to output the current status of the recipient in a tactic
we could also create a recipient level variable with a plain English value.
Repeat these steps for the other events.
15
Subscription management Campaign: Complete Design
Trigger: Unsubscribe : Campaign Manager
Event:
Intra-day Updates: Subscription Example
Unsubscribe from ‘Campaign Manager’
Subscription management
Track: Start
Import Subscription Events
Empty
Sub_Campaign _Manager to ‘No’
Trigger: Subscribe : Campaign Manager
Subscribe to ‘Campaign Manager’
Sub_Campaign _Manager to ‘Yes’
Trigger: Unsubscribe : Email Manager
Unsubscribe from ‘Email Manager’
Sub_Email_Manager to ‘No’
Trigger: Subscribe : Campaign Manager
Subscribe to ‘Email Manager’
Sub_Email_Manager to ‘Yes’
Campaign Manager
Email Manager
Subscriptions
Sub_Campaign _Manager (‘Yes’, ‘No’)
Sub_Email_Manager (‘Yes’, ‘No’)
Recipient Level Variables
Program: NoneStart Date: Current Date/TimeStop Process:End Date:Campaign Key: [Customer].[CustID]Campaign History:
Audience
Customer: Records from [Customer].[CustID]
16
No
What do we need to do to achieve our goal?
• Assume the portal is set up to add users preferences changes to a ‘Subscription Log’
• Extract the latest log records at set intervals to a designated FTP Site and folder.
• Create a ‘Subscription monitor’ campaign in IMS to process the incoming events.
• Create IMS Subscription lists in order to store the recipients status.
• User created campaigns can then use the campaign Subscription values.
Intra-day Updates: Subscription Example
Subscription Update Event
Subscriptions QueueSubscription Log CDC
Extract Import Events
Subscribe
Unsubscribe
Subscription Monitor
Campaign
User Campaign
Is Subscribed?
11:00.evt
11:00.doneUnsubscribed
FTP
17
YesSubscribed
What do we need to do to achieve our goal?
• Assume the portal is set up to add users preferences changes to a ‘Subscription Log’
• Extract the latest log records at set intervals to a designated FTP Site and folder.
• Create a ‘Subscription monitor’ campaign in IMS to process the incoming events.
• Create IMS Subscription lists in order to store the recipients status.
• User created campaigns can then use the campaign Subscription values.
Intra-day Updates: Subscription Example
Subscription Update Event
Subscriptions QueueSubscription Log CDC
Extract Import Events
Subscribe
Unsubscribe
Subscription Monitor
Campaign
User Campaign
Is Subscribed?
11:10.evt
FTP
11:10.evt11:10.done
18
Required event data content...
Subscription Event Log (i.e. event data captured at the source)
Intra-day Updates: Subscription Example
We must include the ‘campaign key’ attribute to link the event to the correct campaign recipient
Next we need a unique event identifier column, this will be used to tell our
campaign what to do.
The data and time the event occurred.
This must be provided in ascending order.
Our event column is broken down in to two sections.
1) The action we wish to carry out, Subscribe or Unsubscribe.
2) The Campaign Subscription list name
19
CDC (Changed Data Capture) Extract
• This step must only send to the FTP folder events that have occurred since the last extract (CDC).
• The files will be processed by the Import Events tool in alphanumeric order, so a date/time stamp on the files will be required.
Subscriptions_2013-06-27_112047.evt
• The “.evt” files extension is optional, but is the default.
Intra-day Updates: Subscription Example
20
FTP Folder
• It is recommend that this folder should only contain files for this specific use, as the Import Event tool will process all files with a given extension in a folder.
• Once the file is processed it will be flagged with the .done extension.
• If for any reason IMS is not active or the Subscription Monitor campaign is not running, the files will sit in the queue waiting to be processed when the system/campaign is resumed.
Intra-day Updates: Subscription Example
FTP
Subscriptions_2013-06-27_141000.txt
Customer.txt
Subscriptions_2013-06-27_140000.done
21
Raising Events via the Web Service API
Import Events can now (v2.9+) operate in two ways:
• CSV File import• used for bulk loading of event data - files supplied to an ftp site• driven by a polling frequency to check for uploaded files
• Web Service API ‘RaiseCampaignEvent’ method• low volumes of data where speed of response is required• triggers ‘listening’ for API-supplied events
• Import Events is configured in the same way for both methods• The mechanism for supplying the event data is different
Intra-day Updates
22
Raising Events via the Web Service API
• Pass Event data into an existing Campaign
• Immediately fire triggers listening for these Events
• Import Events node configured to match the data being supplied
Example RaiseCampaingEvent() API Post matching our existing Subscription management campaign example
Sample RaiseCampaingEvent() API Post:
Intra-day Updates
{ "Token": "94A4DD02-74D6-4382-9FA8-4DAFD2AD4B71", "CampaignId": "485", "EventSourceIdentifier": "7a0de064-8321-447e-b51b-34598afe1d55", "EventData": ["31","Unsubscribed: Campaign Manager","06/10/2013 14:47:38"]}
An authentication token can be retrieved from the authentication service
23
ID of the Campaign to apply the Event toCall GetCampaigns to retrieve the ID for any campaign
Raising Events via the Web Service API
• Pass Event data into an existing Campaign
• Immediately fire triggers listening for these Events
• Import Events node configured to match the data being supplied
Example RaiseCampaingEvent() API Post matching our existing Subscription management campaign example
Sample RaiseCampaingEvent() API Post:
Intra-day Updates
{ "Token": "94A4DD02-74D6-4382-9FA8-4DAFD2AD4B71", "CampaignId": "485", "EventSourceIdentifier": "7a0de064-8321-447e-b51b-34598afe1d55", "EventData": ["31","Unsubscribed: Campaign Manager","06/10/2013 14:47:38"]}
24
Identifier of Import Events node to apply data toCall GetCampaigns to retrieve the ID for an Event Source in a Campaign
Raising Events via the Web Service API
• Pass Event data into an existing Campaign
• Immediately fire triggers listening for these Events
• Import Events node configured to match the data being supplied
Example RaiseCampaingEvent() API Post matching our existing Subscription management campaign example
Sample RaiseCampaingEvent() API Post:
Intra-day Updates
{ "Token": "94A4DD02-74D6-4382-9FA8-4DAFD2AD4B71", "CampaignId": "485", "EventSourceIdentifier": "7a0de064-8321-447e-b51b-34598afe1d55", "EventData": ["31","Unsubscribed: Campaign Manager","06/10/2013 14:47:38"]}
25
The Event Data mapped in Import Events tool• Same format as in the CSV file import example• Only one event can be posted at a time
Raising Events via the Web Service API
• Pass Event data into an existing Campaign
• Immediately fire triggers listening for these Events
• Import Events node configured to match the data being supplied
Example RaiseCampaingEvent() API Post matching our existing Subscription management campaign example
Sample RaiseCampaingEvent() API Post:
Intra-day Updates
{ "Token": "94A4DD02-74D6-4382-9FA8-4DAFD2AD4B71", "CampaignId": "485", "EventSourceIdentifier": "7a0de064-8321-447e-b51b-34598afe1d55", "EventData": ["31","Unsubscribed: Campaign Manager","06/10/2013 14:47:38"]}
26
How does this fit with our process?
• Our Log, Extract and FTP queue are no longer required.
• Our application can now raise events in IMS directly.
Intra-day Updates: Subscription Example
Subscription Update Event
Subscriptions QueueSubscription Log CDC
Extract Import Events
Subscribe
Unsubscribe
Subscription Monitor
Campaign
User Campaign
Is Subscribed?
Unsubscribed
FTP
Web API
No
27
How does this fit with our process?
• Our Log, Extract and FTP queue are no longer required.
• Our application can now raise events in IMS directly.
• If the Campaign is not running, the API will return a paused result and the event will not be recorded.
Intra-day Updates: Subscription Example
Subscription Update Event
Subscriptions QueueSubscription Log CDC
Extract Import Events
Subscribe
Unsubscribe
Subscription Monitor
Campaign
User Campaign
Is Subscribed?
Web API
FTP
28
How does this fit with our process?
• Our Log, Extract and FTP queue are no longer required.
• Our application can now raise events in IMS directly.
• If the Campaign is not running, the API will return a paused result and the event will not be recorded.
• If the Web Service is not running, the event will be missed unless you handle the failure responses accordingly.
Intra-day Updates: Subscription Example
Subscription Update Event
Subscriptions QueueSubscription Log CDC
Extract Import Events
Subscribe
Unsubscribe
Subscription Monitor
Campaign
User Campaign
Is Subscribed?
Web API
FTP
29
Questions?
Intra-day Updates
SDL Proprietary and ConfidentialSDL Proprietary and Confidential
IMS Campaign Manager
Response Attribution
SDL Campaign Management Solutions
31
The tool allows you to configure appropriate rules to monitor the success of a specific campaign and creative.
Response Attribution
Identify the table containing the Response behaviour
Response behaviour record must have a Date or Datetime attribute
If Date only is used only first of multiple records on the same date will be attributed
Apply a Rule to only identify specific records as a Response behaviour
Define the Response ‘window’Define a post campaign end response checking window
Response Attribution defined for a specific Tactic
Checks for Recipients included in the Campaign
Once the tool is defined and processing is in place, the implementation of our tactics will be recorded in the appropriate campaign history table based on our campaign key.
Sample Campaign History table:
Response Attribution
Each creative in a campaign have will its own unique identifier.
Even if the creative has come from the same tactic template, it will still have a different Creative ID in the
campaign it is being deployed from.
Each time a tactic is deployed in a campaign it will be given Tactic Instance ID.
If a recipient receives the same tactic twice in a campaign it will still be given a different id.
33
Once the tool is defined and processing is in place, the implementation of our tactics will be recorded in the appropriate campaign history table based on our campaign key.
Sample Campaign History table:
Response Attribution
Tactic Layout Import Events
This column can also be used as part of your tactic outputs and Import Events tools.
34
Once the tool is defined and processing is in place, the implementation of our tactics will be recorded in the appropriate campaign history table based on our campaign key.
Sample Campaign History table:
Response Attribution
A compound primary key of TacticInstanceID and the Campaign Key (CustID) is also created to enable unique
linking to other tables.
35
Once the tool is defined and processing is in place, the implementation of our tactics will be recorded in the appropriate campaign history table based on our campaign key.
Sample Campaign History table:
Response Attribution
Once processing has occurred, an extra column will be added to your response table.
A link we also be create between the tables.If the table is to be updated by a full refresh, this will
drop all columns. Therefore the process should include the storage of the record key and attributed
history ids to enable reassignment post table refresh.
36
With processing now completed we are able to display are attributed results in our reports.
Response Attribution
37
Questions?
Response Attribution
Copyright © 2008-2012 SDL plc. All rights reserved.. All company names, brand names, trademarks, service marks,
images and logos are the property of their respective owners.
This presentation and its content are SDL confidential unless otherwise specified, and may not be copied, used or
distributed except as authorised by SDL.
Top Related