Understanding Program Entries
When a program is published, it waits and listens for events. An event can be triggered by any number of things: a customer subscribing to your newsletter, a purchase, a scheduled filter running queries on your database or even a file upload. Program responds to events by creating a program entry into your program.
A program entry (also known as an enactment) represents a customer. It could either be the customer directly (based on their profile list data) or a customer's device(s) (based on app channel list data). Each program entry travels through the program independently. You can instruct Program to create only one program entry per customer, allow multiple program entries per customer, or selectively replace existing program entries.
While each program entry is unique to a single customer, that same customer can have more than one program entry in a given program. For example, a customer makes several purchases, shipping each purchase to a different address. In a program that allows multiple program entries for each customer, each purchase can be tracked separately.
A customer can also be in several programs at the same time. For example, a customer opened a new credit card account and is entered into an account on-boarding program. The same customer then abandons a mortgage refinance application and is entered into an abandon application program. The customer will receive communications from both programs.
Tracking entry data
Entry tracking variables (ETVs) provide a way to store data that is applicable only to a program entry. Entry tracking variables are unique to the program in which they are defined. Their values are not stored in any Responsys data table, unless you have a Set data stage in your program that places the data into a field in a profile list or PET.
You can use entry tracking variables when:
- Program entries are based on something that a customer might do more than once (such as a purchase). You can use entry tracking variables to ensure that each entry is unique. Entry tracking variables store non-profile data as part of the program entry.
For example, if a user can make multiple purchase and each purchase constitutes a valid program entry, using only the RIID (profile ID) field will not identify each program entry. In such cases, you should create an entry tracking variable using the Purchase ID field rather than the RIID field to make routing and handling decisions.
- You need to identify duplicate program entries in custom events. For example, a customer places two separate orders, and your program allows both program entries to exist at the same time. Before the product ships, the customer makes a change to the first order. If you use the Order Number field for the program entry variable, Program can identify the corresponding program entry.
- You need to temporarily store the status of a program entry. For example, instead of using a profile list field or PET field to store which path a program entry takes after an allocation switch, you can use an entry tracking variable to track it. You can also use a data switch to route customers on different paths, based on the entry tracking variable values.
- You want to update a list field or PET field to a value supplied an AppCloud app activity. Entry tracking variables provide a place to store data from the AppCloud app for a program entry. Later, if needed, you can use the Set data activity to store the data in the profile list or a PET.
- You want to personalize your campaign based on data that's only available as part of the program entry. You can use dynamic variables in your campaigns, and then populate the values from entry tracking variables in your program.
Note: Entry tracking variable values may not exceed 500 characters.
To create an entry tracking variable:
- In the Settings dialog, expand Tracking and variables.
- Click .
Note: Each program can have a maximum of 25 customer-defined entry tracking variables. Entry tracking variables created by the REI standard events (Geofence_entry, Geofence_exit, Beacon_entry, and Beacon_exit) are excluded from this limit. This includes the default variables for the REI standard event and any additional custom variables defined for the event.
- In Column Name, type the name of the column to use.
- In Data Type, select the data type of the column. This must match the data type of the field in the table.
- Click Update.
To use an entry tracking variable in a custom event:
- Double-click a custom event.
The Custom event dialog opens.
- Select the Select entry variable for audience identifier option and select the variable from the drop-down list.
To update the value of an entry tracking variable:
Before you begin: Work with your organization's Data Director to create a SQL view for use in your program. You will need to know the name of the view and the folder in which it is stored, as well as the field and data type.
- Add a Get data stage to the program, and double-click the stage to open its settings.
- Click Select. On the Select SQL view dialog, select the folder containing the SQL view, and then select the SQL view.
- From the Match entry on list, choose the entry tracking variable to set with the SQL view result. Ensure that the data type matches that of the field from the SQL view.
To update a profile or PET fields based on an entry tracking variable:
- Add a Set Data stage to the program, and double-click the stage to open its settings.
Important: If it is enabled for your account, this stage can update up to 10 fields for a list or profile extension table. If it is not enabled, you will need a Set data stage for each field you would like to update.
- From the List or profile extension drop-down, select the profile list or PET that has the field that you want to set with the entry tracking variable value.
- For Set values of one or more fields using, select Entry tracking variable.
- From the Field(type) list, select the field to be set. Ensure that the type will match the entry tracking variable's type.
- From the Value list, select the entry tracking variable to use. Note that you'll only see entry tracking variables with types that are compatible with the field you want to set. For example, if you chose a text field to set, you only see fields of type Text.
Handling multiple program entries
In the properties dialog of each starting event, you can define the way you'd like to handle multiple program entries from the same customer.
To select multiple program entry handling options:
- Double-click any starting event.
The event dialog opens.
- In the event dialog, select one of the following options:
- Create a new entry in the program – Each time the event occurs, Program starts a new program entry regardless of whether another program entry exists for the customer. For example, a purchase confirmation and tracking program must allow a user to make more than one purchase and to receive confirmations and tracking information for each order.
- Do not create a new entry in the program and leave the existing entry where it is – Program ignores the customer's new attempt to enter the program. For example, a customer abandons a cart and enters an Abandon program. The customer then returns to the cart, adds an item and abandons the cart again. This option keeps the original entry and ignores the new event.
- Do not create a new entry in the program and move the existing entry to this location – Program moves the existing program entry to this entry point and restarts it. For example, a customer abandons a cart and enters an Abandon program. Then the customer returns to the cart, adds an item and abandons the cart again. This option ignores the new event and moves the original program entry to the starting event.
- Understanding Program
- Getting Started with Program
- Designing Programs
- Testing Programs
- Publishing Programs
- Analyzing Programs
- Defining Custom Events
- Program Best Practices