Target Levels: What do they steer and what not? Part 2/3

This is the second Post about the influence of Target Levels. The realm of the first post was limited to the Segment Designer. This post will focus on the Load of Segments to Siebel in conjunction with the Load List Format and compare this behaviour again with the Segment Designer.

Target Level and Segment Designer

As already described in the previous Post, the Segment designer allows counting the target level members according to the segmentation criteria of the segment, the count of each block and the the gross count is displayed, hence indicating the members which are part of the segment and will be loaded into the campaign as members once the campaign is loaded.

The SQL statement generated by the Oracle BI server can be inspected from the Marketing Job Log View:

selecting the “Get Count” Marketing Job:

The below SQL statement was generated by the Oracle BI Server for the Segment Designer to count the Target Level Members within the Business Analytics Warehouse:


Target Level and Campaign Load

When loading the Segment into the Siebel Campaign, the segment is “invoked” and the Members currently fulfilling the criteria are loaded to the Campaign Membership (S_CAMP_CON Table).

The Oracle BI server will write a text file to the Siebel Shared File system and Siebel will load the text file using a EAI Workflow to the Campaign Membership (S_CAMP_CON Table).


To provide the text file in the expected format by the Siebel EAI Workflow, the Oracle BI server provides the Load List Formats designer to provide the means of loading the individual members to the Campaign Membership Table so that they are participating within the Campaign.

The generated text file contains the individual members and has the following format (adhering to the Load List format definition):

The Load List Format itself is defined on a special Subject area and Business Model for each Target Level, such as Contacts / Accounts:

Every Segment is linked to a single Load List Format via the Advanced Options Tab of the Segment designer:

Once the Campaign is loaded Siebel sends a SOAP request to the Oracle BI server to execute the segment and generate the text file with the Campaign Members using the Write List Job (visible with the Marketing Job View):


The Marketing Job is executed by the Oracle BI server with the following statement to the Business Warehouse for the same sample Segment as before:

When comparing the SQL statements executed from the Segment designer with the SQL Statement for the Campaign load it can be seen that they are not the same. This is partially due to the different nature since within the Segment designer, the User is interested in the count, hence a SELECT COUNT(*)while the load requires the individual records, hence no aggregation.
Even though the statements are not the same, the logic (in terms of underlying Tables and Joins) for the Load List format (plus underlying RPD Metadata definition) is matching the logic of the Segmentation Catalogue. Thus, the generated text file and the segment count have the same count of Members (# of Records) for the Segment:

To summarize: The Target Level links the Segmentation catalogue with the Load and Export List Formats, but the generation of SQL statements is independent for the areas and only depends on the metadata definition on which they are based:

Since the generated statements for the Segmentation Designer (based on the Segmentation Catalogue) is independent of the generated statement for the Campaign Load (based on the Load List Format) it’s possible to create a Scenario in which both do not provide the same results (count for Segment and Load) even though both are linked to the same Target Level. This will be the focus of the next article.

For some scenarios this might be desirable since the Campaign Load Format is aware of the Campaign (it is loaded to) and the Treatment (Channel), thus it would be possible to perform certain additional checks e.g. does the Campaign Member have a valid Address for the Channel. However, this additional “segmentation” logic makes it very hard for a Marketing End User to compare the results of the Segment Designer with the actual Members loaded to the Campaign.

Launching the Campaign

When launching the Campaign the impact of the Target level is also very minor. As described before  The Export List format definition is also based on the BI data model and determines the actual SQL generated on the BI System (Data Warehouse). In order to only generate the respective Members of the Campaign the BI System references the Siebel Transactional Campaign Membership Table (S_CAMP_CON) by passing Parameters from Siebel to the Oracle BI System to identify the respective Campaign via the Campaign Id and Load Number. 

Export List Format, based on Transactional Campaign Membership Table:image

Sample Export Format based on above Subject area to Export the Campaign Members for the Execution of the Campaign e.g. using a external Marketing Agency:

1 thought on “Target Levels: What do they steer and what not? Part 2/3

  1. Hi,

    Is there a way to create an order in insertion while the campaign data-load to a table.
    As in my case, we are inserting campaign data into two tables: one table is for count of the segment and other table is for member ids of the segment. In OBIEE, it inserts the count first and then insert member. Is there a way to possible to insert first member_ids and then count.
    So that once the member list is complete in member table then only count should be written to table.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.