Siebel Marketing User Guide > Designing Marketing Programs > Setting Up a Program Flow >

About Using Triggers with Campaign Stages


Triggers detect an event automatically and trigger the appropriate program stage. Actual event detection is performed by an external event triggering framework, such as a third-party database trigger, Oracle Business Activity Monitoring Engine (BAM), or workflows that monitor the creation of records in a Siebel OLTP table. The event detection application notifies the Siebel Marketing application to implement a trigger.

The integration point between the external detection application and Siebel Marketing is an event repository, which stores references to event definitions and key parameters that the program might need from the event application. The Create Event Trigger and Execute Event Trigger SOAP API Web services allow the external event detection application to populate the event repository with data for the event attributes. For more information on Web services, see Siebel CRM Web Services Reference. You can manage the event repository by navigating to the Administration-Marketing screen, then the Triggers view.

NOTE:  A triggered stage cannot be scheduled. A scheduled stage cannot be triggered.

Trigger-Based Execution of Marketing Programs

Once a trigger is associated with a campaign, the event capture application sets the steps illustrated in Figure 2 in motion. These steps are as follows:

  1. The trigger service receives the event and maps the trigger to all eligible programs.
  2. The event capture application determines the programs that are executed as follows:
    • If a custom workflow has been created to handle cross-program prioritization, then this workflow is invoked to return the set of programs to execute. The custom workflow includes the following elements, all of which are extensible though configuration in Siebel Tools:
      • Customer_ID
      • Maximum number of program stages that are required to be returned (optional)
      • Event Code
      • Event Name
      • Event Category
      • An array consisting of Input Program Stages (stage IDs), the Program Type of each program associated with the stage, and the program priority of each stage
    • If no custom workflow exists, then the following parameters determine the programs to execute. If programs have identical priorities, then they are prioritized randomly.
      • Maximum number of Concurrent Programs for a Trigger
      • Program Priorities (in case of a tie)
  3. For each of the program stages to be executed, the trigger service passes the CUSTOMER_ID to the program stage, then the program stage uses the CUSTOMER_ID to pass the correct context to the Oracle BI segmentation engine to execute the segments.

    The segmentation engine restricts each segment to this CUSTOMER_ID so that either 0 or 1 record is loaded into S_CAMP_CON.

    NOTE:  To accommodate the CUSTOMER_ID value, the Marketing Stage Execution workflow contains a CUSTOMER_ID input parameter, which is passed to the Load-Launch Campaigns step of the workflow. This calls the Marketing Campaign Load workflow, which contains a Get List Format System Data step that uses the BI Server to perform a WriteListFiles operation. This maps the CUSTOMER_ID to the value passed as input.

Figure 2 illustrates trigger-based execution of marketing programs.

Figure 2. Trigger-Based Execution of Marketing Programs

If the Execute Event Trigger Web service is called in batch mode (that is, if Real Time Flag is set to N), then all the records remain queued in the History table and are picked up when the number of records reaches the threshold specified in the Stage Allocation Threshold server parameter. All the customer Ids are then concatenated and sent to Oracle BI as a single, comma-separated Id and are then processed. For information about adding a trigger to a campaign, see Adding Triggers to a Campaign Stage.

NOTE:  Real Time Flag is a parameter for the stage threshold in the Marketing Event Trigger Execution Web service. You can change this value when calling this Web service. Real Time Flag is a case-sensitive parameter.

To enable throttling during a campaign load, a parameter called '"-Contact Profile".ROW_ID' stores the Customer Id value in the Get List Format System Data step of the Marketing Campaign Load workflow. You can enable throttling on other parameters by adding them to the same workflow step. You can also use the '"-Contact Profile".ROW_ID' parameter to enable throttling in the Marketing Create Lead and Marketing Create Responses workflows. If you have modified the name of the Contact Profile variable in Oracle Business Intelligence, then be sure to modify the parameter name to match.

Siebel Marketing User Guide Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Legal Notices.