Siebel Marketing Guide > Designing Marketing Program Plans > Using the Program Flow >

Enabling Multistage Segmentation and Targeting Using Campaign History


By default, any customer in your database can be included in any stage of a program plan. This means that segment members are not automatically restricted to people who were targeted or who responded to a previous stage. The following are some examples of reasons you might need to use campaign history to select segment members in a stage:

This history information can be mapped directly from the Siebel transactional database and can be used to build segmentation or filter criteria. If the customer uses the Siebel Data Warehouse, the Promotion star schema may be used for mapping.

NOTE:  Siebel Analytics uses third-party products for the extract, transform, and load (ETL) process. This process draws specific data from the Siebel transactional database (OLTP), transforms the data, and loads the data into the Siebel Data Warehouse (OLAP). The load process builds a series of star schemas. Siebel Analytics uses these star schemas as the basis for reports and graphs.

For more information about this process and the Promotion star, see Siebel Data Warehouse Data Model Reference.

You can allow segmentation by creating attribute families based on stage campaign history in the following ways:

For more information about attribute families, see Defining Attribute Families. For more information about mapping tables and joining tables and fields, see External Data Mapping.

Creating an Attribute Family From the Siebel Data Warehouse Campaign History

Creating attribute families based on stage campaign history allows you to use segmentation. One method is to use campaign history from the Siebel Data Warehouse.

To create an attribute family from the Siebel Data Warehouse campaign history

  1. From the application-level menu, choose View > Site Map > Marketing Administration > External Data Mapping.
  2. Click the Tables view tab and in the Tables list perform the following tasks:
    1. In the Tables list, create mappings to W_PERSON_D and W_CAMPHIST_F.
    2. In the Tables list, create the following new records for the W_PROGRAM_D table:
      • Create a record for W_PROGRAM_D and place a constraint on it for records in which the Type value is Campaign Occurrence. Give the table a reference name of Campaigns.
      • Create a record on W_PROGRAM_D and place a constraint on it for records in which the Type value is Stage Occurrence. Give the table a reference name of Stages.
      • Create a record on W_PROGRAM_D and place a constraint on it for records in which the Type value is Program Occurrence. Give the table a reference name of Programs.
  3. Click the Joins view tab and create the following joins:
    1. Create two table joins using the information in the following table:
    2. Parent Field.Table
      Child Field.Table
      Cardinality
      CON_ID.W_PERSON_D
      CON_ID.W_CAMPHIST_F
      N:N
      PROG_ID.W_CAMPHIST_F
      PROG_ID.Campaigns
      N:

    3. Create a start point join to the W_PERSON_D table.
  4. From the show drop-down list, select the Attributes view.
  5. In the Attribute Families list, create a new attribute family called Program HIstory, setting the Base Field to PROG_ID.
  6. In the Attributes list, create new records as shown in the following list:
  7. Code Table
    Code Field
    Label Table
    Label Field
    Programs
    Name
    Programs
    Name
    Stages
    Name
    Stages
    Name
    Campaigns
    Name
    Campaigns
    Name

  8. Click the Attribute Hierarchies view tab and create a three-level hierarchy as shown in the following list:

Creating an Attribute Family From the Siebel Database Campaign History

Creating attribute families based on stage campaign history allows you to use segmentation. One method is to use campaign history from the Siebel database.

Use the following guidelines to create an attribute family from the Siebel transactional database campaign history:

To create an attribute family from the Siebel database campaign history

  1. From the application-level menu, choose View > Site Map > Marketing Administration > External Data Mapping.
  2. Click the Tables view tab and in the Tables list map the tables as shown in the following table.
  3. Reference Name
    Table Name
    Restriction
    Program Table
    [DB Owner].S_SRC
    CAMP_TYPE_CD = 'PROGRAM CONTAINER'
    Stage Table
    [DB Owner].S_SRC
    CAMP_TYPE_CD = 'PROGRAM'
    Campaign Table
    [DB Owner].S_SRC
    CAMP_TYPE_CD IS NULL
    S_CAMP_CON
    [DB Owner].S_CAMP_CON
     
    S_DD_USER_KEY
    [DB Owner].S_DD_USER_KEY
     

  4. Click the Joins view tab and create the following joins:

Parent Table
Child Table
Parent Field
Child Field
Cardinality
Cache (Y/N)
External Source Table (Sort-Merge Join)
S_DD_USER_KEY
[CH Field 1]
Key1
1:1
N
 
 
[CH Field 2]
Key2
 
 
 
 
[CH Field n]
Key[n]
 
 
S_DD_USER_KEY
S_CAMP_CON
ROW_ID
DD_USER_KEY_ID
1:N
Y
S_CAMP_CON
Campaign Table
SRC_ID
ROW_ID
N:1
Y
Campaign Table
Stage Table
TEMPL_ID
ROW_ID
N:1
Y
Stage Table
Program Table
TEMPL_ID
ROW_ID
N:1
Y

  1. From the show drop-down list, select the Attributes view.
  2. In the Attribute Families list, create a new attribute family called Program HIstory, setting the Base Field to PROG_ID.
  3. In the Attributes list, create new records as shown in the following list:
  4. Code Table
    Code Field
    Label Table
    Label Field
    Programs
    Name
    Programs
    Name
    Stages
    Name
    Stages
    Name
    Campaigns
    Name
    Campaigns
    Name

  5. Click the Attribute Hierarchies view tab and create a three-level hierarchy as shown in the following list:

You can map a hierarchical attribute to the Program, Stage, and Campaign tables and use the resulting hierarchy in segmentation criteria. You need to map the ROW_ID (Campaign Table) for the base field, map the NAME for the Label, and map the ROW_ID for the Code field for each Hierarchical level. This mapping imports the containers, not the individual occurrences. To import the occurrences, the condition for the Program table must be changed to CAMP_TYPE_CD = `PROGRAM CONTAINER OCCURRENCE' and Stage table must be changed to CAMP_TYPE_CD = `PROGRAM OCCURRENCE'.

NOTE:  The Base Field for the attribute family should always be mapped to the ROW_ID of the lowest level. In our example, it is ROW_ID of the Campaign table.

To map a hierarchical attribute for use in segmentation criteria

  1. From the application-level menu, choose View > Site Map > Marketing Administration > Attributes.
  2. Select the Attribute Families view tab and in the Attribute Families list, create a new record.
  3. Map the Campaign table to the base table and map ROW_ID to the base field using the following information.
  4. Name
    Base Table
    Base Field
    Program Hierarchy
    Campaign
    ROW_ID

  5. In the Attributes list, create the following records.
  6. Name
    Code Table
    Code Field
    Label Table
    Label Field
    Program
    Program
    ROW_ID
    Program
    NAME
    Stage
    Stage
    ROW_ID
    Stage
    NAME
    Campaign
    Campaign
    ROW_ID
    Campaign
    NAME

  7. Click the Attribute Hierarchies view tab and create a new record using the following information.
  8. Name
    Attribute Family
    Program Hierarchy
    Program Hierarchy

  9. In the Attribute Hierarchy Levels list, create the 3 records using the following information.
  10. Sequence
    Attribute
    1
    Program
    2
    Stage
    3
    Campaign

  11. Click the Attribute Families view tab.
  12. In the Attribute Families list, select the program hierarchy attribute family and click Retrieve Data.


 Siebel Marketing Guide 
 Published: 23 June 2003