Using Session, Request, and Event Properties in Campaigns

Campaign scenario rules are evaluated only when a single event occurs for which the campaign listener is configured. When the event is triggered, the event takes a snapshot of the current session properties, the single request property (contained in the session), and the event properties (contained in the request). The snapshot taken by the event is in the form of a Request object, which the event passes to the campaign service for evaluation. If the values in that snapshot evaluate to true against any campaign action rules, those campaign actions are triggered.

When campaign actions are not triggered as expected using session, request, and event properties, one or more of the following is usually to blame:

Consider the following Campaign action rules as created in the E-Business Control Center:

When all of these conditions apply:

an HTTP request has the following properties:

RequestPropertyOne is equal to `success'

any of the following events has occurred:

SessionLoginEvent

Do the following [Ad action, e-mail action, or discount action].

The rule will be evaluated only if an event for which the campaign service is listening occurs. (This event need not be used directly in the campaign rule.) For example, if the campaign service is configured to listen for the BEA-provided UserRegistrationEvent (which it is by default), then when a UserRegistrationEvent occurs the event takes a snapshot of the Request object and the Campaign rules are evaluated.

Here is how the previous Campaign action rules would be evaluated:

Because a UserRegistrationEvent woke up the campaign service and took a snapshot of the request object, the campaign action will not be triggered, because the rule requires that all of its conditions evaluate to true. The SessionLoginEvent rule is false (because it was the UserRegistrationEvent that woke up the campaign service).

If the rule was defined differently so that any of the conditions evaluating to true would trigger the action (rather than all conditions), the campaign action would have fired if the request property evaluated to true.

To use session or request properties to trigger campaign actions, make sure you do the following:

Related Topics

Preparing to Use Campaigns

Building Campaigns