BEA Logo BEA WebLogic Portal Release 4.0

  BEA Home  |  Events  |  Solutions  |  Partners  |  Products  |  Services  |  Download  |  Developer Center  |  WebSUPPORT

 

   WebLogic Portal Documentation   |   Developing Campaign Infrastructure   |   Previous Topic   |   Next Topic   |   Contents   |   Index

Roadmap for Developing Campaign Infrastructure

 

Developing campaign infrastructure is a collaborative effort between a Business Analyst (BA) and a Business Engineer (BE). A BA develops the strategy and goals for individual campaigns, and uses the BEA E-Business Control Center to run and evaluate them. A BE develops the infrastructure to support campaigns and modifies the infrastructure as individual campaigns require.

This topic provides an overview of developing campaign infrastructure from the BE perspective. It includes the following sections:

 


What Is a Campaign?

A campaign coordinates several WebLogic Portal services to create and track marketing goals on an e-commerce Web site. For example, your Marketing organization can use campaigns to sell 100 ACME saws during the month of June. To reach this goal, Marketing can target advertising, e-mail, and discounted product pricing to customers who match a set of criteria, such as customers who have previously purchased ACME hardware from your site.

Note: Campaigns cannot be used with anonymous users.

Campaigns coordinate the following services:

 


How Data Flows in a Campaign

In a typical campaign, data flows as follows (see Figure 1-1):

Note: Campaigns cannot be used with anonymous users. Campaigns require a user ID that has two characteristics: the ID must be associated with a user profile, and that user profile must be saved (persisted). However, the anoymous profile for a user who is not logged in is a runtime profile (not saved), and not associated with a user ID.

Personalization features such as <pz:div> and <pz:contentSelector> JSP tags do work for anonymous users. This is because these features can use a runtime profile without a user ID.

  1. An event is generated by a trigger. For example, a customer logs in.

    In general, an event is a notification that something has happened in a computer program. For more information about the Event Service, refer to the Guide to Events and Behavior Tracking.

  2. The Event Service creates an event object to encapsulate information about the event. If a customer triggers the event, the event object includes the customer ID.

  3. The Event Service notifies all Event Listeners that it has detected an event. The event listener for the Campaign Service determines whether the event object is one of the following types:

  4. If the event is one of the types described in the previous step, the Campaign Listener notifies the Campaign Service.

  5. For each active campaign, the Campaign Service attempts to match the event with a scenario. For example, customer Pat Gomes is a Gold Customer who added a handsaw to the shopping cart. Scenario 1 in Campaign Z specifies actions for Gold Customers who add handsaws to the shopping cart.

  6. For any scenario that matches the event, the Scenario Service finds an action to initiate. Then the Campaign Service initiates the action. For example, If a Gold Customer adds a handsaw to the shopping cart, run a query for documents that advertise drills and display the results in the shopping cart JSP.

Ad Placeholders, the E-mail Service, and the Discount Service operate independently of the Campaign Service. The following sections describe how these services process the data that a campaign gives to them:

Figure 1-1 Data Flow in a Campaign


 

How Placeholders Select and Display Ads for Campaigns

Placeholders use the following process to select and display ads in a given JSP (see Figure 1-2):

  1. As part of carrying out a campaign action, the Campaign Service adds queries to the placeholder.

  2. When a user requests a JSP that contains a placeholder, if the ad placeholder contains more than one ad query, the Ad Service calls the Ad Conflict Resolver to select an ad query.

    For more information, refer to "Resolving Ad Query Conflicts" under "Working with Ad Placeholders" in the Guide to Building Personalized Applications.

  3. The Ad Service does the following:

    1. It forwards the query to the content management system. If the query returns more than one ad, the ad placeholder uses the adWeight attribute of each ad to determine which one to retrieve.

    2. If the ad is associated with an active campaign, it determines whether the campaign has fulfilled its goal of displaying the ad a specific number of times. If the ad has already been displayed the specified number of times, the Ad Service selects another ad.

    3. It sends data to the Event Service indicating that the placeholder has displayed the ad. Notice that the Ad Service updates the ad-display count after it finds an ad but before it generates the HTML to display the ad. In some cases, for example, if a customer forces a browser to stop loading a page, the Ad Service increases the ad display count even though the ad was never displayed.

      For more information, refer to "How an Ad Placeholder Chooses from Ad Query Results" under "Working with Ad Placeholders" in the Guide to Building Personalized Applications.

  4. The ad placeholder generates the HTML that the browser requires to display the ad content and places it in the JSP at the location of the placeholder tag.

  5. If a customer clicks on the ad, the Ad Service redirects the URL and notifies the Event Service that a customer clicked the ad.

    Figure 1-2 How Placeholders Display Ads for Campaigns


     

How Campaigns Use the Mail Service

Business Analysts (BAs) can specify that a scenario within a campaign sends an e-mail to a customer. For example, when a customer buys a flashlight, a scenario can send an e-mail that contains special offers for batteries.

When BAs create scenarios from the E-Business Control Center, they select a JSP file that contains the e-mail content. When a customer triggers the scenario action, the following processes occurs:

  1. The Campaign Service uses internal HTTP to request the JSP that the scenario action specifies. In the request, it passes parameters to identify the name of the scenario and the identity of the customer who triggered the scenario action.

  2. The JSP invokes any JSP tags that it contains, uses MIME types to encode non-ASCII output, and stores its output in the WebLogic Portal data repository. The data repository organizes the e-mails into batches; one batch for each campaign.

  3. You issue a command to the Mail Service that specifies which batch of messages you want to send. The Mail Service uses the JavaMail API to send the messages.

    Figure 1-3 The Mail Service for Campaigns


     

How Campaigns Offer Discounts

A BA creates discounts while defining actions for a scenario. When an event triggers a scenario to activate a discount the following process occurs:

  1. The scenario action sends the following information to the Discount Association Service:

  2. When a customer adds an item to the shopping cart, removes an item from the shopping cart, checks out, or confirms an order, the shopping cart places its data in a ShoppingCart Pipeline component.

  3. The ShoppingCart Pipeline component contacts the Pricing Service.

  4. Using data from the Discount Association Service, the Shopping Cart Pipeline component, and from any third-party tax-calculation service, the Pricing Service calculates the total price of the customer's order. For more information on how the Pricing Service calculates the price of a customer's order, refer to the Guide to Managing Purchases and Processing Orders.

  5. The Pricing Service sends its results to the PriceOrder Pipeline component.

  6. Then the shopping cart JSP displays information from the Pipeline component.

    Figure 1-4 How a Campaign Offers Discounts


     

 


Workflow for Developing Campaign Infrastructure

To develop campaign infrastructure, you set up data structures that the BA uses to define and run individual campaigns. To support a specific campaign, a BA might require you to add or update data structures and remove them when the campaign ends.

The following steps outline the process for developing campaign infrastructure:

  1. Define Custom Events. WebLogic Portal includes a set of default events that trigger campaign actions. If a BA wants a campaign to respond or react to other events, you must define custom events. For more information, refer to Supporting Custom Events for Campaigns and "Creating Custom Events" in the Guide to Events and Behavior Tracking.

  2. Set Up Ads and Ad Attributes. You must load any advertising documents (ads) that a campaign displays into your content management system. To support ad placeholder queries, you must define attributes for each ad. To support ad clickthroughs and popup windows for clickthrough targets, and to set preferences for Shockwave movie files, you must attach an additional set of attributes to the image and Shockwave advertising documents.

    On any page that displays ads for a campaign, you must use a <ph:placeholder> JSP tag. Placeholder tags run queries that a BA constructs in the E-Business Control Center and display the query results.

  3. Add customer profile data to the session. A customer profile is a key piece of information for determining whether a campaign scenario applies to a specific event. On any JSP that generates or reacts to events for a campaign, you must retrieve the customer's profile and place it in the session object by doing any of the following:

  4. Set Up the E-mail Service Properties and Campaign E-mail JSPs. If the campaign sends e-mail, you must set properties for the e-mail service. Then you set up JSPs to contain the campaign's e-mail messages. You can use JSP tags and APIs to personalize the letter. Instead of using the WebLogic Portal e-mail service, you can set up an integration with a third-party e-mail service.

  5. Send Bulk E-mails. The e-mail service places all e-mails in a batch. You must periodically use a command to send the batch. You can also use cron or any other scheduler that your operating system supports to issue the send-mail command.

  6. Clean Up. After the campaign ends, you can remove any campaign-specific placeholders, JSPs, and JSP tags.

 

back to top previous page next page