136
Campaign Optimizer Version 10.1.2 User Guide Oracle ATG One Main Street Cambridge, MA 02142 USA

ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Campaign Optimizer

Version 10.1.2

User Guide

Oracle ATG

One Main Street

Cambridge, MA 02142

USA

Page 2: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

ATG Campaign Optimizer User Guide

Product version: 10.1.2

Release date: 12-17-12

Document identifier: CampaignOptimizerUserGuide1404301402

Copyright © 1997, 2012 Oracle and/or its affiliates. All rights reserved.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are

trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or

registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are

protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy,

reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any

means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please

report them to us in writing.

If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the

following notice is applicable:

U.S. GOVERNMENT END USERS:

Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation,

delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and

agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any

operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and

license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended

for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or

hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures

to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in

dangerous applications.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties.

Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party

content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to

your access to or use of third-party content, products, or services.

The software is based in part on the work of the Independent JPEG Group.

Page 3: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

ATG Campaign Optimizer User Guide iii

Table of Contents

I. Installation and Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1. Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

What is ATG Campaign Optimizer? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

ATG Campaign Optimizer and ATG Commerce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

ATG Campaign Optimizer in a Multisite Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Installing ATG Campaign Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Post-Installation Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Configuring ATG Campaign Optimizer with CIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Performing Post-Installation Setup Manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Starting ATG Campaign Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Starting ATG Campaign Optimizer on your Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

ATG Campaign Optimizer Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Connecting to the ATG Business Control Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Accessing the ATG Business Control Center with Microsoft Internet Explorer . . . . . . . . . . . 10

Connecting to the Dynamo Admin UI and ACC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Setting up User Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2. Configuring ATG Campaign Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Configuring the Test Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Working with Registries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Registry Configuration Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Creating Custom Registries Using SQL Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Creating Custom Registries Using the Registry Administration UI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Viewing Log Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Configuring Data Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Turning off Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Configuring Preview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Changing the Countdown Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Adding Preview Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Running the Report Generator Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Running the Profile Cleanup Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Improving Application Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Substitution Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Substitution Mime Type Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Test Subject Registries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Changing Logging Cache Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Using the Cache Servlet Bean with Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Implementing Template Substitution in Modified Catalogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Implementing Page Fragment Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Troubleshooting Slot Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Configuring Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Defining the Deployment Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Adding Deployment Targets to Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Managing Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Staging and Production Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Production-Only Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Default Workflow Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

A. ATG Campaign Optimizer Scenario Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

ATG Campaign Optimizer Core Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

ATG Campaign Optimizer Commerce Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

B. ATG Campaign Optimizer Database Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

ATG Campaign Optimizer Core Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Page 4: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

iv ATG Campaign Optimizer User Guide

CAF Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Markers Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Metrics Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Preview Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Reporting Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Tracking Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Test Definition Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

ATG Campaign Optimizer for Commerce Database Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Metrics Tables (Commerce) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Reporting Tables (Commerce) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Test Definition Tables (Commerce) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

II. Business User Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

3. ATG Campaign Optimizer Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

ATG Campaign Optimizer Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

A/B Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Checked-in Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Multivariate Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Test Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

ATG Content Administration Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Projects and Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Assets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Versioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

ATG Campaign Optimizer Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Slot Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Promotions Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Location Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Web Site Functionality Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

4. Creating a Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Creating a New Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Adding a New Test to the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Defining Basic Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Adding Participants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Configuring the Test Groups Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Defining Test Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Configuring Test Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Testing Repository Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Testing Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Testing Page Fragments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Testing Category Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Testing Product Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Testing Promotions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Copying Test Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Previewing Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Previewing a Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Editing Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Copying Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Deleting Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Completing and Deploying Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Ending Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Viewing Test Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

5. Using ATG Campaign Optimizer Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

Page 5: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

ATG Campaign Optimizer User Guide v

Displaying the Project Tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

Tasks Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Assets Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

History Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

Lock Conflicts Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

6. Customizing Metrics for ATG Campaign Optimizer Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

How ATG Campaign Optimizer Creates Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Designing Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Metrics Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Updating Your Repositories and Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Adding New Logging Content to a Repository and Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Adding New Reporting Content to a Repository and Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

Creating Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Defining Resource Bundles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Creating Recording Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Defining Your Metric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

Creating a Metric Handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

Extending the Report Property Mapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

Configuring a Metric Info Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

Directing Components to Use Your Logging and Reporting Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Page 6: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

vi ATG Campaign Optimizer User Guide

Page 7: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Part I. Installation and AdministrationThis section includes overview material about Oracle ATG Web Commerce Campaign Optimizer and instructions for the

installation process, including planning considerations, installing the products, performing initial configuration, and

integration issues.

Getting Started (page 3)

This chapter includes an overview of ATG Campaign Optimizer, and instructions for installation, database

configuration, product requirements, and start up.

Configuring ATG Campaign Optimizer (page 13)

This chapter includes detailed instructions for system administrators. It describes how to configure and

customize the ATG Campaign Optimizer.

Customizing Metrics for ATG Campaign Optimizer Tests (page 105)

This chapter includes instructions for programmers. It describes how to create custom metrics for your

tests.

Appendix A, ATG Campaign Optimizer Scenario Elements (page 37)

This appendix describes the scenario elements provided by ATG Campaign Optimizer.

Appendix B, ATG Campaign Optimizer Database Tables (page 41)

This appendix provides reference information about the ATG Campaign Optimizer database schema.

Page 8: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the
Page 9: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

1 Getting Started 3

1 Getting Started

This chapter explains how to install and configure ATG Campaign Optimizer. This chapter contains the following

sections:

What is ATG Campaign Optimizer? (page 3)

Installing ATG Campaign Optimizer (page 4)

Post-Installation Configuration (page 4)

Starting ATG Campaign Optimizer (page 7)

After you complete the basic installation steps, you need to perform some additional configuration tasks to

prepare your system for use. You can perform these configuration steps manually or you can use the ATG

Configuration and Installation Manager (CIM).

Note: <ATG10dir> is used throughout this document to represent the directory where ATG 10.1.2 is installed

(C:\ATG\ATG10.1.2 or /home/ATG/ATG10.1.2, for example).

What is ATG Campaign Optimizer?

ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and

measure the resulting purchasing behavior. The tool can help increase revenue by allowing you to make better

decisions about site content and provide the most compelling customer experience.

Use ATG Campaign Optimizer to test promotions, products, pages, and page layout. Because you can compare

different site designs at the same time, the influence of fluctuating elements such as the season, traffic changes,

and current events on test results is eliminated. In addition, you can test the new content without having to

make changes to the pages that already exist on the web site.

ATG Campaign Optimizer and ATG Commerce

If your ATG product environment includes ATG Commerce, you can test Commerce events and actions with

ATG Campaign Optimizer. For example, you can test multiple promotions to see which will deliver the best

click-through to conversion, or test the best location on a Web page for pricing, promotions, products, creative,

content, and features such as search.

ATG Campaign Optimizer in a Multisite Environment

In a multisite environment, you can preview and run tests on all registered sites or only on the site you specify.

Page 10: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

4 1 Getting Started

The term multisite refers to running multiple web sites from a single ATG instance, with the sites sharing certain

resources. For example, consider a clothing manufacturer that has two brands, a bargain brand and a luxury

brand, and wants to run separate sites for the two brands.

For more information, see ATG Multisite Administration Guide.

Installing ATG Campaign Optimizer

The following software must be installed on your system before you install ATG Campaign Optimizer:

• One of the following application servers: JBoss Application Server, Oracle WebLogic Server, or IBM WebSphere

Application Server. For installation and configuration instructions, see the ATG Installation and Configuration

Guide.

• The appropriate ATG products, as described in the ATG Multiple Application Integration Guide: including an

asset management server or cluster and a customer-facing server or cluster.

• If you are using ATG Campaign Optimizer with ATG Commerce, you will also need to install the Consumer

Commerce Package or ATG Business Commerce Package.

For more information on (supported thing), refer to the Oracle ATG Commerce Supported Environments Matrix

document in the My Oracle Support knowledge base.

Follow these steps to install ATG Campaign Optimizer.

1. Run the ATG-CampaignOptimizerCommerce10.1.2.{bin|exe} file to start the setup program.

2. When the setup program prompts you to choose an installation folder, enter the path to the directory where

you installed ATG 10.1.2 (C:\ATG\ATG10.1.2 or /home/ATG/ATG10.1.2, for example). The setup program

then guides you through the process for installing ATG Campaign Optimizer or ATG Campaign Optimizer for

Commerce. When you install ATG Campaign Optimizer for Commerce, you need to install both ATG Campaign

Optimizer and ATG Campaign Optimizer for Commerce.

The setup program also installs the required Common Application Framework (CAF) in the ATG10dir/

CAF<version> directory. CAF is a shared framework used by several ATG applications. If you choose to uninstall

ATG Campaign Optimizer, CAF is not uninstalled.

Post-Installation Configuration

After you perform the installation tasks described previously in this chapter, you must complete some additional

setup steps before you can start the ATG Campaign Optimizer server, including creating the database schemas

for the ATG Campaign Optimizer server, importing initial data into the ATG Campaign Optimizer server schema,

and assembling and deploying the EAR files.

ATG recommends that you use the ATG Configuration and Installation Manager (CIM) to perform these steps,

though you can also perform them manually.

Page 11: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

1 Getting Started 5

Configuring ATG Campaign Optimizer with CIM

The ATG Configuration and Installation Manager (CIM) is a wizard-based tool that helps to simplify ATG product

configuration by walking you through the required steps. This ensures that all necessary steps are completed

and are done in the correct order. You can use CIM to get a working installation running quickly and easily, but

keep in mind that you will most likely end up doing further configuration on your installation as your project

evolves.

Note: Do not use CIM to install ATG Campaign Optimizer if you are adding a new ATG Campaign Optimizer

installation to an existing ATG product. The CIM configuration process will overwrite your existing ATG product

configurations. Use CIM if you are installing all ATG products for the first time.

CIM handles the following configuration steps:

• Creates data sources according to the database connection information you supply.

• Creates database schemas and imports initial data.

• Creates and configures ATG servers, including a lock manager server.

• Assembles and deploys the application EAR files for each server.

See the ATG Installation and Configuration Guide for additional information on CIM.

To configure ATG Campaign Optimizer using CIM:

1. Install the Oracle ATG Web Commerce platform, ATG Campaign Optimizer, and all required licenses as

described at the beginning of this chapter. Also install Oracle ATG Web Commerce if your environment uses it.

2. Start CIM. To do so, switch to <ATG10dir>\home\bin at a command line prompt and type:

cim.bat|sh

3. Follow the prompts. Type h at any prompt for more information. See also the tips in the next section, CIM

Selections for ATG Campaign Optimizer.

CIM Selections for ATG Campaign Optimizer

At the CIM Main Menu, type p and press Enter to go to the Production Selection screen. Then make one of the

following choices:

• To install ATG Campaign Optimizer without ATG Commerce add-on features, select ATG Campaign Optimizer

(ABTest).

• To install ATG Campaign Optimizer so that ATG Commerce add-on features are enabled, select ATG Campaign

Optimizer with Commerce (DCS-ABTest).

At the next screen, Choose Add-Ons, select the ATG Campaign Optimizer options that are applicable to the

environment you are setting up. Some of the add-ons shown for ATG Campaign Optimizer (for example,

Dedicated Lock Servers) are part of the platform configuration. There are two add-on choices specific to ATG

Campaign Optimizer:

• To install the Preview feature on a separate server or on the management server.

• To install ATG Campaign Optimizer reporting on a separate server or on the management server.

Note that you need to complete all the steps in the Main Menu (including Select Application Server and

Database Configuration) except Custom CIM Plugin Launcher.

Page 12: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

6 1 Getting Started

For detailed information on CIM prompts, refer to the CIM online help.

Performing Post-Installation Setup Manually

This section describes how to perform ATG Campaign Optimizer setup tasks if you used CIM to set up ATG

Campaign Optimizer, the database schemas have already been created and the data sources configured, so you

do not need to follow the procedures in this section.

Creating the Database Schema for the ATG Campaign Optimizer Server

Follow these steps to create the database tables required by the ATG Campaign Optimizer server.

1. If you haven’t done so already, create the database tables for the ATG Adaptive Scenario Engine. For

instructions, see the Configuring Databases and Database Access chapter in the ATG Installation and

Configuration Guide.

2. Run the following SQL scripts in your production database:

<ATG10dir>/CampaignOptimizer10.1.2/ABTest/sql/database/

abtest_tracking_ddl.sql

abtest_markers_ddl.sql

abtest_metrics_ddl.sql

abtest_reporting_ddl.sql

If you installed ATG Campaign Optimizer with Commerce Extensions, run the following SQL scripts in your

production database:

<ATG10dir>/DCSCampaignOptimizer10.1.2/ABTest/sql/database/

abtest_dcs_reporting_ddl.sql

abtest_dcs_metrics_ddl.sql

3. Run the following SQL Scripts in your publishing database:

<ATG10dir>/CampaignOptimizer10.1.2/ABTest/sql/database/

versioned_abtest_ddl.sql

abtest_preview_ddl.sql

abtest_markers_ddl.sql

abtest_metrics_ddl.sql

If you installed ATG Campaign Optimizer for Commerce, run the following SQL script in your publishing

database:

<ATG10dir>/DCSCampaignOptimizer10.1.2/ABTest/sql/database/

versioned_dcs_abtest_ddl.sql

Configuring the ATG Campaign Optimizer Server Data Source

The ATG Campaign Optimizer server relies on the database instance configured for the underlying ATG

Content Administration system. (This database stores the versioned test assets checked in to the ATG Content

Administration system. It also stores the profiles of ATG Content Administration and ATG Campaign Optimizer

users.) Initially, the ATG Content Administration system uses the default ATG data source. If you haven’t already

done so, you need to reconfigure this data source so it points to a production-quality database.

Page 13: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

1 Getting Started 7

Configuring the External Profile Repository Data Source

If you have not done so already, configure the data source used by the external profile repository on the asset

management (ATG Content Administration) server so that it points to the database on the production server.

• Configure the /atg/dynamo/service/jdbc/JTDataSource_production component on the asset

management server to point to the production database.

• Configure the /atg/dynamo/service/jdbc/JTDataSource component on the asset management server

to point to the versioned database.

• Configure the /atg/dynamo/service/jdbc/JTDataSource component on the production server to point

to the production database

For detailed information, see Configuring Profile Repository Data Sources in the ATG Business Control Center

Administration and Development Guide for detailed information.

Importing the Initial ATG Campaign Optimizer Data

To import the initial ATG Campaign Optimizer data into your database:

1. Make sure your DYNAMO_HOME and JAVA_HOME environment variables are set. DYNAMO_HOME should point

to <ATG10dir>\home and JAVA_HOME should point to the JDK root directory (C:\Program Files\Java

\jdk1.6.0_18, for example).

2. If you haven’t done so already, import the initial ATG Content Administration data. See the ATG Content

Administration Programming Guide for instructions.

3. Run the following ATG Campaign Optimizer script:

<ATG10dir>/CampaignOptimizer10.1.2/ABTest/management/install/importABTestManagement.{bat|sh}

Starting ATG Campaign Optimizer

After you have installed ATG Campaign Optimizer and completed the basic configuration tasks outlined in the

previous sections, you can start up and connect to the ATG Campaign Optimizer server via the ATG Business

Control Center.

Starting ATG Campaign Optimizer on your Application Server

To start ATG Campaign Optimizer on IBM WebSphere, Oracle WebLogic, or JBoss Application Server, use

the <ATG10dir>/home/bin/runAssembler script to create an EAR file for each ATG Campaign Optimizer

module. You can then deploy the resulting EAR files to your application server and start them according

to the instructions in your application server documentation. You can find detailed information about the

runAssembler script in the ATG Platform Programming Guide.

Note: If you used CIM to set up ATG Campaign Optimizer, the EAR files have already been assembled and

deployed, so you do not need to follow the procedures in this section. The ATG Campaign Optimizer modules

Page 14: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

8 1 Getting Started

start up automatically when you start the application server. Refer to your application server documentation for

more information.

Note that your SQL database and the DistributorServer must be running before you start your ATG

applications. To start the DistributorServer on your HTTP server machine(s), run the startNucleus -m

Distributor command under <ATGWebServerExtensions_dir>\home\bin.

To assemble a J2EE application that includes ATG Campaign Optimizer, you execute a command in this format:

runAssembler [options] output-file-name–m module-list

Be sure to specify all ATG Campaign Optimizer modules or submodules that you want to work with, plus the

application module that includes the Web application you are testing, plus any other ATG modules required. For

example, you could use the following command to assemble an application in development mode that includes

ATG Campaign Optimizer without ATG Commerce extensions:

runAssembler –standalone COServer.ear -m ABTest.runtime ABTest.management.Versioned ABTest.reporting DafEar.Admin <additional modules>

If your installation includes ATG Commerce, include additional modules that allow business users to include ATG

Commerce elements in tests. For example:

runAssembler –standalone COServer.ear -m DCS-ABTest.runtime DCS-ABTest.management.Versioned DafEar.Admin <additional modules>

You can include the following optional –layer commands when you start the ATG Campaign Optimizer server:

Option Notes

-layer staging Include this option if you want to deploy ATG Campaign Optimizer tests to a staging

server as well as a production server. Among other changes, this option enables the

appropriate staging and production workflow. See Managing Workflows (page 32)

for more information.

-layer preview Include this option if you installed the preview feature. See Previewing Tests (page

89) for more information.

For example:

runAssembler –standalone COServer.ear –layer preview –layer staging-m ABTest.runtime ABTest.management.Versioned ABTest.reporting DafEar.Admin <additional modules>

If you are running the ATG Campaign Optimizer Reporting module on a separate server, omit

ABTest.reporting from the EAR file for the Production/Staging module and create a separate EAR file for the

reporting module:

Page 15: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

1 Getting Started 9

runAssembler –standalone COReporting.ear–m ABTest.reporting DafEar.Admin

Notes:

• The –standalone flag is required in all cases.

• The DafEar.Admin module shown in the list starts the ATG Dynamo Server Admin. This module is optional.

The DafEar.Admin module must precede any custom modules that are included in the module list.

For detailed instructions on assembling ATG applications, see the ATG Platform Programming Guide.

ATG Campaign Optimizer Modules

The following table describes the ATG Campaign Optimizer modules.

Module Description

ABTest Starts the management, runtime, and reporting

submodules of ATG Campaign Optimizer. It also starts the

CAF and DSS modules.

This module makes all ATG Campaign Optimizer features

available in a single ATG instance. This module can be used

during development or demonstration. It is not intended

for production use.

DCS-ABTest Starts the ABTest and DCS modules as well as submodules

that represent commerce versions of management,

runtime and reporting.

This module makes all ATG Campaign Optimizer and ATG

Campaign Optimizer for Commerce features available in

a single ATG instance. This module can be used during

development or demonstration. It is not intended for

production use.

ABTest.management.Versioned Starts ATG Campaign Optimizer for business user support

(test definition and report viewing).

DCS-ABTest.management.Versioned Starts the DCS and ABTest.management modules as well

as a commerce version of the management module that

allows business users to create tests and view reports that

have commerce elements.

ABTest.reporting Starts ATG Campaign Optimizer with the functionality and

configuration necessary to compute reports.

DCS-ABTest.reporting Starts the DCS and ABTest.reporting modules as well

as a commerce version of the reporting module that

computes commerce metrics for reports.

Page 16: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

10 1 Getting Started

Module Description

ABTest.runtime Starts ATG Campaign Optimizer with the functionality and

configuration necessary to execute tests.

This module also starts the ABTest.ExternalUsers

module, which contains the profile marker properties that

ATG Campaign Optimizer adds to the standard external

user profile repository. For more information on this

module, refer to the ATG Multiple Application Integration

Guide.

DCS-ABTest.runtime Starts the DCS and ABTest.runtime modules as well

as a commerce version of the runtime module used to

execute commerce test elements.

Connecting to the ATG Business Control Center

Once the ATG Campaign Optimizer server is running, you can log into the ATG Business Control Center as

described in the section Accessing the ATG Campaign Optimizer User Interface (page 71).

For information about creating internal user profiles for business users who will work with ATG Campaign

Optimizer, see the section Setting up User Accounts (page 11).

Accessing the ATG Business Control Center with Microsoft Internet Explorer

Internet Explorer may format form posts incorrectly, resulting in a “This page cannot be displayed” error. You can

work around this problem by making a change to your Windows registry. For detailed instructions, point your

browser to the following URL:

http://<hostname>:<port>/dyn/dyn/iefix/

where <port> is as follows:

• WebSphere: 9080

• WebLogic: 7001

• JBoss: 8080

In addition, new projects may not appear in the To Do list on the Home page after you create them. The problem

is caused by Internet Explorer’s automatic page caching behavior. To resolve it, in Internet Explorer, select Tools

> Internet Options > General > Settings. Change the Check for Newer Versions of Stored Pages option from

Automatically to Every Visit to the Page.

Page 17: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

1 Getting Started 11

Connecting to the Dynamo Admin UI and ACC

The ATG Control Center (ACC) gives you an easy way to configure ATG Campaign Optimizer components and

manage workflows. The Dynamo Administration UI also provides quick access to a number of helpful developer

and admin tools. For instructions on connecting to the Admin UI and the ACC, see the ATG Installation and

Configuration Guide.

Setting up User Accounts

In order to control access to test creation and management in the ATG Business Control Center, you need

to create an ATG profile for each internal ATG Campaign Optimizer user and make the appropriate role

assignments. ATG Campaign Optimizer comes with one built-in role, abtestUser. For more information about

setting up internal user profiles, see the section “Managing User Profiles” in the ATG Business Control Center

Administration and Development Guide.

Page 18: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

12 1 Getting Started

Page 19: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

2 Configuring ATG Campaign Optimizer 13

2 Configuring ATG Campaign

Optimizer

This chapter contains technical information on configuring ATG Campaign Optimizer. This chapter is written for

a system administrator or any other person configuring ATG Campaign Optimizer.

It includes the following sections:

Configuring the Test Manager (page 13)

Working with Registries (page 14)

Viewing Log Data (page 19)

Configuring Data Logging (page 20)

Running the Report Generator Service (page 22)

Running the Profile Cleanup Service (page 23)

Improving Application Performance (page 23)

Configuring Preview (page 21)

Implementing Template Substitution in Modified Catalogs (page 26)

Implementing Page Fragment Substitution (page 30)

Troubleshooting Slot Testing (page 30)

Managing Workflows (page 32)

Configuring the Test Manager

The TestManager component is used to configure ATG Campaign Optimizer options that are used for testing

the management module. It is located in the atg/abtest/management directory. Refer to the following table

for information on the important properties in the TestManager component.

Property Description

scenarioRoot The root directory that stores all generated scenarios.

Page 20: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

14 2 Configuring ATG Campaign Optimizer

Property Description

previewScenarioRoot The root directory that stores the generated preview scenarios.

defaultPreviewURL If configured, this URL appears as a Default System Preview URL in the ATG

Campaign Optimizer UI. The Default System Preview URL is used to start all

previews if another preview URL is not entered and the Test Specific URL is

not set.

Working with Registries

Registries provide a mechanism for allowing an administrator to customize a user’s view of certain system assets.

This customization can be performed for a number of reasons, including:

• to provide a simpler user interface for business users

• to prevent business users from accessing irrelevant or restricted areas of the system

The ATG Campaign Optimizer UI uses registries when allowing users to select items of the following types:

• profile groups (for specifying test participants)

• Web pages and page fragments

• repository slots

ATG Campaign Optimizer for Commerce customers can also use registries for the following item types:

• product templates

• category templates

• promotions

In each of these cases, business users select items using a tree browser control, which allows them to browse the

contents of a registry.

Each tree browser in the ATG Campaign Optimizer UI is configured to use a default registry that provides a view

of all the assets of a particular type. For example, the tree browser for Web pages lets users see all of the pages

for all of the Web applications that are running on the server. It is not recommended that business users receive

access to all the pages of a Web application.

This section contains the following information related to ATG Campaign Optimizer registries:

Registry Configuration Overview (page 14)

Creating Custom Registries Using SQL Commands (page 17)

Creating Custom Registries Using the Registry Administration UI (page 17)

Registry Configuration Overview

You can create your own custom registries and configure any of the individual tree browsers in the ATG

Campaign Optimizer UI to use a custom registry instead of the default registries. The /atg/abtest/web/

Page 21: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

2 Configuring ATG Campaign Optimizer 15

registry/AssetRegistryManager Nucleus component allows you to configure registries for ATG Campaign

Optimizer. This component has a registries Map property, which contains one entry for each individual

tree browser. It also has an assetRepository property, which is the Nucleus path of a repository (/atg/

assetregistry/AssetRegistry by default) that contains the custom registry definitions.

You create custom registries by adding items to the AssetRegistry repository. There are two ways to do this:

• Execute SQL commands to populate the database tables that are associated with the repository.

• Use the Registry Administration UI to manually create custom registries and add assets to them.

For creating a large custom registry, using SQL commands is generally preferable because it allows you to

populate the database tables more quickly. For modifying an existing registry, or for creating a small custom

registry, the Registry Administration UI provides an easy-to-use, structured environment that simplifies the task.

After you create your custom registries, you can then modify entries in the registries Map property of the

AssetRegistryManager to point to them.

AssetRegistry Repository Structure

Each custom registry is defined using a repository item of type registry. Folders within a registry are defined

using items of type folder. Assets are defined using items of type repositoryAsset or pathBasedAsset,

depending on whether the assets refer to repository items such as promotions, or path-based entities such as

Web pages or slots.

A registry should have a single root folder. Each folder can contain any number of assets and subfolders. All of

the assets in a registry should be defined using the same item type.

To see the mapping between items in the AssetRegistry repository and tables in the database, refer to the

GSA template definition for the repository using the ATG Dynamo Administration interface.

AssetRegistryManager Configuration

The following two tables show the mapping between each entry in the registries property of the

AssetRegistryManager component and the tree browser the entry controls in the ATG Campaign Optimizer

UI. All ATG Campaign Optimizer sites use the entries shown in the first table.

Registry Entry Key ATG Campaign Optimizer Page using Tree Browser

profileGroups The Participants tab on the main page for editing a test.

slots The Select Slot step of the wizard for creating Repository Item test elements.

oldPages The Replace Page step of the wizard for creating Page test elements.

newPages The Select New Page step of the wizard for creating Page test elements.

oldFragments The Replace Page Fragment step of the wizard for creating Page Fragment

test elements.

newFragments The Select New Page Fragment step of the wizard for creating Page Fragment

test elements.

oldFragmentLocations The Select Substitution Location step of the wizard for creating Page

Fragment test elements.

Page 22: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

16 2 Configuring ATG Campaign Optimizer

In addition to the entries in the table above, ATG Campaign Optimizer for Commerce sites also use the entries

shown in the table below.

Registry Entry Key ATG Campaign Optimizer Page using Tree Browser

oldCategoryTemplates The Replace Template step of the wizard for creating Category Template

test elements.

newCategoryTemplates The Select New Category Template step of the wizard for creating Category

Template test elements.

oldProductTemplates The Replace Template step of the wizard for creating Product Template test

elements.

newProductTemplates The Select New Product Template step of the wizard for creating Product

Template test elements.

catalogs The Select Catalog step of the wizards for creating Category and Product

Template test elements.

promotions The Select Promotion step of the wizard for creating Promotion test

elements.

promotionTriggerPages The Select Promotion Trigger step of the wizard for creating Promotion test

elements.

Specifying a Custom Registry

To use a custom registry for any of the tree browsers listed above, change the value of the entry for that browser

in the registries Map property of the /atg/abtest/web/registry/AssetRegistryManager component.

Set the entry to a string of the form repository:<registry name>. The <registry name> corresponds to

the name property of the repository item that represents the custom registry.

For example, if you have created a registry repository item whose name property is My Promotions, and you

want to display its folders and assets on the Select Promotion wizard page, change the promotions entry in the

registries property in the AssetRegistryManager component from:

promotions=productcatalog:promotion

to:

promotions=repository:My Promotions

The following table lists the custom registry types you can create, and the registry entries you can set to each

type of registry.

Page 23: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

2 Configuring ATG Campaign Optimizer 17

Custom Registry Type Registry Entry Keys Example Value

profileGroups profileGroups repository:My Profile Groups

slots slots repository:My Slots

pages newPages

oldPages

newFragments

oldFragments

oldFragmentLocations

repository:My Pages

In addition, ATG Campaign Optimizer for Commerce customers can use the custom registry types and registry

entries listed in the following table.

Custom Registry Type Registry Entry Keys Example Value

categoryTemplates newCategoryTemplates

oldCategoryTemplates

repository:My Category Templates

productTemplates newProductTemplates

oldProductTemplates

repository:My Product Templates

Catalogs catalogs repository:My Catalogs

Promotions promotions repository:My Promotions

Pages promotionTriggerPages repository:My Promotion Triggers

Creating Custom Registries Using SQL Commands

You can create custom registries by populating your database using SQL commands. The SQL commands

that create the AssetRepository database tables are located in the file assetregistry_ddl.sql, in the

<ATG10dir>/CAF10.1.2/CAF/sql/db_components/<db_type> directory, where <db_type> is the type of

database you are using.

Creating Custom Registries Using the Registry Administration UI

You can use the Registry Administration UI in the ATG Business Control Center to create, view, and add assets to

the various types of custom registries that can be stored in the AssetRegistry repository.

To access the Registry Administration UI, you must be logged in to the ATG Business Control Center. See the

section Accessing the ATG Campaign Optimizer User Interface (page 71) for more information. The Registry

Administration UI displays a list of the custom registries in the AssetRegistry repository, including their asset

types and asset sources.

Page 24: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

18 2 Configuring ATG Campaign Optimizer

To edit a registry, click its name. Or place your cursor over the name, and then click the arrow that then appears

to the right of the name. This brings up a menu with options for editing, renaming, or deleting the registry.

To create a new custom registry:

1. Access the Registry Administration UI. See the section Accessing the ATG Campaign Optimizer User

Interface (page 71) for more information.

2. Click the New Registry button. This brings you to the Create New Registry page.

3. Enter a name for the new registry.

4. From the drop-down menu, select the type of asset the registry will hold.

5. Click OK to create the registry. This opens the registry editor, where you can add assets to the registry.

To create a new folder within a registry:

1. In the left panel of the editor, select the folder that you want the new folder to be a subfolder of.

2. Click the New Folder button.

3. Enter a name for the new folder.

4. Click OK to create the folder.

To open a folder, click its name in the right panel of the editor. Or place your cursor over the name, and then click

the arrow that then appears to the right of the name. This brings up a menu with options for opening, renaming,

or deleting the folder.

If the registry already contains assets (that is., if you’re editing an existing registry rather than a new one) you

can modify an asset by clicking its name in the right panel of the editor. Or place your cursor over the name, and

then click the arrow that then appears to the right of the name. This brings up a menu with options for editing

or deleting the asset.

Adding Assets to a Custom Registry

To add an asset to a registry, select the folder that you want to create the asset in, and click the New Asset

button. This brings up a page that is tailored to the specific type of asset. For all asset types, the page has fields

for asset name and description. The name is required, and can be any value you like. The description is optional.

The other fields in the page differ depending on the type of asset. However, in all cases, the bottom field is a

selection box that you can use to select an item to add to the registry. The contents of the selection box depend

on which ATG modules are currently running and the type of item being selected. For example, for page assets,

the selection box is a tree browser, with a separate node for each Web application currently running, plus a node

for the JHTML document root. For promotions, the selection box shows an alphabetically ordered list of available

promotions.

When you select an item in the selection box, the field above the selection box is filled in with either the

repository ID (for repositoryAsset items) or path (for pathBasedAsset items). This field is editable, and is the

actual field used to specify the item when you click OK. This means that if you know the repository ID or path of

Page 25: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

2 Configuring ATG Campaign Optimizer 19

the item, you can fill it in directly without using the selection box. (Note that the selection box does not update

automatically to reflect the value you enter.) You can also fill in the repository ID or path for an item that cannot

currently be selected in the selection box (e.g., because the associated ATG module is not currently running).

Keep in mind, however, that if you make any erroneous entries this way, the registry may not work properly; the

Registry Administration UI does not prevent you from entering invalid values.

Viewing Log Data

The log data is the raw data from the ATG Campaign Optimizer test results. Log data includes one record for

each session, page visit, item added to order, etc. Logging is designed to be as efficient as possible on the

runtime servers. Reports requiring computation are produced on a separate ATG instance to prevent an impact

on site performance.

Test results that are viewed in ATG Campaign Optimizer are generated by ReportGeneratorService, which

processes log data and computes the totals for each test group. Log data is generated as test participants use

the web sites being tested.

There is no reason to look at log data, except for debugging purposes. If necessary, you can view raw log data

through the ACC.

1. Build an ATG Campaign Optimizer that includes the reporting module. For more information, see Starting ATG

Campaign Optimizer (page 7).

2. Start the ATG Control Center.

3. Click Content > ABTestLogging in the navigation menu.

4. Search for the following types of log data:

Log Data Type Description

Test Start Log Data The records logged when ATG Campaign Optimizer tests start.

Test Ended Log Data The records logged when ATG Campaign Optimizer tests end.

User Log Data The records logged when users become members of ATG Campaign

Optimizer test groups.

Session Log Data The records logged for all sessions for ATG Campaign Optimizer test

participants.

Content Viewed Log Data The records logged whenever an ATG Campaign Optimizer test makes a

substitution such as an alternate page or product template.

Page Visit Log Data The records logged for all page visits by ATG Campaign Optimizer test

participants.

Items Added To Order The records logged for all items added to carts by ATG Campaign

Optimizer test participants. This data type is visible only to users who are

running ATG Campaign Optimizer for Commerce.

Page 26: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

20 2 Configuring ATG Campaign Optimizer

Log Data Type Description

Submitted Orders The records logged for all orders submitted by ATG Campaign Optimizer

test participants. This data type is visible only to users who are running

ATG Campaign Optimizer for Commerce.

Configuring Data Logging

When you create tests, the logging options are configured automatically for your test’s events in an instance of

the MetricHandler component located in /atg/abtest/metrics:

Component Name Description

ContentViewedMetricHander Manages the Content Viewed log data.

PageVisitMetricHandler Manages the Page Visit log data.

ParticipantAssignedToTestGroupMetricHandler Manages the User log data.

SessionMetricHandler Manages the Session log data.

TestStartedMetricHandler Manages the Test Started log data.

ItemAddedToOrderMetricHandler Manages the Item Added to Order log

data. This component is visible only to

ATG Campaign Optimizer for Commerce

customers.

OrderAbandonedMetricHandler Manages the Order Abandoned log data.

This component is visible only to ATG

Campaign Optimizer for Commerce users.

OrderSubmittedMetricHandler Manages the Submitted Order log data. This

component is visible only to ATG Campaign

Optimizer for Commerce users.

TransientAbandonedMetricHandler Manages the Transient Abandoned log

data. This component is visible only to ATG

Campaign Optimizer for Commerce users.

If you define custom metrics, you may have additional Metric Handler components. See Customizing Metrics for

ATG Campaign Optimizer Tests (page 105) chapter for more information.

Page 27: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

2 Configuring ATG Campaign Optimizer 21

Turning off Logging

You can turn off the logging for a specific data log type. Edit the metric handler component that corresponds

with the data logging you want to turn off and change the renderLoggingAction property to false. For

example, if you want to stop logging PageVisits, edit the PageVisitMetricHandler component and set

renderLoggingAction to false.

Changing this property will prevent logging on new tests. All currently running tests will continue logging

PageVisits.

PageVisits and ContentViewed are the most likely data types to disable. PageVisits generates the most

log data and may not be useful for many tests.

Note: If you’ve already created the test, you can disable a logging action by setting renderLoggingEnabled

to false for the metric handler component. Then, access the test in ATG Campaign Optimizer. Edit and save the

test. This creates a new scenario that does not have the logging action. Tests that have already been deployed

need to be deployed again once all of these steps are complete.

Configuring Preview

The preview feature allows test creators to see the site as it will look to a sample user from a specific test group

during a test. For information about using the preview feature, see the Previewing Tests (page 89) section of

this guide.

ATG Campaign Optimizer uses the ATG Content Administration preview feature. This section describes how to

configure aspects of the preview feature that are specific to ATG Campaign Optimizer. For more information

about configuring ATG Content Administration preview, see the section Setting up Preview in the ATG Business

Control Center Administration and Development Guide.

Changing the Countdown Time

When a preview is started, there is a delay before the preview is ready to be viewed. When a user clicks Start

Preview, a page displays that counts down the time before it will redirect to the preview URL. If you viewed the

preview URL page immediately, you would see non-test data (the regular site). The countdown page provides a

transition while test data is being loaded.

By default, the preview countdown page displays for 60 seconds. You can change this time by editing the

Configuration component in the /atg/abtest/web/ directory. Change the numberPreviewTimerSeconds

property to the number of seconds you want the page to count down.

Adding Preview Users

The source for the profiles used by the preview feature is the preview profile repository, which is an instance of

a ProfileAdapterRepository on the ATG Campaign Optimizer server. You can add profiles to this repository

through the Personalization > Preview Users option in the ATG Business Control Center or by copying them from

the external user profile repository. The profiles then appear in the Preview Users list when the test creator clicks

the Preview button.

Page 28: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

22 2 Configuring ATG Campaign Optimizer

For more information on configuring and populating the preview profile repository, see the ATG Business Control

Center Administration and Development Guide.

Running the Report Generator Service

The Report Generator Service processes the log data created while a test is running and computes the totals

for each test group. The reports are displayed in the Results tab of a project that contains a completed test. For

more information on viewing the reports, see the Viewing Test Results (page 94) section of this guide.

Note: While any number of ATG instances can run this service, it is recommended that a single ATG instance

generate the reports.

Every time the service is run, log data written since the previous run is incorporated into the reports for all

running tests. There are two ways to run the Report Generator Service:

• Run the service on a schedule by editing the /atg/abtest/reporting/ReportGeneratorService

component in the ACC and set the schedule property to the schedule you want to run on. By default, the

schedule is set to run once an hour.

• Run the service manually by invoking the generateReports() method of the /atg/abtest/reporting/

ReportGeneratorService component.

To disable the scheduled execution of the Report Generator Service, edit the /atg/abtest/reporting/

ReportGeneratorService component in the ACC and set the enabled property to false. The property is set

to true by default.

Important: By default, when the Report Generator Service is run, it processes all outstanding log records in a

single transaction. For optimal performance, you can configure it to process the records in batches. To do so, set

the logQueryInterval property of the /atg/abtest/reporting/ReportGeneratorService component

to a positive integer. The value represents a number of minutes. When the service is run (at startup, on schedule,

or manually), it processes log records for the specified number of minutes, creating a single batch, and then

repeats the activity, creating more batches until all outstanding records have been processed.

Page 29: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

2 Configuring ATG Campaign Optimizer 23

Running the Profile Cleanup Service

When a customer is a test participant, ATG Campaign Optimizer inserts a marker in his or her profile to indicate

participation. These markers allow ATG Campaign Optimizer to present a consistent version of the web sites

to each participant for the duration of a test. The Profile Cleanup Service removes these markers from user

profiles. It removes markers only for completed tests, not those for currently running tests. This cleanup should

be performed regularly to minimize the impact of ATG Campaign Optimizer to site performance.

Note: The Profile Cleanup Service runs on one or more instances of ATG Campaign Optimizer runtime servers.

Only one instance of the service runs at a time.

There are two ways to run the Profile Cleanup Service:

• Run the service on a schedule by editing the /atg/abtest/tracking/ProfileCleanupService

component in the ACC and changing the schedule property. By default, the Profile Cleanup Service is

scheduled to run once a day.

• Run the service manually by invoking the deleteTestMarkers() method of the /atg/abtest/tracking/

ProfileCleanupService component.

Improving Application Performance

ATG Campaign Optimizer is designed to produce the most efficient scenarios possible to support heavy traffic.

To minimize the performance impact of running tests, certain features exist in ATG Campaign Optimizer to limit

the number of events generated in a system, thereby improving the overall performance of the system. Testing

shows that the drop of performance for a system running ATG Campaign Optimizer is between10-20% for up to

10 concurrent running tests with 2 groups each and four elements each. The expectation is that most sites will

likely have no more than 4-6 concurrent tests.

One way to improve application performance is to reduce the number of events that are fired. ATG Campaign

Optimizer provides three mechanisms for doing so:

• MIME type filtering prevents events from being fired for non-page requests, such as requests for images. See

Substitution Mime Type Filtering (page 24).

• Each request for a template, page, page fragment, or slot fires an event in an attempt to determine whether

there’s a substitute for the requested item and, if so, to locate that substitute item. This operation produces an

item (either the original or the substitute), which is cached for use by subsequent requests. See Substitution

Caching (page 23).

• A test subject registry keeps track of the items affected by active tests and prevents events from being fired

when users request items that aren’t used in tests. See Test Subject Registries (page 25).

By default, ATG Campaign Optimizer is configured to use these three performance-enhancing mechanisms. It’s

unlikely that you should need to modify or disable any of them. ATG Campaign Optimizer also provides a cache

for log entries that improves the performance of the reporting module. You may need to adjust the size of the

cache; see Changing Logging Cache Sizes (page 25) for details.

Substitution Caching

ATG Campaign Optimizer uses substitution caching for all page, page fragment, and slot substitutions. ATG

Campaign Optimizer for Commerce also uses substitution caching for product and category templates. The

Page 30: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

24 2 Configuring ATG Campaign Optimizer

cache is configured on a per-session basis and will get re-initialized as users get added to tests or log in. The

cache is configured in /atg/abtest/substituter/SubstitutionCache.

$class=atg.service.cache.Cache$scope=sessioncacheAdapter=/atg/abtest/substituter/SubstitutionCacheAdapter

The ABTestSubstituterUtils class manages the caches used during substitution. It is possible to configure

different caches for each kind of substitution. By default only one cache is used for all substitutions. Each cache

is given a name in the utils class /atg/abtest/substituter/ABTestSubstituterUtils.

caches=\ default=/atg/abtest/substituter/SubstitutionCache

Each substituter uses the default name:

/atg/abtest/substituter/PageSubstituter.substituterCacheKey=default/atg/abtest/substituter/SlotSubstituter.substituterCacheKey=default/atg/abtest/substituter/commerce/TemplateSubstituter. substituterCacheKey=default

The cache itself is a standard ATG cache. For more information, see the SQL Repository Caching chapter of the

ATG Repository Guide.

You can configure slot substitution caching separately from page substitution caching by following these steps:

1. Create a new instance of atg.service.cache.Cache.

2. Assign the new instance the same cache adapter: /atg/abtest/substituter/

SubstitutionCacheAdapter

3. Add the new instance to the caches property of /atg/abtest/substituter/ABTestSubstituterUtils.

4. Change the setting of the substituterCacheKey property in /atg/abtest/substituter/

SlotSubstituter.

As is the case with page and page fragments, the cache is automatically flushed on login or whenever a new

marker is added to a profile by the AddABTestMarkerToProfile scenario action.

Substitution Mime Type Filtering

For performance reasons, ATG Campaign Optimizer checks for page substitutions only on certain requests.

The pages checked for requests are controlled by the substituterMimeTypes property in /atg/abtest/

substituter/PageSubstituter. The default setting is:

substituterMimeTypes=dynamo-internal/html,text/html

If you have other mime types that you want to alter with ATG Campaign Optimizer tests, modify this setting to

include the additional mime types.

Page 31: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

2 Configuring ATG Campaign Optimizer 25

Test Subject Registries

A test subject registry is a component that maintains a list of specific pages, page fragments, or templates

(items) used in active tests. When a user requests a page, page fragment, or template, a test subject registry then

checks the requested item against the registry list and fires an event only if the item is used in an active test.

ATG Campaign Optimizer includes the PageTestSubjectRegistry component located in the atg/abtest/

substituter/registry directory to keep track of pages and page fragments used in running tests. Customers

who use ATG Campaign Optimizer for Commerce have additional components in atg/abtest/substituter/

registry/commerce to keep track of page templates (PageTemplateTestSubjectRegistry) and category

templates (CategoryTemplateTestSubjectRegistry).

If you need to disable a test subject registry temporarily, set its lookupEnabled property to false. Disabling

the test subject registry in this way permits it to continue updating the list of affected items, without using this

information to prevent the firing of events. You can disable a test subject registry completely by setting the

updateEnabled property to false. Note that doing so puts the registry out of sync with your active tests.

In order to re-enable your test subject registry, you will need to re-assemble, redeploy, and restart your ATG

application.

Changing Logging Cache Sizes

The ReportGeneratorService issues one query for each log record type for each active test. For performance

reasons, the retrieved log records are stored in the ABTestLogRepository's item cache while they are

being processed. It is important that a particular query does not return more log records than can be stored

in the cache. The number of records retrieved together is a function of the number of entries stored for any

given test. A test will automatically log such things as page views, items added to cart, items purchased,

and total price. If the number of entries for a test in a report generation window exceeds the cache size, the

ReportGeneratorService will have to access the database to retrieve information for each log record not

stored in cache, which will result in a significant loss of performance. The default cache size for all log record

types is 500K. If it is likely that more than 500K of records will be logged for any of the log data types between

runs of the ReportGeneratorService, it is recommended that the item-cache-size of that particular log record

type be increased so that all the items can be stored in the cache.

The most common log record type that will experience this problem is the pageVisitLogData item-descriptor.

This log record type logs every page visit for all test participants. If it is likely that there will be more than 500K

page visits for members of a given test between runs of the ReportGeneratorService, it is recommended

that you increase the item-cache-size of the pageVisitLogData item descriptor to a number that will assure

that all the log records can be stored in cache. Another option is to turn off the logging for page visits. For more

information, see the Turning off Logging (page 21) section.

You must also be sure to allocate enough memory to handle the cache size. The default setting of a 500K cache

size requires 1.5GB of heap space. Memory usage is linear, so increasing the cache size to 1M records will require

3GB of heap space.

Note: The log records are queried on a per-test basis. Therefore, even if 1M page visit records are logged

between runs of the ReportGeneratorService, the cache size would not have to be increased if the records

were divided evenly among, say, 4 tests. Since there would be only 250K records per test, the cache size of 500K

would be sufficient.

Using the Cache Servlet Bean with Tests

Important: If your site uses the Cache servlet bean (/atg/dynamo/droplet/Cache), make sure that any pages

or other items included in ATG Campaign Optimizer tests are not cached by this servlet bean. For example,

Page 32: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

26 2 Configuring ATG Campaign Optimizer

product templates, category templates, and any other test-related items, such as repository slot references,

should not be cached in this way. The Cache servlet bean is globally scoped, and if it is used to cache test items,

the following problems may occur:

• all test participants may see the same items when they visit the site;

• users who should participate in a test may not see test content;

• if the first user to visit a page is a test participant, non-participants who visit later will see test content.

Implementing Template Substitution in Modified Catalogs

This section is intended for users who are running ATG Campaign Optimizer for Commerce, want to create tests

that involve templates, and have modified the product or category template definitions. It describes the

changes that were made to the default product catalog in ATG Campaign Optimizer for Commerce to enable

template tests.

ATG Campaign Optimizer for Commerce modifies the definition of product.template and

category.template. If you modified the default definitions of either of these properties in the product catalog

repository definition, you will not necessarily see the ATG Campaign Optimizer configuration changes. You

must update your catalog definition to include the changes that ATG Campaign Optimizer relies on to perform

category and product template tests.

To allow template substitution, ATG Campaign Optimizer for Commerce modifies the definition of the

template property in both the category and product item descriptors to use the user defined property

atg.abtest.substituter.commerce.TemplateSubstituterPropertyDescriptor.

Template substitution with ATG Campaign Optimizer for Commerce will not work in the following cases:

• Your application does not use the template property of products or categories.

• You don’t use item descriptors named product and category for your catalogs. Template substitution will

work with subtypes of the product and category item descriptors.

This is the definition of the product.template property before installing ATG Campaign Optimizer for

Commerce:

<item-descriptor name="product"> <table name="dcs_prd_media" type="auxiliary" id-column-name="product_id"> <property category-resource="categoryPresentation" name="template" item-type="media" column-name="template_id" queryable="false" display-name-resource="template"> <attribute name="resourceBundle" value="atg.commerce.ProductCatalogTemplateResources"/> <attribute name="propertySortPriority" value="-2"/> </property> </table></item-descriptor>

The following code sample is the XML-combine input that produces the new template property definition

when combined with normal productCatalog.xml. It enables product template substitution by ATG

Campaign Optimizer.

Page 33: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

2 Configuring ATG Campaign Optimizer 27

<item-descriptor name="product"> <table name="dcs_prd_media" type="auxiliary" id-column-name="product_id"> <property name="template" xml-combine="remove"/> <property category-resource="categoryPresentation" name="defaultTemplate" item-type="media" column-name="template_id" queryable="false" display-name-resource="defaultTemplate"> <attribute name="resourceBundle" value= "atg.abtest.substituter.commerce.ProductCatalogTemplateResources"/> <attribute name="propertySortPriority" value="-2"/> </property> </table> <property category-resource="categoryPresentation" name="template" item-type="media" queryable="false" display-name-resource="template" property-type="atg.abtest.substituter.commerce. TemplateSubstituterPropertyDescriptor"> <attribute name="resourceBundle" value="atg.commerce.ProductCatalogTemplateResources"/> <attribute name="propertySortPriority" value="-2"/> <attribute name="basePropertyName" value="defaultTemplate"/> </property></item-descriptor>

If you already modified the definitions of the template property for product

or category, then modify them further to use the user-defined property

atg.abtest.substituter.commerce.TemplateSubstituterPropertyDescriptor. For example, the

Motorprise reference application defines product as follows to enable internationalization:

<item-descriptor name="product"> <table name="dcs_prd_media" type="auxiliary" id-column-name="product_id"> <property name="template" xml-combine="remove"/> <property name="template_en" item-type="media" column-name="template_id" queryable="true" category-resource="categoryPresentation" display-name-resource="template"> <attribute name="propertySortPriority" value="-5"/> <attribute name="locale" value="en"/> </property> </table> <table name="dbc_product_de" type="auxiliary" id-column-name="product_id"> <property name="template_de" item-type="media" column-name="template_id" queryable="true" category-resource="categoryPresentation" display-name-resource="template"> <attribute name="propertySortPriority" value="-5"/> <attribute name="locale" value="de"/> </property> </table> <table name="dbc_product_ja" type="auxiliary" id-column-name="product_id"> <property name="template_ja" item-type="media" column-name="template_id" queryable="true" category-resource="categoryPresentation" display-name-resource="template"> <attribute name="propertySortPriority" value="-5"/> <attribute name="locale" value="ja"/> </property>

Page 34: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

28 2 Configuring ATG Campaign Optimizer

</table> <property name="template" item-type="media" category-resource="categoryPresentationDerived" writable="false" display-name-resource="template" queryable="true"> <derivation method="firstWithLocale"> <expression>template_en</expression> <expression>template_de</expression> <expression>template_ja</expression> </derivation> <attribute name="resourceBundle" value="atg.projects.b2bstore.CustomCatalogTemplateResources"/> <attribute name="propertySortPriority" value="-5"/> <attribute name="keyService" value="/atg/userprofiling/LocaleService"/> <attribute name="defaultKey" value="en_US"/> </property>

ATG Campaign Optimizer for Commerce further modifies this as follows to enable template substitution. (See

DCS-ABTest/MotorpriseJSP/config/atg/commerce/catalog/custom/customCatalog.xml)

<item-descriptor name="product"><table name="dcs_prd_media" type="auxiliary" id-column-name="product_id"> <property name="defaultTemplate" xml-combine="remove"/></table> <property name="defaultTemplate" item-type="media" category-resource="categoryPresentationDerived" writable="false" display-name-resource="defaultTemplate" queryable="true"> <derivation method="firstWithLocale"> <expression>template_en</expression> <expression>template_de</expression> <expression>template_ja</expression> </derivation> <attribute name="resourceBundle" value= "atg.abtest.substituter.commerce.ProductCatalogTemplateResources"/> <attribute name="propertySortPriority" value="-5"/> <attribute name="keyService" value="/atg/userprofiling/LocaleService"/> <attribute name="defaultKey" value="en_US"/> </property> <property category-resource="categoryPresentationDerived" name="template" item-type="media" queryable="false" property-type="atg.abtest.substituter.commerce. TemplateSubstituterPropertyDescriptor" display-name-resource="template" xml-combine="replace"> <attribute name="basePropertyName" value="defaultTemplate"/> <attribute name="propertySortPriority" value="-1"/> <attribute name="resourceBundle" value="atg.projects.b2bstore.CustomCatalogTemplateResources"/> </property></item-descriptor>

You may need to make similar modifications if you have changed product.template or category.template.

You can verify the results of the XML combination in the product catalog in the ATG Component Browser by

looking at the definitionFiles property of the /atg/commerce/catalog/ProductCatalog component.

The following sample shows the xml-combine result for the configuration example above for the product

repository item.

Page 35: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

2 Configuring ATG Campaign Optimizer 29

<item-descriptor name="product" > <property queryable="false" category-resource="categoryPresentationDerived" display-name-resource="template" name="template" item-type="media" property-type="atg.abtest.substituter.commerce. TemplateSubstituterPropertyDescriptor"> <attribute name="basePropertyName" value="defaultTemplate"/> <attribute name="propertySortPriority" value="-1"/> <attribute name="resourceBundle" value="atg.projects.b2bstore.CustomCatalogTemplateResources"/> </property> <property queryable="true" category-resource="categoryPresentationDerived" display-name-resource="defaultTemplate" name="defaultTemplate" writable="false" item-type="media"> <derivation method="firstWithLocale"> <expression>template_en</expression> <expression>template_de</expression> <expression>template_ja</expression> </derivation> <attribute name="resourceBundle" value="atg.abtest.substituter.commerce. ProductCatalogTemplateResources"/> <attribute name="propertySortPriority" value="-5"/> <attribute name="keyService" value="/atg/userprofiling/LocaleService"/> <attribute name="defaultKey" value="en_US"/> </property> <property category-resource="categoryPresentation" queryable="true" display-name-resource="template" name="template_en" column-name="template_id" item-type="media"> <attribute name="propertySortPriority" value="-5"/> <attribute name="locale" value="en"/> </property> <property category-resource="categoryPresentation" queryable="true" display-name-resource="template" name="template_de" column-name="template_id" item-type="media"> <attribute name="propertySortPriority" value="-5"/> <attribute name="locale" value="de"/> </property> <property category-resource="categoryPresentation" queryable="true" display-name-resource="template" name="template_ja" column-name="template_id" item-type="media"> <attribute name="propertySortPriority" value="-5"/> <attribute name="locale" value="ja"/> </property>

Page 36: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

30 2 Configuring ATG Campaign Optimizer

</item-descriptor>

Implementing Page Fragment Substitution

Page fragment substitution is based on the <dsp:include page="xxx"/> tags in JSP pages and the

<droplet src="xxx"> tags in JHTML pages. Page fragments that are invoked in some other way cannot be

used in page fragment testing.

Page fragments included by <jsp:include> tags or @include directives should not be used in page fragment

test because the substitution will not occur.

Troubleshooting Slot Testing

You can use ATG Campaign Optimizer to test content in both active slots (slots that can issue their own requests

for content items) and passive slots (slots that do not issue requests for content items).

ATG Campaign Optimizer uses the FillSlot action to fill a slot with test content. If a slot is not registered as a

Nucleus component and filled with the FillSlot action – for example, if the slot is created as a property of a

JMS message – then the test content won’t be visible during the test. The slot continues to display its original

content.

For more information about slots and targeters, see the ATG Page Developer's Guide. For details about the FillSlot

action, see the ATG Personalization Programming Guide.

Configuring Deployment

ATG Campaign Optimizer uses the underlying ATG Content Administration system to deploy test assets to

the ATG Content Administration Production/Staging module. The ATG Content Administration system itself

uses DAF Deployment, the deployment mechanism in the ATG platform, to move assets from a development

environment to a staging or production environment. There are some configuration steps you must complete

to set up both DAF Deployment and the deployment features in ATG Content Administration for ATG Campaign

Optimizer.

Defining the Deployment Topology

For ATG Content Administration to be able to deploy test assets from the ATG Campaign Optimizer server to the

ATG Campaign Optimizer Production/Staging modules, you must perform two configuration steps:

• Define each ATG Campaign Optimizer Production/Staging instance as a target site within the Content

Administration system’s deployment topology.

Page 37: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

2 Configuring ATG Campaign Optimizer 31

Important: Optionally, you can use the default values “staging” and “production” as the names you give your

ATG Campaign Optimizer deployment targets when you define them in ATG Content Administration. Doing so

is recommended, because it means you do not then have to make any changes to the deployment elements

in the ATG Campaign Optimizer workflows (see Adding Deployment Targets to Workflows (page 31)). You

only have to edit the workflows if you use names other than “staging” and “production.” If you choose to use

the default names, however, you must set the queryWorkflowTargetByID property of the /atg/epub/

Configuration component to false (false is the default setting) on the ATG Campaign Optimizer server so

that the default name feature is enabled.

• Map the versioned repository to the destination repository or repositories you created in the previous

sections.

You perform both tasks through the Admin Console option in the ATG Business Control Center. For complete

instructions, see Setting Up Deployment in the ATG Content Administration Programming Guide.

See also the Managing Workflows (page 32) section in this guide.

Adding Deployment Targets to Workflows

Tests are deployed to the target servers specified in the ABTestWorkflow project workflow. After you have

configured your ATG Campaign Optimizer Production/Staging modules as deployment targets in ATG Content

Administration, you must add the targets to the deployment-related elements in the workflow definitions for

tests.

Note: As mentioned earlier in Defining the Deployment Topology (page 30), you can omit this step if you

used the default values “staging” and “production” as the names you gave your ATG Campaign Optimizer

deployment targets in ATG Content Administration.

ATG Campaign Optimizer includes two workflows, a single-target workflow that is typically used to deploy

tests to a production site, and a dual-target workflow that can be used to deploy to both a staging site and a

production site.

Before you begin the steps that follow, make sure you started the ATG Campaign Optimizer server with the

appropriate commands. The startup commands determine the workflow (staging and production, or production

only) that appears in the ACC and the corresponding tasks that appear in the ATG Business Control Center. See

Starting ATG Campaign Optimizer (page 7) for more information. (You can identify the workflow that is being

used either by looking at the workflow itself in the ACC, as described below, or by looking at the tasks that

appear for the workflow in the project area of the ATG Business Control Center. See Managing Workflows (page

32) for more information.)

1. Start the ACC.

2. Select Workflow > Publishing > CampaignOptimizer.

3. Select ABTestWorkflow to open the workflow.

4. Edit the deployment-related elements so they include the ATG Campaign Optimizer Production/Staging

deployment targets. Unless you used the default names for your deployment targets, all these elements

appear in red to indicate they are incomplete.

Partial view of workflow: incomplete deployment element

Page 38: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

32 2 Configuring ATG Campaign Optimizer

Partial view of workflow: editing the deployment element

Partial view of workflow: deployment element complete

For information on which server (staging or production) to add to each deployment element, refer to the

table at the end of this procedure.

For more information on editing workflow elements, refer to the ATG Personalization Guide for Business Users.

5. Save the workflow.

The table below shows which target to add to each part of the workflow.

Workflow elements Add this target

All deployment elements in Staging Approval task Staging server

All deployment elements in first Wait for Deployment to Complete task Staging server

Deployment elements in Reject branch of Production Approval task Staging server

All other (non Reject) deployment elements in Production Approval task Production server

All deployment elements in second Wait for Deployment to Complete task Production server

Managing Workflows

ATG Campaign Optimizer uses the workflows that are installed with ATG Content Administration to define the

test development tasks that appear in the ATG Business Control Center and control how test assets are deployed

to your target sites.

You can find the ATG Campaign Optimizer workflow definitions in the ACC under

Workflow > Publishing > CampaignOptimizer.

/CampaignOptimizer/ABTestWorkflow

The ABTestWorkflow is the default workflow for creating and deploying tests. Two versions of this workflow are

available:

Page 39: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

2 Configuring ATG Campaign Optimizer 33

• Production-only (default) supports deployment to a single target.

• Staging/production supports deployment to two targets: first a staging target, then a production target.

Only one of these versions is available at a time, depending on how you assemble and deploy the ATG Campaign

Optimizer application. In order to use the staging/production workflow, the EAR file that you deploy on the

asset management server must be assembled with the -layer staging option. For more information, refer to

Starting ATG Campaign Optimizer (page 7).

Important: You should not edit the ATG Campaign Optimizer workflows, except in cases where you need to

change the access rights for particular tasks or specify deployment targets.

To learn more about using workflows and the ACC’s workflow editor, see the ATG Personalization Guide for

Business Users. For information about workflow configuration, see the ATG Personalization Programming Guide. To

learn more about the various workflow elements used by the ATG Content Administration system, see the Using

Workflows chapter in the ATG Content Administration Programming Guide.

Staging and Production Workflow

The version of the /CampaignOptimizer/ABTestWorkflow workflow that deploys to both a staging and a

production server includes the following tasks:

• Author

• Content Review

• Approve for Staging Deployment

• Wait for Staging Deployment Completion

• Production Approval

• Wait for Revert Deployment Completion

• Wait for Production Deployment Completion

Author Task

The Author task is active while a test is in development, and it has two possible outcomes, Review (which

displays as Ready for Review in the ATG Business Control Center) and Delete (which displays as Delete Project).

When a user selects the Delete task outcome, the workflow deletes the project. When a user selects the Ready

For Review task outcome, the workflow does the following:

1. Prevents further edits to the test.

2. Compares the working version of the assets in the test with their checked-in (base) version. If the checked-in

version has changed, an error message is displayed in the ATG Business Control Center, and the owner of the

author task is asked to resolve the conflict.

3. Advances to the Content Review task.

Note: ATG Campaign Administrator tasks can be assigned to specific users through the ATG Business Control

Center. For a task to be “assignable,” it must be configured as such in the task detail editor. To the see the

configuration details for a workflow task, double-click on the task name in the ACC workflow editor.

Page 40: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

34 2 Configuring ATG Campaign Optimizer

Configuration details for the Author task

Content Review Task

The Content Review task is the second stage in the workflow.

This workflow task includes three outcome elements, Approve, Reject, and Delete , which appear as Approve

Content, Reject, and Delete in the ATG Business Control Center.

If the user selects the Delete task action, the workflow deletes the project. If the user selects the Reject action,

the workflow reopens the project and then reactivates the Author task so the test can be changed.

If the user selects the Approve task action, the workflow generates the scenario that will carry out the test and

advances to the next task, where the project can be approved for deployment.

Approve for Staging Deployment

This task has three possible outcomes:

• Approve and Deploy (display name: Approve and Deploy to Staging). If the user selects this outcome, the

workflow engine does the following:

• Creates the internal scenario that will be used to manage the test.

• Locks the project so that it cannot be edited in the ATG Business Control Center.

• Initiates test deployment to the specified target.

• Approve (display name: Approve for Staging Deployment). If the user selects this outcome, the workflow

engine performs the same actions as for the Approve and Deploy task, except that deployment is not

initiated. Progress through the workflow is interrupted until the user deploys the campaign manually

through the Admin Console in ATG Content Administration. For more information, refer to the ATG Content

Administration Programming Guide.

• Reject (display name: Reject Staging Deployment). With this outcome, the workflow reverts to the Author

stage so the test can be edited again.

If the deployment elements in this part of the workflow are displayed in red, you need to configure them so they

include the deployment target you defined for your ATG Campaign Optimizer staging server in ATG Content

Administration. See Adding Deployment Targets to Workflows (page 31) for more information.

Wait for Deployment To Complete

(Display name: Wait for Staging Deployment Completion.) No ATG Business Control Center user actions are

required for this task.

Page 41: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

2 Configuring ATG Campaign Optimizer 35

The system waits for one of two events to occur: if it receives a deployment event message indicating

deployment has occurred successfully, it moves to the next stage. If it receives a message indicating deployment

has failed, for example because the target server became unavailable during deployment, it unlocks the test’s

assets and reverts the project to the Content Approval task. Unlocking the assets is necessary so the project can

be returned to a pre-deployment state.

Approve for Production Deployment

This stage has similar possible outcomes to the Approve for Staging Deployment task:

• Approve and Deploy (display name: Approve and Deploy to Production). If the user selects this outcome, the

workflow engine does the following:

• Creates the internal scenario that will be used to manage the test.

• Locks the project so that it cannot be edited in the ATG Business Control Center.

• Initiates deployment to the specified target.

• Approve (display name: Approve for Production Deployment). If the user selects this outcome, the workflow

engine performs the same actions as for the Approve and Deploy task, except that project deployment is not

initiated. Progress through the workflow is interrupted until the user deploys the test manually through the

Admin Console in ATG Content Administration. For more information, refer to the ATG Content Administration

Programming Guide.

• Reject (display name: Reject Production Deployment). The workflow reverts the deployment from the staging

target and returns the project to the Author stage so the test can be edited again.

If the deployment elements in this part of the workflow are displayed in red, you need to configure them so they

include the deployment targets you defined for ATG Campaign Optimizer in ATG Content Administration. See

Adding Deployment Targets to Workflows (page 31) for more information.

Wait for Revert to Complete

This stage in the workflow is invoked if the user selects the Reject outcome in the Production Approval stage.

The workflow engine attempts to remove the deployed assets from the production server. If it receives a

deployment event message indicating removal of the assets has failed, it reverts to the Production Approval

task, requiring the user to attempt to reject the deployment again. If it receives a message indicating the

removal has occurred successfully, it unlocks the test’s assets and reverts the project to the Author task so the

test can be edited again.

Wait for Production Deployment to Complete

This stage does not require any user action in the ATG Business Control Center. The system does the following:

1. Waits for a deployment event message with the status Success, which indicates that the test’s assets were

moved to the deployment target.

2. Performs a second validation by checking that the Project object contains a reference to the target, which

indicates the deployment completed successfully.

3. Checks the test’s assets into the ATG Content Administration versioning system.

4. Changes the project’s status to Complete. Control of the project is returned to the parent process workflow.

If the deployment cannot be completed (for example because the target server is not running), the system

reverts the workflow to the Production Approval stage.

Page 42: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

36 2 Configuring ATG Campaign Optimizer

Production-Only Workflow

The version of the workflow that deploys only to a production server includes the following tasks, as shown

below with their display names in the ATG Business Control Center:

The workflow operates the same way as the Staging and Production workflow described in the previous section,

except it does not contain elements that manage interactions with the staging target.

Default Workflow Permissions

This section lists the default permissions for tasks that require user action in the /CampaignOptimizer/

ABTestWorkflow workflow.

To see the current permissions for a workflow task, double-click on the task name in the ACC workflow editor

and click the Set Access Rights button.

The table below shows the default permissions for the workflow that is used to create and deploy tests.

Task ATG Campaign Optimizer User Roles Permissions

Author ABTest-User

Campaign-Manager

Campaign-Admin

write, execute

Content Review Campaign-Manager

Campaign-Admin

write, execute

Staging Approval Campaign-Admin write, execute

Wait for Deployment to Complete (staging) Campaign-Admin write, execute

Production Approval Campaign-Admin write, execute

Wait for Deployment to Complete

(production)

Campaign-Admin write, execute

Page 43: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Appendix A. ATG Campaign Optimizer Scenario Elements 37

Appendix A. ATG Campaign Optimizer

Scenario Elements

This appendix describes the scenario elements provided by ATG Campaign Optimizer. In the ACC Scenario

task area, you can see ATG Campaign Optimizer scenarios in view only mode that use the following scenario

elements. These elements are divided into two sections:

ATG Campaign Optimizer Core Elements (page 37)

ATG Campaign Optimizer Commerce Elements (page 38)

ATG Campaign Optimizer Core Elements

The following elements are the core scenario elements provided by ATG Campaign Optimizer.

Event Elements

Element Description

A/B Test Ended This event occurs when the test ends, either on its

end date or when manually stopped.

A/B Test Participant Unassigned This event occurs when a user who was

participating in a test without logging in then

logs in as a user who is already part of the test.

This event is used to avoid counting the user

twice in the test results.

A/B Test is ready for deployment This event occurs when a user clicks on Deploy in

the ATG Campaign Optimizer UI.

An A/B Test that was previously considered ready for

deployment is now not ready for deployment

This event occurs when you modify a test that you

previously deployed.

Test Slot Item request This event occurs whenever a scenario executes

an Add Items to Slot action.

Page 44: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

38 Appendix A. ATG Campaign Optimizer Scenario Elements

Element Description

Page fragment request This event occurs whenever a page or page

fragment is requested.

A/B Test session ended This event occurs whenever a test participant’s

session ends.

Action Element

Element Description

Record A/B Test Participant assigned to test group Records the participant being tested to the log

data.

Record A/B Test event Records an event to the log data.

Track start of A/B test execution Records that a particular A/B Test has started

running on the server.

Add user to test group Adds a profile marker that indicates the user is a

member of a test group.

Add test items to slot Adds items to a slot within a test.

Set event handled state to true This action allows test scenarios to communicate

with other parts of the system.

Kill preview Stops the current preview and cleans up preview

data.

ATG Campaign Optimizer Commerce Elements

The following additional scenario elements are provided by ATG Campaign Optimizer for Commerce.

Event Elements

Element Description

Product template request This event occurs whenever a reference is made to the product.template

property in the product catalog.

Category template request This event occurs whenever a reference is made to the

category.template property in the product catalog.

Page 45: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Appendix A. ATG Campaign Optimizer Scenario Elements 39

Action Element

Element Description

Give promotion in preview Grants a promotion during test preview.

Page 46: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

40 Appendix A. ATG Campaign Optimizer Scenario Elements

Page 47: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Appendix B. ATG Campaign Optimizer Database Tables 41

Appendix B. ATG Campaign Optimizer

Database Tables

The ATG Campaign Optimizer database schema includes several types of tables. These tables are divided into

two sections:

ATG Campaign Optimizer Core Tables (page 45)

ATG Campaign Optimizer for Commerce Database Tables (page 61)

ATG Campaign Optimizer tables include the following:

Type of Table Description Table Names

CAF Tables (page 46) Holds data used to describe asset registries. ???TITLE??????

TITLE??????TITLE???

caf_registry (page

46)

???TITLE??????

TITLE??????TITLE???

caf_reg_folder (page

46)

???TITLE??????

TITLE??????TITLE???

caf_reg_rootfolder (page

47)

???TITLE??????

TITLE??????TITLE???

caf_reg_asset (page

47)

???TITLE??????

TITLE??????TITLE???

caf_reg_repasset (page

48)

???TITLE??????

TITLE??????TITLE???

caf_reg_pathasset (page

48)

Page 48: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

42 Appendix B. ATG Campaign Optimizer Database Tables

Type of Table Description Table Names

Markers Table (page

48)

Holds marker data that ties users to tests. ???TITLE??????

TITLE??????TITLE???

abt_markers (page

48)

Metrics Tables (page

49)

Holds event data (also called log data) produced from

tests.

???TITLE??????

TITLE??????TITLE???

abl_page_visit (page

49)

???TITLE??????

TITLE??????TITLE???

abl_started (page 50)

???TITLE??????

TITLE??????TITLE???

abl_ended (page 50)

???TITLE??????

TITLE??????TITLE???

abl_user_group (page

51)

???TITLE??????

TITLE??????TITLE???

abl_content_viewed (page

51)

???TITLE??????

TITLE??????TITLE???

abl_session (page

52)

Preview Table (page

53)

Holds data that describes test previews. ???TITLE??????

TITLE??????TITLE???

abt_preview (page

53)

Reporting Tables (page

53)

Holds data used to generate reports. ???TITLE??????

TITLE??????TITLE???

abr_control (page

53)

???TITLE??????

TITLE??????TITLE???

abr_report (page 54)

???TITLE??????

TITLE??????TITLE???

abr_report_group (page

54)

Page 49: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Appendix B. ATG Campaign Optimizer Database Tables 43

Type of Table Description Table Names

Test Definition

Tables (page 55)

Holds data that describes tests. ???TITLE??????

TITLE??????TITLE???

abt_test (page 56)

???TITLE??????

TITLE??????TITLE???

abt_group (page 57)

???TITLE??????

TITLE??????TITLE???

abt_element (page

58)

???TITLE??????

TITLE??????TITLE???

abt_test_group (page

58)

???TITLE??????

TITLE??????TITLE???

abt_group_elem (page

59)

???TITLE??????

TITLE??????TITLE???

abt_elem_page (page

59)

???TITLE??????

TITLE??????TITLE???

abt_elem_pg_frag (page

60)

???TITLE??????

TITLE??????TITLE???

abt_elem_rep_slot (page

60)

???TITLE??????

TITLE??????TITLE???

abt_elrs_item (page

60)

Tracking Table (page

55)

Holds data that describes the progress of tests. ???TITLE??????

TITLE??????TITLE???

abt_track (page 55)

ATG Campaign Optimizer for Commerce adds have the following additional tables:

Page 50: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

44 Appendix B. ATG Campaign Optimizer Database Tables

Type of Table Description Table Names

Metrics Tables (Commerce) (page

61)

Holds event data (also called log data)

produced from tests.

???TITLE??????

TITLE??????

TITLE??????TITLE???

abl_item_added (page

61)

???TITLE??????

TITLE??????

TITLE??????TITLE???

abl_order_submit (page

62)

???TITLE??????

TITLE??????

TITLE??????TITLE???

abl_order_abandon (page

63)

???TITLE??????

TITLE??????

TITLE??????TITLE???

abl_trnsnt_abandon (page

64)

Reporting Tables (Commerce) (page

65)

Holds data used to generate reports. ???TITLE??????

TITLE??????

TITLE??????TITLE???

abr_dcs_rpt_group (page

65)

Page 51: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Appendix B. ATG Campaign Optimizer Database Tables 45

Type of Table Description Table Names

Test Definition Tables

(Commerce) (page 66)

Holds data that describes tests. ???TITLE??????

TITLE??????

TITLE??????TITLE???

abt_elem_ctgy_tmp (page

67)

???TITLE??????

TITLE??????

TITLE??????TITLE???

abt_elct_ctgs (page

67)

???TITLE??????

TITLE??????

TITLE??????TITLE???

abt_elem_prod_tmp (page

68)

???TITLE??????

TITLE??????

TITLE??????TITLE???

abt_elpt_prds (page

68)

???TITLE??????

TITLE??????

TITLE??????TITLE???

abt_elpt_ctgs (page

69)

???TITLE??????

TITLE??????

TITLE??????TITLE???

abt_elem_promo (page

69)

ATG Campaign Optimizer Core Tables

The ATG Campaign Optimizer database schema includes the following types of tables:

CAF Tables (page 46)

Markers Table (page 48)

Metrics Tables (page 49)

Preview Table (page 53)

Reporting Tables (page 53)

Test Definition Tables (page 55)

Tracking Table (page 55)

Page 52: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

46 Appendix B. ATG Campaign Optimizer Database Tables

CAF Tables

The following section describes the tables used in support of asset registries.

???TITLE??????TITLE??????TITLE???caf_registry (page 46)

???TITLE??????TITLE??????TITLE???caf_reg_folder (page 46)

???TITLE??????TITLE??????TITLE???caf_reg_rootfolder (page 47)

???TITLE??????TITLE??????TITLE???caf_reg_asset (page 47)

???TITLE??????TITLE??????TITLE???caf_reg_repasset (page 48)

???TITLE??????TITLE??????TITLE???caf_reg_pathasset (page 48)

caf_registry

This table contains information about a registry.

Column Data Type Constraint

registry_id VARCHAR(40) not null

(primary key) The ID for the registry

name VARCHAR(100) not null

The name for the registry

description VARCHAR(1000) Null

The description for the registry

asset_type VARCHAR(100) Null

The type of the asset RepositoryItem

caf_reg_folder

This table contains information on folders in a registry

Column Data Type Constraint

folder_id VARCHAR(40) not null

(primary key) The ID for the folder

Name VARCHAR(100) null

The name for the folder

Page 53: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Appendix B. ATG Campaign Optimizer Database Tables 47

Column Data Type Constraint

parent_folder_id VARCHAR(40) null

The ID for the parent folder

caf_reg_rootfolder

This table associates the root folder with a registry.

Column Data Type Constraint

registry_id VARCHAR(40) not null

(primary key) The ID for the registry

folder_id VARCHAR(40) null

(primary key) The ID for a root folder

caf_reg_asset

This table specifies the folder that holds an asset.

Column Data Type Constraint

asset_id VARCHAR(40) not null

(primary key) The ID for the asset

name VARCHAR(100) null

The name for the asset

description VARCHAR(1000) null

The description for the asset

parent_folder_id VARCHAR(40) null

The ID for the parent folder

Type INTEGER null

They type of asset

parent_registry_id VARCHAR(40) null

The ID for the registry of which the asset is a part

Page 54: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

48 Appendix B. ATG Campaign Optimizer Database Tables

caf_reg_repasset

This table contains information about assets of subtype repositoryAsset.

Column Data Type Constraint

asset_id VARCHAR(40) not null

(primary key) The ID for the asset in the registry

repository VARCHAR(100) not null

The repository to which the asset belongs

item_type VARCHAR(100) not null

The repository item descriptor name for this item

repository_id VARCHAR(100) not null

The ID for the item in the repository

caf_reg_pathasset

This table holds information about assets of subtype pathBasedAsset.

Column Data Type Constraint

asset_id VARCHAR(40) not null

(primary key) The ID for the asset

asset_path VARCHAR(1000) not null

The path for the asset

Markers Table

The following section describes the database table used for the ATG Campaign Optimizer marker functionality.

abt_markers

This table contains information about user participants in tests.

Column Data Type Constraint

marker_id VARCHAR(40) not null

Page 55: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Appendix B. ATG Campaign Optimizer Database Tables 49

Column Data Type Constraint

(primary key) The ID of the marker

profile_id VARCHAR(40) not null

The ID of the user containing the marker

marker_key VARCHAR(100) not null

The marker key (atg.abtests)

marker_value VARCHAR(100) null

The value of the marker (the test ID)

marker_data VARCHAR(100) null

The data stored in the marker (the group ID)

creation_date TIMESTAMP null

The date this marker was added to the profile

Version INTEGER not null

The repository version used to prevent conflicting changes

marker_type INTEGER null

For future use

Metrics Tables

The following section describes the database tables used for the ATG Campaign Optimizer metrics functionality.

???TITLE??????TITLE??????TITLE???abl_page_visit (page 49)

???TITLE??????TITLE??????TITLE???abl_started (page 50)

???TITLE??????TITLE??????TITLE???abl_ended (page 50)

???TITLE??????TITLE??????TITLE???abl_user_group (page 51)

???TITLE??????TITLE??????TITLE???abl_content_viewed (page 51)

???TITLE??????TITLE??????TITLE???abl_session (page 52)

abl_page_visit

This table contains information about page visit data collected during a test.

Page 56: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

50 Appendix B. ATG Campaign Optimizer Database Tables

Column Data Type Constraint

Dataset VARCHAR(40) not null

The dataset used to record page visit information

profile_id VARCHAR(40) null

The ID of the user making the page visit

Session_id VARCHAR(100) null

The session in which the page visit occurred

date_time TIMESTAMP null

The time of the page visit

url VARCHAR(254) null

The URL that was visited

test_id VARCHAR(40) not null

The ID of the test

group_id VARCHAR(40) null

The ID of the test group

abl_started

This table contains information about test starts.

Column Data Type Constraint

dataset VARCHAR(40) not null

The dataset used to record test start information

date_time Timestamp Null

The date and time the test started

test_id VARCHAR(40) not null

The ID of the test

abl_ended

This table contains information about test ends.

Page 57: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Appendix B. ATG Campaign Optimizer Database Tables 51

Column Data Type Constraint

Dataset VARCHAR(40) not null

The dataset used to record test end information

date_time TIMESTAMP null

The date and time the test ended

test_id VARCHAR(40) not null

The ID of the test

abl_user_group

This table contains information about user’s membership in test groups.

Column Data Type Constraint

Dataset VARCHAR(40) not null

The dataset used to record when a user is assigned to or unassigned from a

test group

profile_id VARCHAR(40) not null

The ID of the user joining or being removed from a test group

session_id VARCHAR(100) null

The session in which the user joined or was removed from the test group

date_time TIMESTAMP null

The time at which the user joined or was removed from the test group

test_id VARCHAR(40) not null

The ID of the test

group_id VARCHAR(40) null

The ID of the group

abl_content_viewed

This table contains data on content viewed during a test.

Page 58: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

52 Appendix B. ATG Campaign Optimizer Database Tables

Column Data Type Constraint

Dataset VARCHAR(40) not null

The dataset used to record content viewed events

profile_id VARCHAR(40) null

The ID of the user viewing the content

session_id VARCHAR(100) null

The session in which the content was viewed

date_time TIMESTAMP null

The time at which the content was viewed

test_id VARCHAR(40) not null

The ID of the test

group_id VARCHAR(40) null

The ID of the group being tested

abl_session

This table contains information about sessions for test participants.

Column Data Type Constraint

Dataset VARCHAR(40) not null

The dataset used to record session information

profile_id VARCHAR(40) Null

The ID of the user of the session

session_id VARCHAR(100) not null

The ID of the session

date_time TIMESTAMP Null

The time the session ended

test_id VARCHAR(40) not null

The ID of the test

Page 59: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Appendix B. ATG Campaign Optimizer Database Tables 53

Column Data Type Constraint

group_id VARCHAR(40) Null

The ID of the test group

Preview Table

The following section describes the database table used for the ATG Campaign Optimizer preview functionality.

abt_preview

This table contains information related to previewing test groups.

Column Data Type Constraint

id VARCHAR(40) not null

(primary key) The ID of the preview record

profile_id VARCHAR(40) not null

The user performing the test preview

test_id VARCHAR(40) not null

The ID of the test being previewed, modified for the preview

preview_id VARCHAR(40) not null

The ID of the preview operation

scenario_name WVARCHAR(255) not null

The name of the preview scenario

Reporting Tables

The following section describes the database tables used for the ATG Campaign Optimizer reporting

functionality.

???TITLE??????TITLE??????TITLE???abr_control (page 53)

???TITLE??????TITLE??????TITLE???abr_report (page 54)

???TITLE??????TITLE??????TITLE???abr_report_group (page 54)

abr_control

This table contains information about the last time the ReportGeneratorService was run. There is one record

in this table.

Page 60: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

54 Appendix B. ATG Campaign Optimizer Database Tables

Column Data Type Constraint

Id VARCHAR(40) not null

(primary key) The ID of the control record

last_report TIMESTAMP Null

The last time the ReportGeneratorService updated test reports

abr_report

This table contains information about reports for individual tests.

Column Data Type Constraint

test_id VARCHAR(40) not null

(primary key) The ID of the test

last_modified_date TIMESTAMP Null

The last time the test report was updated

test_state VARCHAR(40) Null

The test’s state the last time the report was updated

abr_report_group

This table contains information about measurements (or metrics) for individual test groups.

Column Data Type Constraint

group_id VARCHAR(40) not null

(primary key) The ID of the test groups

test_id VARCHAR(40) Null

The ID of the test

Users INTEGER Null

The number of participants in the group

Sessions INTEGER Null

The number of sessions by participants in the group

Page 61: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Appendix B. ATG Campaign Optimizer Database Tables 55

Column Data Type Constraint

content_views INTEGER Null

The number of times test content was viewed by participants in the

group

page_views INTEGER Null

The number of pages viewed by participants in the group

Tracking Table

The following section describes the database table used for the ATG Campaign Optimizer tracking functionality.

abt_track

This table contains information about running and completing a test.

Column Data Type Constraint

test_id VARCHAR(40) not null

(primary key) The ID of the test

scenario_name WVARCHAR(255) not null

The name of the test scenario

modification_time NUMERIC(19) not null

The last time the scenario was modified

test_state VARCHAR(40) Null

The test state

start_date TIMESTAMP Null

The time the test started running

end_date TIMESTAMP Null

The date the test ended

Test Definition Tables

The following section describes the database tables used for the ATG Campaign Optimizer core functionality.

???TITLE??????TITLE??????TITLE???abt_test (page 56)

Page 62: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

56 Appendix B. ATG Campaign Optimizer Database Tables

???TITLE??????TITLE??????TITLE???abt_group (page 57)

???TITLE??????TITLE??????TITLE???abt_element (page 58)

???TITLE??????TITLE??????TITLE???abt_test_group (page 58)

???TITLE??????TITLE??????TITLE???abt_group_elem (page 59)

???TITLE??????TITLE??????TITLE???abt_elem_page (page 59)

???TITLE??????TITLE??????TITLE???abt_elem_pg_frag (page 60)

???TITLE??????TITLE??????TITLE???abt_elem_rep_slot (page 60)

???TITLE??????TITLE??????TITLE???abt_elrs_item (page 60)

abt_test

This table contains information about an ATG Campaign Optimizer test.

Column Data Type Constraint

test_id VARCHAR(40) not null

(primary key) The ID of the test

version INTEGER NOT NULL

Manages the optimistic locking feature of the SQL Repository. This value is

automatically incremented by the SQL Repository when any value of the item

is modified. If you change rows directly outside of the ATG framework, you

should also increment the version number.

creation_date DATE NULL

The date this test was created.

name WVARCHAR(100) Null

The name of the test

test_state VARCHAR(40) Null

For future use

enabled TINYINT Null

Indicates whether the test has been enabled

start_date TIMESTAMP Null

The date the test is set to start running

end_date TIMESTAMP Null

Page 63: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Appendix B. ATG Campaign Optimizer Database Tables 57

Column Data Type Constraint

The date the test is set to complete

participants WVARCHAR(2000) Null

The set of users to be tested

scenario_root WVARCHAR(254) Null

Copied from TestManager.scenarioRoot

scenario_path WVARCHAR(254) Null

For future use

preview_url WVARCHAR(255) Null

The URL to use when previewing a test group

web_app WVARCHAR(254) Null

For future use

report_only TINYINT Null

For future use

creation_date TIMESTAMP Null

The date the test was created

modification_date TIMESTAMP Null

The last date the test was modified

description WVARCHAR(254) Null

A description of the test

owner_id VARCHAR(40) Null

The ID of the user who created the test

modifier_id VARCHAR(40) Null

The ID of the last user to modify the test

site_id VARCHAR(80) Null

In a multisite environment, the site ID of the site where the test will run

abt_group

This table contains information about a test group.

Page 64: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

58 Appendix B. ATG Campaign Optimizer Database Tables

Column Data Type Constraint

group_id VARCHAR(40) not null

(primary key) The ID of the group

name WVARCHAR(100) Null

The name of the test group

Percentage NUMERIC(197) not null

The percentage of test participants to assign to the group

fixed_percentage TINYINT Null

Indicates whether the group percentage can be edited in the ATG

Campaign Optimizer UI or if it should be computed automatically

control TINYINT null

Indicates whether the test is a control group

description WVARCHAR(254) null

A description of the group

abt_element

This table contains information about a test element.

Column Data Type Constraint

Element_id VARCHAR(40) not null

(primary key) The ID of the test element

Type INTEGER Null

Indicates which element type this is

abt_test_group

This table contains information about linking tests to the groups they contain.

Column Data Type Constraint

test_id VARCHAR(40) not null

Page 65: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Appendix B. ATG Campaign Optimizer Database Tables 59

Column Data Type Constraint

(primary key) The ID of the test

group_id VARCHAR(40) not null

The ID of a group in this test

sequence_num INTEGER not null

(primary key) The position of this group in the list of groups

abt_group_elem

This table contains information linking groups to the elements they contain.

Column Data Type Constraint

group_id VARCHAR(40) not null

(primary key) The ID of the test group

element_id VARCHAR(40) not null

The ID of a test element in this group

sequence_num INTEGER not null

(primary key) The position of this element in the list of elements

abt_elem_page

This table contains information about an element that tests pages.

Column Data Type Constraint

element_id VARCHAR(40) not null

(primary key) The ID of the page element

old_url WVARCHAR(254) not null

The location of the page to be replaced

new_url WVARCHAR(254) Not null

The location of the page to be used during the test

Page 66: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

60 Appendix B. ATG Campaign Optimizer Database Tables

abt_elem_pg_frag

This table contains information about an element that tests page fragments.

Column Data Type Constraint

element_id VARCHAR(40) Not null

(primary key) The ID of the page fragment element

old_url WVARCHAR(254) Not null

The location of the page fragment to be replaced

new_url WVARCHAR(254) Not null

The location of the page fragment to be used during the test

request_url WVARCHAR(254) Null

The page in which to substitute the page fragment

abt_elem_rep_slot

This table contains information about an element that tests repository content.

Column Data Type Constraint

element_id VARCHAR(40) not null

(primary key) The ID of the repository content test element

Slot WVARCHAR(254) not null

The slot whose contents will be substituted

Targeter WVARCHAR(254) null

For future use

abt_elrs_item

This table contains information about the repository items to be substituted by repository content test

elements.

Page 67: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Appendix B. ATG Campaign Optimizer Database Tables 61

Column Data Type Constraint

element_id VARCHAR(40) not null

(primary key) The ID of the repository content element associated with these items

item_id VARCHAR(254) null

The item ID to use as slot content

sequence_num INTEGER Not null

(primary key) The position of this item in the list of items

ATG Campaign Optimizer for Commerce Database Tables

ATG Campaign Optimizer for Commerce users are provided with additional types of tables that hold commerce

information:

Metrics Tables (Commerce) (page 61)

Reporting Tables (Commerce) (page 65)

Test Definition Tables (Commerce) (page 66)

Metrics Tables (Commerce)

The following section describes the database tables used for the ATG Campaign Optimizer for Commerce

metrics functionality.

???TITLE??????TITLE??????TITLE??????TITLE???abl_item_added (page 61)

???TITLE??????TITLE??????TITLE??????TITLE???abl_order_submit (page 62)

???TITLE??????TITLE??????TITLE??????TITLE???abl_order_abandon (page 63)

???TITLE??????TITLE??????TITLE??????TITLE???abl_trnsnt_abandon (page 64)

abl_item_added

This table contains information about items added to orders during a test.

Column Data Type Constraint

Dataset VARCHAR(40) not null

The dataset used to record when an item is added to an order

Profile_id VARCHAR(40) null

Page 68: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

62 Appendix B. ATG Campaign Optimizer Database Tables

Column Data Type Constraint

The ID for the user who added an item to an order

Session_id VARCHAR(100) null

The session in which the item was added to the order

date_time TIMESTAMP null

The time the item was added to the order

orderid VARCHAR(40) null

The ID for the order

itemid VARCHAR(40) null

The ID for the item added to the order

quantity INTEGER null

The quantity of the item added to the order

amount NUMERIC(19,7) null

The cost of the item added to the order

currency VARCHAR(40) null

The currency associated with the amount for the order

test_id VARCHAR(40) not null

The ID of the test

group_id VARCHAR(40) null

The ID of the test group

abl_order_submit

This table contains information about orders submitted during a test.

Column Data Type Constraint

dataset VARCHAR(40) not null

The dataset used to record when an order is submitted

profile_id VARCHAR(40) null

Page 69: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Appendix B. ATG Campaign Optimizer Database Tables 63

Column Data Type Constraint

The ID for the user who submitted the order

session_id VARCHAR(100) null

The ID for the session during which the order was submitted

date_time TIMESTAMP null

The time the order was submitted

orderid VARCHAR(40) not null

The ID for the order

amount NUMERIC(19,7) null

The cost of the order

item_qty INTEGER null

The number of items in the order

currency VARCHAR(40) null

The currency used for the order

test_id VARCHAR(40) not null

The ID of the test

group_id VARCHAR(40) null

The ID of the test group

abl_order_abandon

This table contains information about incomplete orders that appear to have been abandoned by registered

users who participated in a test.

Column Data Type Constraint

dataset VARCHAR(40) not null

The dataset used to record information about abandoned persistent

orders

profile_id VARCHAR(40) Null

The ID for the user who abandoned the order

Page 70: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

64 Appendix B. ATG Campaign Optimizer Database Tables

Column Data Type Constraint

date_time TIMESTAMP Null

The time when it was determined that the order had been abandoned

orderid VARCHAR(40) not null

The ID for the order

amount NUMERIC(19,7) Null

The total cost of the order, including the cost of the items in it, shipping

and tax

currency VARCHAR(40) Null

The currency used for the order

test_id VARCHAR(40) not null

The ID of the test

group_id VARCHAR(40) Null

The ID of the test group

abl_trnsnt_abandon

This table contains information about orders that are abandoned by transient (non-logged in) users during a

test.

Column Data Type Constraint

dataset VARCHAR(40) not null

The dataset used to record when a transient user abandons an order

profile_id VARCHAR(40) Null

The ID for the transient user

session_id VARCHAR(100) Null

The session in which the transient user created the order

date_time TIMESTAMP Null

The time the order was abandoned

orderid VARCHAR(40) not null

Page 71: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Appendix B. ATG Campaign Optimizer Database Tables 65

Column Data Type Constraint

The ID for the order

amount NUMERIC(19,7) Null

The total cost of the items in the order

currency VARCHAR(40) Null

The currency used for the order

test_id VARCHAR(40) not null

The ID of the test

group_id VARCHAR(40) Null

The ID of the test group

Reporting Tables (Commerce)

The following section describes the database tables used for the ATG Campaign Optimizer for Commerce

reporting functionality:

???TITLE??????TITLE??????TITLE??????TITLE???abr_dcs_rpt_group (page 65)

???TITLE??????TITLE??????TITLE??????TITLE???abr_dcsabd_rpt_gr (page 66)

abr_dcs_rpt_group

This table contains information about measurements (or metrics) for individual test groups.

Column Data Type Constraint

group_id VARCHAR(40) not null

(primary key) The ID of the test group

units_added INTEGER Null

The total quantity of items added to orders

Orders INTEGER Null

The number of submitted orders

units_ordered INTEGER Null

The total quantity of items in submitted orders

revenue_ordered NUMERIC(197) Null

Page 72: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

66 Appendix B. ATG Campaign Optimizer Database Tables

Column Data Type Constraint

The monetary amount submitted

Currency VARCHAR(40) Null

The currency associated with contents of the revenue-ordered

column

converted_sessions INTEGER Null

The number of sessions during which orders were submitted

abr_dcsabd_rpt_gr

This table contains information about abandoned order metrics for individual test groups.

Column Data Type Constraint

group_id VARCHAR(40) not null

(primary key) The ID of the test group

orders_abandon INTEGER Null

The total number of orders that have been abandoned by registered

users

revenue_abandon NUMERIC(19, 7) Null

The total monetary value of orders abandoned by registered users

transient_abandon INTEGER Null

The number of orders abandoned by transient users

tran_rev_abandon NUMERIC(197) Null

The total monetary value of orders abandoned by transient users

Test Definition Tables (Commerce)

The following section describes the database tables used for the ATG Campaign Optimizer for Commerce test

description functionality.

???TITLE??????TITLE??????TITLE??????TITLE???abt_elem_ctgy_tmp (page 67)

???TITLE??????TITLE??????TITLE??????TITLE???abt_elct_ctgs (page 67)

???TITLE??????TITLE??????TITLE??????TITLE???abt_elem_prod_tmp (page 68)

Page 73: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Appendix B. ATG Campaign Optimizer Database Tables 67

???TITLE??????TITLE??????TITLE??????TITLE???abt_elpt_prds (page 68)

???TITLE??????TITLE??????TITLE??????TITLE???abt_elpt_ctgs (page 69)

???TITLE??????TITLE??????TITLE??????TITLE???abt_elem_promo (page 69)

abt_elem_ctgy_tmp

This table contains information about a test element that substitutes one category template for another.

Column Data Type Constraint

element_id VARCHAR(40) not null

(primary key) The ID for the test element.

new_template VARCHAR(40) not null

The ID of the category template you want to test

old_template VARCHAR(40) Null

The ID of the category template to be replaced

catalog_id VARCHAR(40) Null

The ID for the catalog containing the affected categories

exclude TINYINT Null

The flag that indicates whether to include (false) or exclude (true) a

set of categories in your test. The excluded/included categories are

described in the abt_elct_ctgs table.

abt_elct_ctgs

This table lists categories that are either explicitly included or excluded from a category template element.

Column Data Type Constraint

element_id VARCHAR(40) not null

(primary key) The ID for the test element

category_id VARCHAR(40) not null

The ID of a category to include or exclude in the test as based on the

value of the exclude flag in the abt_elem_ctgy_tmp table.

sequence_num INTEGER not null

Page 74: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

68 Appendix B. ATG Campaign Optimizer Database Tables

Column Data Type Constraint

(primary key) The position of this category in the list of categories

abt_elem_prod_tmp

This table contains information about an element that substitutes one product template for another.

Column Data Type Constraint

element_id VARCHAR(40) not null

(primary key) The ID for the test element

new_template VARCHAR(40) not null

The ID of the product template you want to test

old_template VARCHAR(40) Null

The ID of the product template to be replaced

catalog_id VARCHAR(40) Null

The ID for the catalog containing the affected products

exclude TINYINT Null

The flag that indicates whether to include (false) or exclude (true) a set

of items in your test. When the items are products, the list of included/

excluded products is described in the abt_elpt_prds table. When

the items are categories, the list of included/excluded categories is

described in the abt_elpt_ctgs table.

abt_elpt_prds

This table lists products that are either explicitly included in or excluded from a product template element.

Column Data Type Constraint

element_id VARCHAR(40) not null

(primary key) The ID for the test element.

product_id VARCHAR(40) not null

The ID of a product to include or exclude in the test as based on the

value of the exclude flag in the abt_elem_prod_tmp table.

Page 75: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Appendix B. ATG Campaign Optimizer Database Tables 69

Column Data Type Constraint

sequence_num INTEGER not null

(primary key) The position for a product in the list of products

abt_elpt_ctgs

This table lists categories that are either explicitly included in or excluded from a product template element.

Column Data Type Constraint

element_id VARCHAR(40) not null

(primary key) The ID for the test element

category_id VARCHAR(40) not null

The ID of a category to include or exclude in the test as based on the

value of the exclude flag in the abt_elem_prod_tmp table.

sequence_num INTEGER not null

(primary key) The position of the category in the list of categories

abt_elem_promo

This table contains information about an element that tests a promotion.

Column Data Type Constraint

element_id VARCHAR(40) not null

(primary key) The ID for the test element

promotion_id VARCHAR(40) not null

The ID for the promotion

trigger_type INTEGER not null

The number that identifies the type of activity that triggers a promotion to be granted

trigger_param WVARCHAR(254) null

The name of the page that triggers a page viewing event

Page 76: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

70 Appendix B. ATG Campaign Optimizer Database Tables

Page 77: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Part II. Business User GuideThis section gives business users a comprehensive understanding of ATG Campaign Optimizer. It provides information on

how to use ATG Campaign Optimizer to evaluate and improve your e-commerce initiatives by performing multivariate testing

on Web-based promotions, online products, and overall web site design and functionality.

This chapter includes the following sections:

Installing and Configuring ATG Campaign Optimizer (page 71)

Accessing the ATG Campaign Optimizer User Interface (page 71)

Installing and Configuring ATG Campaign Optimizer

For information about installing and configuring ATG Campaign Optimizer, refer to Part I, “Installation and

Administration” (page 1).

Accessing the ATG Campaign Optimizer User Interface

You access the ATG Campaign Optimizer user interface through the Operations menu in the ATG Business Control Center,

which is installed with ATG Content Administration. The instructions below assume that the ATG Campaign Optimizer Server

and the database it uses have both been started. For more information, refer to Part I, “Installation and Administration” (page

1).

1. Point your Web browser to the URL that represents the ATG Business Control Center. The URL you enter depends on the

application server on which ATG Campaign Optimizer is running. The default URLs are as follows:

• JBoss Application Server: http://hostname:8080/atg/bcc

• IBM WebSphere: http://hostname:9080/atg/bcc

• Oracle WebLogic: http://hostname:7001/atg/bcc

For example, if you are pointing to the ATG Business Control Center on JBoss on your local machine, which is common for

product evaluation, enter http://localhost:8080/atg/bcc.

2. When the ATG Business Control Center login dialog box appears, enter the login name and password defined in your

ATG user profile. Note that the fields are case sensitive. If you are denied access, check that you have the appropriate

permissions.

Using the Operations Menu

The Operations menu in the left pane contains the options you use to access ATG Campaign Optimizer features:

• Campaign Optimizer Project: Select this option to create a new ATG Campaign Optimizer test.

Page 78: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

• Browse: Click this link to display the View Tests page. For more information, refer to Using the View Tests Page (page 72).

• Registry Admin: Allows you to create, view, and add assets to the various types of custom registries that can be stored in

the AssetRegistry repository. For more information, refer to Part I, “Installation and Administration” (page 1).

For details on using the ATG Content Administration menu item shown in the image, see the ATG Content Administration

Guide for Business Users. For information on the Personalization menu item, see the ATG Business Control Center User's

Guide. Additional options appear in the Operations menu for other ATG application. Refer to the documentation for those

applications.

Note: If no items appear under the Campaign Optimizer option, your ATG session may have expired. Log out of the ATG

Business Control Center, close and restart your browser, and log in again.

Using the To Do List

The To Do List in the right pane of the Business Control Center Home page allows you to view and edit projects that you have

created or that contain tasks assigned to you. In ATG Campaign Optimizer, projects are tests. If you create a test through the

Operations menu, but you do not complete it, you can use the To Do List to access it later for editing. For more information,

see Using ATG Campaign Optimizer Projects (page 99).

Only tests that can currently be edited appear in the To Do List. Items that can be edited have the status Edit or Edit Running.

Items that are not in an editing stage do not appear in the To Do List.

Using the View Tests Page

The View Tests page lists all tests and their statuses. When you display the View Tests page by clicking the Browse link in the

Campaign Optimizer option in the Operations menu, you see a list of completed tests. When you display the View Tests page

from within a project, a third tab lists the tests in the current project.

The My Tests tab of ATG Campaign Optimizer lists all the tests you created. This tab opens automatically when you access the

ATG Campaign Optimizer UI. You can also access it by clicking the View Tests button at any time. To view an individual test

summary, click the test name.

Note: Click the All Tests tab to view all the tests available on the system.

Both the My Tests tab and the All Tests tab display the following information:

Name The name of the test.

Start The setting that determines how the test will start. Tests can start on a specified date

or as soon as they are deployed.

End The setting that determines how the test will end. Tests can end on a specified date

or can be stopped manually.

Created By The name of the user who created the test.

Status Indicates if the test is currently running, has finished running, or has not started

yet. If your Campaign Optimizer environment includes a staging server, you will see

both Staging Status and Production Status columns. Otherwise, you will see only a

Production Status column.

Page 79: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Site(s) In a multisite environment, specifies which sites the test runs on.

Enabled Indicates whether the test is enabled. An enabled test runs at the time specified by

the Start setting.

Viewing a Test Summary

The Summary tab allows you to view a summary of a test’s components or the results of a test that has finished funning. You

can view test details by clicking the test name in the My Tests or All Tests tabs. The Summary tab opens.

The Summary tab contains the following information:

Basic Info

Start Date The setting that determines how the test will start. This can either be a date or Start

When Deployed.

End Criteria The setting that determines how the test will end. This can be either a date when

the test will end or Manual Stop, which means the test continues until you stop it as

described in Ending Tests (page 94).

Participants The profile group that contains the users to be tested. For more information on

profile groups, see the ATG Personalization Guide for Business Users.

Page 80: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Basic Info

Number of Test Groups The number of test groups into which the users are divided.

Applies to Site In a multisite environment, specifies which sites the test runs on.

Name The name of the test.

Description A description of the test.

Default System Preview URL The default URL that is used for previewing all tests in the system. This URL can be

overridden by the Test-Specific URL.

Test-Specific Preview URL The preview URL that is associated with this test.

Test Groups

Name The name of the test group.

% Participants The percentage of users that will be part of a given test group.

Description A brief description of the test group.

Test Elements The actual items that will be switched during the test.

Using the Browser’s Back Button

Avoid using your browser’s Back button to navigate the ATG Business Control Center. Depending on the operation you are

performing, using the Back button to redisplay a page may occasionally cause data conflict, resulting in errors. Wherever

possible, use the links and other navigation controls in the ATG Business Control Center to move from one page to another. If

you do use the Back button and then see an error, close the browser and restart the Business Control Center.

Page 81: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

3 ATG Campaign Optimizer Overview 75

3 ATG Campaign Optimizer Overview

This chapter introduces important terms used in ATG Campaign Optimizer and ATG Content Administration and

includes examples of tests.

ATG Campaign Optimizer Terms (page 75)

ATG Content Administration Terms (page 76)

ATG Campaign Optimizer Use Cases (page 77)

ATG Campaign Optimizer Terms

This section defines principal ATG Campaign Optimizer terms:

A/B Test

A/B tests are useful for deciding between two competing versions of a single factor.

Checked-in Tests

ATG Campaign Optimizer projects will be deployed with a standard Content Administration (CA) late stage

workflow. A late stage workflow checks in assets once the project has been deployed to staging or production

and approved.

Multivariate Test

Multivariate testing allows you to test a number of changes to your site at the same time.

Test Group

Participants in a test are broken up into groups. Each group sees different test elements. By default, the Test

Group tab contains two groups. One group should see the test elements, in other words the elements that are

different from the existing site. The Control group typically sees no test elements.

Page 82: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

76 3 ATG Campaign Optimizer Overview

ATG Content Administration Terms

ATG Campaign Optimizer uses the content management features of ATG Content Administration to manage and

deploy content that you want to test. You create and manage your content for tests on an internal server. The

content is then published, or deployed, to your customer-facing web sites by ATG Content Administration.

The following definitions are provided to help you understand how tests are managed and deployed. For more

information, see the ATG Content Administration Programming Guide and the ATG Content Administration Guide for

Business Users.

Projects and Workflows

Projects represent business activities that involve several tasks that can be completed over a period of time

by one or more people. Each project is associated with an underlying workflow, which controls the lifecycle

of the project, determining the number of tasks it has and the order in which they should be completed. ATG

Campaign Optimizer has one project type: a test, which contains one or more tests.

Projects allow you to share the work of creating and analyzing tests with other people in your organization; for

example one person can be assigned the task of creating a test, and a second person can be assigned the task

of approving the test and deploying it to the production server. For more information, see Using ATG Campaign

Optimizer Projects (page 99).

Assets

A test is made up of various editable objects, referred to as “assets,” that must be available on the production

server for the test to work correctly. Examples of test assets are segments, page fragments, slots, and image files.

Deployment

Deployment is the process of copying tests and their associated assets to a staging or production server.

You create tests on an internal server and deploy them to your customer-facing server(s). Tests start running

automatically after they have been deployed (or after any future start date specified for them has been reached).

You can edit certain parts of a running test and redeploy the changes to your live site.

The default ATG Campaign Optimizer workflow is designed to deploy to your ATG Campaign Optimizer

Production/Staging server(s) after the test is approved. You must perform some configuration steps in ATG

Content Administration before you can deploy any tests. Refer to Part I, “Installation and Administration” (page

1) for more information.

Segments

Tests are targeted to specific groups of people called “segments,” which are analogous to the profile groups in

earlier versions of ATG Campaign Optimizer. A segment is defined as a set of profile properties. Any user whose

profile includes the specified properties is included in the segment.

For example, you could create a segment called “Nevada Women” to specify a group whose gender is female,

age is 18 and over, and home address state is Nevada.

Page 83: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

3 ATG Campaign Optimizer Overview 77

Versioning

Versioning is the mechanism that allows users to view the change history of assets, resolve conflicts between

different versions of assets, and revert changes. All assets have an associated version number. Every time a test

is edited and deployed, the assets in the test are assigned a new version number. This behavior ensures that

anyone who edits a test is working on the most recent version of its assets.

ATG Campaign Optimizer Use Cases

This section describes several examples of tests you can perform with ATG Campaign Optimizer. Each example

includes a link to the appropriate section of this guide that describes how to set up the test.

• Slot Testing (page 77)

• Promotions Testing (page 77)

• Location Testing (page 78)

• Web Site Functionality Testing (page 78)

Slot Testing

You can rotate products, promotions, advertisements, or creative into a specific location (slot) on your Web page.

For example, a web producer wants to run a three-day test to determine whether the image of a female model

or a male model works best on the home page. She sets up a three-day test where 40% of the site’s visitors see

the female model image, 40% of the site’s visitors see the male model image, and 20% of the site’s visitors see

the image that is live on the site today. She selects the slot that she wants to test from a list of slots that are

live on the site. While setting up the test, she is able to preview the two test images as they will appear to test

participants.

See Testing Repository Content (page 83) for details on setting up this type of test.

Promotions Testing

You can test multiple promotions to see which will deliver the best click-through to conversion.

For example, a marketing manager is planning a large promotion for the Back-to-School season. She has to

choose between a “$10 off any order over $100” and a “$20 off any order over $200” offer. She decides to run a

one week test on the web sites to see which offer is more profitable.

She wants to measure four test groups: The first is a group that will receive the Purple Ad and the $10 off

promotion, the second will receive the Blue Ad and the $10 off promotion, the third will see the Purple Ad and

the $20 off promotion, and the fourth will see the Blue Ad and the $20 off promotion. The control group will

receive no ad and no promotion.

She sets up a seven-day test during which each group receives 20% of the traffic and the control group receives

the remaining 20%. She picks her promotions and images from a list of promotions and a list of content pieces.

See Testing Promotions (page 88) and Testing Repository Content (page 83) for details on setting up this

type of test.

Page 84: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

78 3 ATG Campaign Optimizer Overview

Location Testing

You can test the best location on a Web page for pricing, promotions, products, creative, content, and features

such as search.

For example, a merchandiser wants to know whether the conversion rate will increase for high price point items

if the Price Block is moved below the Product Description. He asks the page designers to create a new version of

the Product Detail Page template in which the price block appears below the description.

The merchandiser sets up a test to determine which template performs better. The new template is used for

all Armoires and Couches, but the old template is used for all other types of product. The user sets up the test

so that 50% of the site’s visitors will see the new template in those two categories and 50% will see the old

template. He sets the test to run for seven days.

SeeTesting Product Templates (page 87) for details on setting up this type of test.

Web Site Functionality Testing

You can test web site functionality, such as search or merchandising capabilities, to see how they perform.

Testing these technologies before incorporating them into your web sites can save investment costs and IT

resources.

For example, a programmer has created a product affinity engine that can make product recommendations

based on other people’s purchase habits. She wants to prove that the content that is served by her engine will

generate more sales than the current process of fixed content (related products). The programmer decides to

create a new product template that incorporates her recommendations in the ‘related product’ slots. She creates

a two-day test that displays the new template to 50% of the site’s visitors and the old template to 50% of the

site’s visitors.

See Testing Product Templates (page 87) for details on setting up this type of test.

Page 85: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

4 Creating a Test 79

4 Creating a Test

This chapter describes how to create a test. It includes sections that describe how to conduct the tests described

in ATG Campaign Optimizer Use Cases (page 77) in the previous chapter.

Creating a new test requires the following steps:

1. Create a new project in the ATG Business Control Center and add a test to the project.

2. Enter Basic Info about the test, such as the start and end dates.

3. Choose the users who will participate in the test.

4. Define test groups to which the participants will belong.

5. Specify the elements to test, such as slots, graphics, or pages.

6. Preview the test as it will appear to the test groups you defined in step 5.

7. Start the test.

8. End the test.

9. Review the test results.

Creating a New Test

You can create a new test in a new project, or you can add a new test to an existing project. The following

procedure creates a new project. To open an existing project, see Using the To Do List (page 72).

To create a test in a new project:

1. In the ATG Business Control Center Home page, select Operations > Campaign Optimizer Project.

2. Type a name and an optional description for this project. The name can include spaces and does not have to

be unique. It is used by ATG Campaign Optimizer only and is not visible to the test’s target audience. It can be

useful to append the word “test” to the name to make ATG Campaign Optimizer projects easily identifiable in

the To Do List on the ATG Business Control Center Home page.

3. Click Continue. The ATG Business Control Center creates a new project and displays ATG Campaign Optimizer.

Page 86: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

80 4 Creating a Test

Adding a New Test to the Project

You can add one or more tests to a project. In this section, you’ll add a test to the project you created in the

previous section.

To add a test to the newly-created project:

1. Click the New Test button at the upper right in the project page to display the Create New Test screen.

2. Enter a name for the new test and click OK to display the Basic Info tab for the new test.

The Basic Info tab is displayed. See the next section, Defining Basic Information (page 80), for information

on how to use this tab.

Defining Basic Information

The Basic Info tab contains general information for the test, such as the start and end dates.

1. Enter the following information into the Basic Info tab.

• Name: A name for the test.

• Description: A description of the test. (optional)

• Start Date: The setting that determines how the test will start. You can enter a date or select Start When

Test Is Deployed. (optional)

• End Criteria: The setting that determines how the test will end. You can enter a date or select Run Until

Manually Stopped. (optional)

• Default Preview URL: The URL that will be used to preview this test before running. When you initiate a

preview, you are given the opportunity to override this value with another URL. (optional)

• Applies to Site: In a multisite environment, the sites that the test will run on. If you select the option All

Sites, the test runs on all registered sites. If you select a site from the list, the test runs only on that site.

2. Click Save.

3. Go to the next section, Adding Participants (page 80), to add participants to the test.

Note: See Editing Tests (page 90) to learn how to change the test details later.

Adding Participants

Test Participants are users who are eligible for the test. Eligible participants are divided into different test groups

when they view the site.

1. Click the Participants tab.

Page 87: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

4 Creating a Test 81

2. Select the users who will participate in the test:

• All users

• Available segments: a segment to participate in the test, or select all users. A profile group represents

a segment of your site’s target audience. You must choose an existing segment; you can’t create new

segments here. Segments are created in the ATG ACC. For more information, see Creating Segments in the

ATG Personalization Guide for Business Users.

• Clicking the Reset button deletes all currently selected users.

3. Click Save.

Configuring the Test Groups Tab

Use the Test Groups tab to define the groups of test participants and to configure the elements to test.

1. Click the Test Groups tab to open it.

2. Create groups for your test. For details, see Defining Test Groups (page 82). (optional)

3. Configure test elements for each group. For details, see Configuring Test Elements (page 83).

4. Click Save or save the test automatically by moving to another page. For information on running tests, see

Completing and Deploying Tests (page 91).

Page 88: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

82 4 Creating a Test

Defining Test Groups

Participants in a test are broken up into groups. Each group sees different test elements. By default, the Test

Group tab contains two groups. One group should see the test elements, in other words the elements that are

different from the existing site. The Control group typically sees no test elements.

Follow these steps to set up the test groups.

1. Open a test and click the Test Groups tab.

2. By default, the Groups tab displays panes for two groups. If you need to add more groups, click the New Test

Group button at the bottom of the page.

Tip: You can hide a group by clicking the minimize button in the right hand corner of each group. This will

minimize the group so you can see only the name and percentage value. Maximize the group by clicking the

maximize button.

3. Use the % column to change the percentages associated with each group. The numbers must add up to

100%. By default, all groups are set to the same percentage. To change the percentages, click the lock icon

next to the number and enter a new number. Do not click the lock icon again or the numbers will reset to the

defaults.

Page 89: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

4 Creating a Test 83

Note: If you unlock all test group percentages, the system no longer verifies that the total adds up to 100%.

You must verify the total manually.

4. Change the Name for each group in the Name field. (optional)

5. Enter a short description of each group in the Group Description field. (optional)

6. Configure test elements for each group. For more information, see Configuring Test Elements (page 83).

7. Click Save to save the group information.

Clicking the Reset button resets each field to its last saved value.

Configuring Test Elements

You can create the following types of test elements in any ATG Campaign Optimizer test:

Testing Repository Content (page 83)

Testing Pages (page 84)

Testing Page Fragments (page 85)

You can create three additional types of test elements if you are using the ATG Commerce suite:

Testing Category Templates (page 86)

Testing Product Templates (page 87)

Testing Promotions (page 88)

Testing Repository Content

You can test new repository content in a slot on a site page. You can test one or more items from a content

repository. Repository content is any item stored in any content repository used by your application. This could

include images or text.

When you test repository content, your test intercepts a scenario that fills a slot and adds test-related content to

that slot instead. Therefore, if you want to test repository content, you must use slots that are populated only by

scenarios. Slots that are filled in other ways, for example, by calling the Java API for slot management directly, are

not affected by ATG Campaign Optimizer tests. For more information on using slots with repository content, see

the ATG Personalization Guide for Business Users.

Follow these steps to set up a test element for repository content in a slot.

1. Create a new test or edit an existing test. See Creating a New Test (page 79) or Editing Tests (page 90)

for more information.

2. Select the Test Groups tab and set up the test groups for the test. See Defining Test Groups (page 82) for

more information.

Page 90: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

84 4 Creating a Test

3. Click the New Element button in the test group that you want to test.

4. Select Repository Content and click Next.

5. Select the Slot in which you want to display the test repository content and click Next. The Select Repository

Item(s) window opens.

6. Search for repository items that you want to test in the selected slot. Add items to the Select Items box using

the > icon. If you select more than one item then all the selected items will be placed in the slot. You can

control the order of the selected items using the up and down arrows. Click Finish.

After finishing the test element, you can add another element to the test group, preview the test group or

start the test. See Previewing Tests (page 89) and Completing and Deploying Tests (page 91) for more

information.

Testing Pages

You can test new site pages by replacing existing pages with new versions of the page. For example, you could

test a new home page by setting up a test that replaces your current home page with the test home page. Test

group members visiting your site would see the test home page.

Follow these steps to set up a test element for page testing.

1. Create a new test or edit an existing test. See Creating a New Test (page 79) or Editing Tests (page 90)

for more information.

2. Select the Test Groups tab and set up the test groups for the test. See Defining Test Groups (page 82) for

more information.

Page 91: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

4 Creating a Test 85

3. Click the New Element button in the test group that you want to test.

4. Select Page and click Next. The Replace Page window opens.

5. Select the page you want to replace with a new page and click Next. The Select New Page window opens.

6. Select the new page you want to use as part of the test and click Finish.

After finishing the test element, you can add another element to the test group, preview the test group or

start the test. See Previewing Tests (page 89) and Completing and Deploying Tests (page 91) for more

information.

Testing Page Fragments

The Page Fragment test element allows you to substitute a page fragment on your site with an alternate page

fragment. There are two types of page fragment substitution:

• Substitute a page fragment everywhere it appears on your entire site

• Substitute a page fragment only on a specific page.

For example, if you wanted to test a new navigation bar, you’d want to replace all navigation bars throughout

the site with the test one so that test group sees a consistent navigation bar regardless of what page they view.

In that case, replacing a page fragment everywhere it appears would be appropriate. In other circumstances, if

you want to test a search box on the home page, for example, you might only want to test a particular use of a

page fragment.

Follow these steps to set up a test element for testing page fragments.

1. Create a new test or edit an existing test. See Creating a New Test (page 79) or Editing Tests (page 90)

for more information.

2. Select the Test Groups tab and set up the test groups for the test. See Defining Test Groups (page 82) for

more information.

3. Click the New Element button in the test group that you want to test.

4. Select Page Fragment and click Next. The Replace Page Fragment window opens.

5. Select the page fragment that you want to replace from the list of files or enter a file name. Click Next. The

Select New Page Fragment window opens.

6. Select the page fragment you want to use in the test or enter a file name. Click Next to select the locations

where you want the replacement to occur. Click Finish if you want to the replacement to occur everywhere

the original page fragment is used. If you click Next, the Select Substitute Location window opens.

7. Choose one of the following and click Finish.

• Select Everywhere it occurs to replace the page fragment with the test fragment every time the fragment is

used on the site.

• Select Only at the following location if you want the page fragment replaced only when it is used on a

specific page. Select the page or enter a file name.

After finishing the test element, you can add another element to the test group, preview the test group or

start the test. See Previewing Tests (page 89) and Completing and Deploying Tests (page 91) for more

information.

Page 92: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

86 4 Creating a Test

Testing Category Templates

Testing category templates substitutes an alternate template for one or more categories. There are three types

of category template substitution. Test templates can replace existing templates in the following situations:

• Replace the category template in all categories. For example, if your site had a Chairs category and a Desks

category that used the same template, group members could see the new template for both the Chairs and

Desks categories.

• Replace the category template only in selected categories. For example, if your site had a Chairs category

and a Desks category, group members could see the new template for only the Chairs category. The Desks

category would use the normal category template.

• Replace a category template in all or some categories that use a specific template. For example, a site that has

a Chairs category and a Desks category may have category templates that represent decorating style. One

template may be used for all Chairs and Desks that are Modern, while a different template would be used for

all Country Chairs and Desks. Substitution can occur for all categories that use the Modern template (Chairs

and Tables) or for one category that uses it (Modern Chairs).

Follow these steps to set up a test element to test an alternate category template.

1. Create a new test or edit an existing test. See Creating a New Test (page 79) or Editing Tests (page 90)

for more information.

2. Select the Test Groups tab and set up the test groups for the test. See Defining Test Groups (page 82) for

more information.

3. Click the New Element button in the test group that you want to test.

4. Select Category Template and click Next. The New Category Template window opens

5. Select the template and catalog that you want to use in the test and click Next. The New Template Usage

window opens.

6. Select one of the following:

• Test new template with all categories: Select this option and click Finish to replace all category templates

with the specified test template.

• Test new template in specific categories: Select this option and click Next to view the Select Categories

window:

The Select Categories window allows you to select specific categories in which to test the new template

or to exclude specific categories. Search for the categories and use the > icon to add the categories to the

Selected Categories box. Click Finish when complete.

Note: If you are using an Oracle or DB2 database, no categories that meet your criteria may appear when

you click Search. To resolve this issue, override the useFullTextSearch property in the /atg/abtest/

web/commerce/element/template/

CategorySearchFormHandler.properties component. Set the property to false.

• Use new template to replace existing template in all or some categories: Select this option and click Next to

view the Replace Template window.

The Replace Template window allows you to select a specific template to replace with the selected test

template. You can set the template to replace across all categories, you can set specific categories, or you can

exclude certain categories.

Page 93: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

4 Creating a Test 87

After finishing the test element, you can add another element to the test group, preview the test group or

start the test. See Previewing Tests (page 89) and Completing and Deploying Tests (page 91) for more

information.

Testing Product Templates

Product-Template testing substitutes an alternate template for one or more products. There are four types of

product template substitutions. Test templates can replace normal templates in the following situations:

• Replace the product template for all products. For example, if your site had a Beanbag Chair product and a

Recliner product, group members could see the new template for both the Beanbag Chair and the Recliner.

• Replace the product template for all products in selected categories. For example, if your site had a Casual

Furniture category and a Kids Furniture category, group members could see the test template when they

viewed any product in the Casual Furniture category. Products in the Kids Furniture category would use the

normal product template.

• Replace the product template only for specific products. For example, if your site had a Beanbag Chair

product and a Recliner product that both used the same product template, group members could see the

new template when they viewed the Beanbag chair. The Recliner would use the normal product template.

• Replace the product template whenever it is used for all products or for products in specific categories. For

example, if your site had a Chairs category that included some products that use the Blue template and some

products that use the Green template, group members could see the test template when viewing products

in the Chairs category using the Blue template. Substitution would not occur for the products in the Chairs

category that use the Green template or for products not in the Chairs category, even if they use the Blue

template.

Follow these steps to set up a test element to test alternate product template.

1. Create a new test or edit an existing test. See Creating a New Test (page 79) or Editing Tests (page 90)

for more information.

2. Select the Test Groups tab and set up the test groups for the test. See Defining Test Groups (page 82) for

more information.

3. Click the New Element button in the test group that you want to test.

4. Select Product Template and click Next. The New Product Template window opens

5. Select the template and catalog that you want to use in the test and click Next. The New Template Usage

window opens.

6. Select one of the following:

• Test new template with all products: Select this option and click Finish to replace all product templates with

the specified test template.

• Test new template with all products in specific categories: Select this option and click Next to view the Select

Categories window.

The Select Categories window allows you to select specific categories in which to replace the product

template or to exclude selected categories from the test. Search for the categories and use the > icon to

add the categories to the Selected Categories box. Click Finish when complete.

Note: If you are using an Oracle or DB2 database, no categories that meet your criteria may appear when

you click Search. To resolve this issue, override the useFullTextSearch property in the /atg/abtest/

web/commerce/element/template/

Page 94: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

88 4 Creating a Test

ProductSearchFormHandler.properties component. Set the property to false.

• Test new template with individual products: Select this option and click Next to view the Select Product

window:

The Select Products window allows you to select specific products in which to replace the new product

template. You can also select products to exclude from the test. Search for the products and use the > icon

to add the products to the Selected Products box. Click Finish when complete.

• Use new template to replace existing template in all or some categories: Select this option and click Next to

view the Replace Template window.

The Replace Template window allows you to select a specific product template to replace only in specific

categories. You can set the template to replace across all categories, you can set specific categories, or you can

exclude certain categories. Search for the categories and use the > icon to add the categories to the Selected

Categories box. Click Finish when complete.

After finishing the test element, you can add another element to the test group, preview the test group or

start the test. See Previewing Tests (page 89) and Completing and Deploying Tests (page 91) for more

information.

Testing Promotions

You can test new promotions by creating a test that grants promotions to users when set conditions are met. For

example, test participants could receive a promotion when they visit a specific page.

Note: If a customer is a member of a test group that is set to receive a promotion, the customer will not receive

the promotion if it is a single use promotion that has already been used by the customer. For more information

on promotions, see the ATG Commerce Guide to Setting Up a Store.

Follow these steps to set up a test element for promotion testing.

1. Create a new test or edit an existing test. See Creating a New Test (page 79) or Editing Tests (page 90)

for more information.

2. Select the Test Groups tab and set up the test groups for the test. See Defining Test Groups (page 82) for

more information.

3. Click the New Element button in the test group that you want to test.

4. Select Promotion and click Next. The Select Promotion window opens.

5. Select the promotion that you want to test and click Next. The Select Promotion Trigger window opens.

6. Select one of the following and click Finish:

• Grant promotion when user registers: Select this option to grant the specified promotion when a new user

registers.

• Grant promotion when user logs in: Select this option to grant the specified promotion every time a user

logs in.

• Grant promotion when user views the following page: Select this option to grant the specified promotion

when the selected page is viewed.

After finishing the test element, you can add another element to the test group, preview the test group or

start the test. See Previewing Tests (page 89) and Completing and Deploying Tests (page 91) for more

information.

Page 95: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

4 Creating a Test 89

Copying Test Elements

Copying test elements is an easy way to configure several test groups that test the same element with different

substitution choices. You can copy a test element into different test groups and then edit the substitution

selection. Follow these steps to copy test elements between test groups.

1. Create a new test or edit an existing test. See Creating a New Test (page 79) or Editing Tests (page 90)

for more information.

2. Open the Test Groups tab.

3. Click the Copy Elements From… button at the bottom of the test group into which you want to copy

elements. The Copy Test Elements box opens.

4. Select the name of the test group that contains the test elements you want to copy and click OK.

All the test elements from the selected group are copied into the current group.

Note: If you do not want to use all the test elements, you can delete unwanted elements by clicking the X icon

next to the test element name.

Previewing Tests

ATG Campaign Optimizer provides a Preview feature that you can use before you deploy the test to see how the

web sites will look to a visitor with a specified user profile. The Preview feature allows you to see the effect of

changes to a test that you are editing in an active project.

Notes:

• Preview functionality must be set up by your administrator. If the Preview button is inactive, talk to your

administrator about enabling preview.

• Using Preview is not the same as walking through a test. It is recommended that you perform a full test of

your ATG Campaign Optimizer test in a development or staging environment before using it in a production

site.

• Preview does not perform logging, so reports will not be generated as a result of any actions performed in the

preview.

• You cannot preview all types of promotional elements. This restriction exists because you must be logged in

to access preview, so you cannot preview promotions that are granted at login or registration.

• Preview does not demonstrate how the test will affect site performance.

Previewing a Test

Follow these steps to preview a test.

1. Edit the test and open the Test Groups tab.

2. Click the Preview button for the test group whose test elements you want to preview.

Page 96: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

90 4 Creating a Test

3. Select a Preview User, whose profile you will use to view the page.

4. In a multisite environment, if you specified that the test should run on all sites, select a Site on which to

preview the test.

If you specified that the test should run on only one site, the test is automatically previewed on that site.

5. Select the desired preview URL (if more than one is available).

Note: If a System Default Preview URL or a Test Default URL is set, these URLs will be listed as choices on this

screen.

6. Click OK.

A countdown screen displays while the preview loads. It can take up to a minute for the preview to load.

When the countdown is complete, a new browser window opens and displays the specified URL, with the test

elements running.

7. End the Preview by returning to the ATG Campaign Optimizer UI and clicking End Preview.

Editing Tests

If you have the appropriate permissions, you can edit any aspect of a test whose Author task is active.

To access a test for editing:

1. Display the Business Control Center Home page.

2. Locate the test in the To Do list, expand the entry, and click Author or Review (depending on which task is

active). The Basic Info tab for the selected test is displayed.

Alternatively, click the View Tests button and then select the name of the test to edit. Click the Edit button to

open the test for editing.

Note: If the test status is completed, the Edit button will not be active.

Copying Tests

Copying a test is a convenient way to create a new test based on an existing test.

Follow these steps to copy a test.

1. Click View Tests to view a list of all tests.

2. Select the test that you want to copy.

3. Click Copy.

4. Enter a new test name for the copy of the test and click OK.

A new test is created with all the values of the existing test.

Page 97: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

4 Creating a Test 91

If the new test has a start date that is in the past, remember to edit the date before deploying.

Deleting Tests

To delete a test, you delete the project that contains the test. You can delete only active projects—that is,

projects whose deployment task is still pending. When you delete an active project, the system deletes from

the database the project and all objects associated with it, including the Results report. All working versions of

project assets are discarded.

To delete a test, you must be the owner of its project’s current task, or the task must be unassigned.

To delete a test in an active project:

1. Navigate to the project’s Tasks tab.

2. From the Select Action drop-down list, choose Delete Project.

3. Click Go.

4. A confirmation dialog appears.

Note: The deletion is irreversible, and all working versions of the project assets are also removed from the

system.

5. Click OK.

Completing and Deploying Tests

When you have finished creating a test, you must typically submit it for review before it can be deployed to your

staging or production server. The test starts running as soon as the deployment is complete (unless the test

includes a start date, in which case the test starts after it has been deployed and when the start date has been

reached).

Notes:

• The tasks and outcomes described in the following sections are included in the default ATG Campaign

Optimizer workflow. The actions may vary if the workflow has been customized for your installation. For

example, your environment may include multiple reviews or no Content Review task.

• A task is accessible to any user who belongs to its owner pool. Depending on how your ATG Campaign

Optimizer environment has been configured, the people who can create a test may not have permission

to approve or deploy it. For details about task ownership, see Using ATG Campaign Optimizer Projects (page

99).

To indicate that the test is ready for review, complete the following steps:

1. Select Ready for Review from the Task Actions list at the top of the test page.

2. Click Go.

Page 98: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

92 4 Creating a Test

3. (Optional) In the Confirmation dialog box, enter a note about the test. This note appears on the History page

for this test.

Note: After you submit this note, you cannot delete it or edit its contents.

4. Click OK.

The steps you complete to deploy the test depend on whether your environment includes a staging server.

Deploying to Staging and Production Servers

The image below shows the tasks that make up the deployment stages for a test if your ATG Campaign

Optimizer environment includes both a staging server and a production server.

After you have completed the Author and Content Review tasks, complete the following steps to deploy the test.

1. From the To Do list in the ATG Business Control Center Home page, click the Go to Project link for this test. The

test’s Tasks tab is displayed.

2. Complete the Approve for Staging Deployment task by selecting one of the following options:

• Approve and Deploy to Staging: Generates the internal elements that represent the test, and initiates

deployment to the staging server.

• Approve for Staging Deployment: Generates the test but does not initiate deployment. Progress through

the workflow is interrupted, and the test must be deployed manually through the Admin Console in ATG

Content Administration. For more information, refer to the ATG Content Administration Programming Guide.

• Reject Staging Deployment. The workflow returns the project to the Author stage so the test can be edited

again.

3. The next task, Wait for Staging Deployment Completion, requires no user action unless it fails. If a failure does

occur, the workflow reverts to the beginning of the Approve for Staging Deployment task, and you must

attempt to approve the test for deployment again.

Otherwise, when ATG Campaign Optimizer determines that deployment to the staging server is complete,

the next task, Approve for Production Deployment, becomes active in the Tasks tab. Note that you may have

to refresh the page to see that the next task is active.

Page 99: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

4 Creating a Test 93

4. Complete the Approve for Production Deployment task by selecting one of the following options:

• Approve and Deploy to Production: Initiates deployment to the production server.

• Approve for Production Deployment: Does not initiate deployment. Progress through the workflow

is interrupted, and the test must be deployed manually through the Admin Console in ATG Content

Administration. For more information, refer to the ATG Content Administration Programming Guide.

• Reject Production Deployment. The workflow engine removes the deployment from the staging server and

returns the project to the Author stage so the test can be edited again.

5. If you selected Reject Production Deployment, the Wait for Revert to Complete task becomes active. Again,

this task requires no user action unless it fails. If a failure does occur, the workflow reverts to the beginning of

the Approve for Production Deployment task, and you must reject the deployment again.

6. The final task, Wait for Production Deployment Completion, also requires no user action unless it fails. If

a failure does occur, the Approve for Production Deployment task becomes active again, and you must

approve the test for deployment again. Otherwise, the system checks the test’s assets into the ATG Content

Administration versioning system and changes the project’s status to Complete.

Deploying to a Production Server

The image below shows the tasks that make up the deployment stages for a test if your ATG Campaign

Optimizer environment includes just a production server.

After you have completed the Author and Content Review tasks, complete the following steps to deploy the test.

1. From the To Do list in the Business Control Center Home page, click the Go to Project link for this test. The

test’s Tasks tab is displayed.

2. Complete the Approve for Production Deployment task by selecting one of the following options:

• Approve and Deploy to Production: Generates the internal elements that represent the test and initiates

deployment to the production server.

• Approve for Production Deployment: Generates the test but does not initiate deployment. Progress

through the workflow is interrupted, and the test must be deployed manually through the Admin Console

in ATG Content Administration. For more information, refer to the ATG Content Administration Programming

Guide.

• Reject Production Deployment. The workflow returns the project to the Author stage so the test can be

edited again.

3. The final task, Wait for Production Deployment Completion, requires no user action unless it fails. If a failure

does occur, the Approve for Production Deployment task becomes active again, and you must approve the

Page 100: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

94 4 Creating a Test

test for deployment again. Otherwise, the system checks the test’s assets into the ATG Content Administration

versioning system and changes the project’s status to Complete.

Ending Tests

You can stop a test in the following ways:

• Manually stop the test

• Specify an end date and time when the test automatically stops

Follow these steps to end the test manually.

1. From the To Do list in the ATG Business Control Center Home page, click the Go to Project link for this test. The

test’s Tasks tab is displayed.

2. Select Revert Assets on Production Immediately from the Verify Staging Deployment task.

3. Select the test from the View Tests window to open it.

4. Click Edit.

5. Select Disable to disable the test.

Follow these steps to end a test at a set date and time. You can set an end date and time while the project is in

the Author stage. To change the existing end date and time, you must first revert the assets as specified in the

previous procedure.

1. Select the test from the View Tests window to open it.

2. Click Edit.

3. Click the Date option in the End section of the Basic Info tab.

4. Enter a date and time to end the test.

5. Click View Summary.

Viewing Test Results

Test results can be viewed while a test is running and after the test is complete. By default, test results are

generated once a day. For information on how system administrators can change these settings and others

related to reports, see the Running the Report Generator Service (page 22) section.

Follow these steps to view test results:

1. Select the name of the test from the View Tests window. The test opens.

2. Click the Results tab. The Results tab displays the latest test results.

Page 101: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

4 Creating a Test 95

The data in the Results tab is listed by group. Each group listing contains the following columns:

• The Results column displays the raw results of the test for the group.

• The % Results column displays the percentage that the Results column for this group represents of the total

results for all groups.

• The % Change column displays the difference between the Control group results and a non-Control group’s

results.

The following table describes the data returned in the rows of the Results tab.

Result Description

Participants The number of users that were part of a test group while the test was running. If

your sample group is small, this number might differ slightly from the percentages

assigned to each group.

Sessions The number of separate sessions started by group members

Test Content Viewed The number of times group members viewed content that was part of the test.

Page 102: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

96 4 Creating a Test

Result Description

Total Pages Viewed The total number of pages viewed by group members during the test.

ATG Campaign Optimizer for Commerce customers see the following rows as well:

Result Description

Items Added to Cart The number of items added to shopping carts by group members during the test.

Total Orders The total number of orders placed by group members during the test.

Items Ordered The total number of items ordered by group members during the test.

Avg Items per Order The average number of items in each order placed by group members during the

test. This number is calculated by dividing Items Ordered by Total orders.

Total Value The total value of all orders placed by group members during the test.

Avg Value per Order The average value of each order placed during the test by group members. This

number is calculated by dividing Total Value by Total Orders.

Avg Value per Item The average value of each item placed during the test by group members. This

number is calculated by dividing Total Value by Items Ordered.

Conversion The conversion rate for group members. This number is calculated by dividing the

number of sessions in which an order was placed by group members by the total

number of group member sessions.

Total Persistent Orders

Abandoned

The total number of orders that were abandoned by registered users. An order is

considered abandoned if it is not placed within a specified time.

Total Persistent Value

Abandoned

The total monetary value of all orders that were abandoned by registered users. An

order is considered abandoned if it is not placed within a specified time.

Avg Value per

Abandoned Persistent

Order

The average monetary value of the items in abandoned, persistent orders. An

abandoned persistent order is an order created by a registered user that isn’t

placed within a specified time period.

Total Transient Orders

Abandoned

The total number of orders that were abandoned by transient users. These orders

were created by anonymous users (not logged in) and never placed.

Total Transient Value

Abandoned

The total monetary value of all orders that were abandoned by transient users.

These orders were created by anonymous users (not logged in) and never placed.

Avg Value per

Abandoned Transient

Order

The average monetary value of the items in abandoned, transient orders. An

abandoned transient order is an order created by an anonymous user (not logged

in) that is never placed.

Page 103: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

4 Creating a Test 97

For more information about abandoned orders, see the Using Abandoned Order Services chapter of the ATG

Commerce Programming Guide.

Page 104: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

98 4 Creating a Test

Page 105: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

5 Using ATG Campaign Optimizer Projects 99

5 Using ATG Campaign Optimizer

Projects

Projects are an ATG Business Control Center mechanism for managing the tasks and assets involved in creating

and deploying Web content for a variety of ATG applications. Each project is associated with an underlying

workflow that defines the tasks necessary to complete the project. Typically, a project starts with an authoring

task, progresses to an approval phase where the content is reviewed, and ends with deployment to the

customer-facing web sites. The tasks involved in a project can be carried out by different people over a period of

time.

ATG Campaign Optimizer tests are instances of projects. When you create a new test, you use the project

interface, although you do so transparently – the Basic Info, Participants, and Groups tab for tests, for example,

work on top of the underlying project. However, you do have to access the project interface directly if you want

to do any of the following:

• Edit a deployed or running test

• Stop or delete a test

• View all the tasks associated with an ATG Campaign Optimizer project

• View a list of the project’s assets

• View the notes associated with a project (its history)

This chapter explains how to work with these items in the context of a project. For more general information

about projects and the ATG Business Control Center, refer to the ATG Content Administration Guide for Business

Users.

Displaying the Project Tabs

To display the project tabs for a test:

1. Display the Business Control Center Home page and locate the item in the To Do list. For details, see

Accessing the ATG Campaign Optimizer User Interface (page 71)

2. Click Go to Project.

The four project tabs are described in the sections that follow:

Page 106: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

100 5 Using ATG Campaign Optimizer Projects

• Tasks Tab (page 100)

• Assets Tab (page 101)

• History Tab (page 102)

• Lock Conflicts Tab (page 102)

Tasks Tab

The Tasks tab for an ATG Campaign Optimizer project is shown in the image below.

The Tasks tab shows you all the tasks associated with the project.

You can assign tasks to yourself or to other users depending on the permissions you have been granted. You can

complete any task that is assigned to you or that is marked as unassigned.

The Modify/Delete tasks at the top of the display become active only when the test has been deployed. For

information on using them to edit or delete a test, see Editing Tests (page 90).

The set of tasks in the bottom half of the display represents the tasks that make up the creation phase of the

project; the default tasks for a test are as follows:

• Author

• Content Review

• Wait for Production Deployment Completion

• Revert Failed Deployment

Page 107: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

5 Using ATG Campaign Optimizer Projects 101

• Wait for Production Revert Deployment Completion

For the current task, the Actions column contains options that represent the possible outcomes of the task. The

following image shows the Actions options for the Author task:

Selecting an action typically moves the project to the next task in the workflow. For example, selecting Ready for

Review for the Author task activates the Content Review task.

Note that the Wait for… tasks and the Revert Failed Deployment tasks represent stages in the workflow

where you wait for the system to complete the specified activity. You cannot take any action until the stage is

complete, so no dropdown menu appears for these tasks in the Actions column. For more information on these

tasks, refer to the ATG Content Administration Guide for Business Users.

Assets Tab

The Assets Tab displays all the assets that are included in your test, such as groups, page fragments, images,

segments, and folders. Although you do not add folders to a test explicitly, any folder associated with other test

assets is automatically added to the project so it can be deployed.

The following image shows the Assets tab with some sample data:

The base and current version numbers show which version of the asset has been added to the project. ATG

Content Administration uses the version numbers to track an asset’s editing history and to ensure that the latest

version of any asset is always available for editing. For detailed information on assets and version numbering,

see the section Creating and Managing Assets in the ATG Content Administration Guide for Business Users.

Page 108: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

102 5 Using ATG Campaign Optimizer Projects

History Tab

The History tab displays information showing when the project was created and when each task was completed,

with any user- or system-defined notes associated with task completion. Notes cannot be edited or removed

from a project once they are added.

For each entry, the following information appears:

• The name of the person who performed the action

• The date and time that the action occurred

• The name of the action. The text is the display name of the workflow element associated with this action.

To create a new entry, click Add Note, and then enter the note text.

Lock Conflicts Tab

When a project is in the deployment stage of a workflow, its assets are locked, and they remain locked until

the project is checked in by the system, which occurs when deployment is complete. During that time, other

projects cannot deploy those assets. If you attempt to deploy an ATG Campaign Optimizer project and receive

asset lock errors, you can use the Lock Conflicts tab to view a list of all the projects that are holding assets locks

for any of the assets in the current project. For more information, refer to the ATG Content Administration Guide

for Business Users.

Not all asset conflicts can be detected by ATG Campaign Optimizer. In cases where an asset is edited or deleted

by another ATG application’s project, and that asset is referenced by ATG Campaign Optimizer, it may be

possible to advance the test through all deployment stages without having the conflict be detected.

Page 109: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

5 Using ATG Campaign Optimizer Projects 103

You can determine which assets are locked in two ways:

• Download an Excel file of all blocking assets.

• Click View Locked Assets. This displays the Locked Assets tab of the deploying project, which lists the assets

that are locked against other projects

Page 110: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

104 5 Using ATG Campaign Optimizer Projects

Page 111: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

6 Customizing Metrics for ATG Campaign Optimizer Tests 105

6 Customizing Metrics for ATG

Campaign Optimizer Tests

ATG Campaign Optimizer allows you to set up tests that capture information about the following activities:

• Pages viewed by a user

• Particular items on a page viewed by a user

• Products added to a shopping cart by a user

• Purchases made by a user

These tests gather information into reporting statistics used to judge the efficacy of your site design as

compared to alternative designs. For a complete listing of the kinds of tests you can create with ATG Campaign

Optimizer, see ATG Campaign Optimizer Use Cases (page 77).

You may want to create tests that evaluate other parts of your site or different user experiences. For example,

you might want to determine the number of transient users who view an advertisement and register for the site

as compared to transient users who don’t view the advertisement. Any part of your site can be incorporated into

a ATG Campaign Optimizer test as long as you design resources to collect metrics about it. A metric is a statistic

produced by a test that appears in the ATG Campaign Optimizer reporting Results tab.

This chapter describes to site administrators how to create custom metrics for new or existing tests. Business

users should decide the metrics that they want to see in reports and site administrators should use this chapter

to learn how to implement them.

When you are adding metrics, you need to do the following in this order:

1. Create or modify your metric as described in this chapter. See Metrics Checklist (page 107) for a specific

outline of the tasks you need to complete.

2. Re-assemble an application that includes the reporting, management, and runtime modules in order to

make your custom metric available. Deploy the application, then start it.

3. As you would with any test, create a test, preview it and deploy it. See Creating a New Test (page 79) and

Previewing Tests (page 89).

Page 112: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

106 6 Customizing Metrics for ATG Campaign Optimizer Tests

How ATG Campaign Optimizer Creates Reports

When you create a test, you identify alternate versions of a site content, each of which is displayed to a different

group of users. When users interact with the site, information about their activity is logged to the database.

Logged data is later computed into reports and displayed as metrics in the ATG Campaign Optimizer Results tab.

ATG Campaign Optimizer creates a scenario that implements your test. The scenario incorporates information

from metric handler components to decide what activities to log. Periodically, the Report Generator Service

detects which tests are active and compiles logged data from them into reports. The Report Generator Service

refers to metric handler components to determine, for a given log, the data to compute and the database tables

in which to store the resultant values.

The Report Generator Service runs independently from the ATG Campaign Optimizer runtime module, which

allows it to reside on a separate server. The Report Generator Service compiles reporting data at intervals in

order to distribute the performance impact. When the Report Generator Service calculates reporting data,

it computes values based on logged data. Subsequent Report Generator Service invocations compute new

reporting values using new logged data and combine the new values with the computed values from earlier

invocations.

When users want to view reports about a test, they navigate to the test in ATG Campaign Optimizer and display

the Results tab. The Results tab JSP consults a list of metric info components to determine what metrics to

display. The metric info components also identify resource bundles that provide display names for those metrics.

Most values for metrics are supplied by the Report Generator Service. Other values are computed on the fly by a

report property mapper.

Designing Metrics

When you want to gather data about a site activity, you design a metric. You can think of a metric as the statistic

you want produced from a test that’s used in a report. A test can produce one metric or several metrics. For

example, consider a test that provides two different Refer a Friend forms to users. Users are divided into two

groups based on the Refer a friend page they are shown. The goal of this test is to see if one form entices users

to refer more friends as judged by the number of form submissions. This test would produce two metrics:

• The total number of users who refer a friend organized by group.

• The average number of friends referred by a person organized by group.

Each metric needs three pieces of information defined for it: an event, logging data, and reporting data.

When you are creating a metric, consider what event you want ATG Campaign Optimizer to watch and extract

information from. For example, tracking user registrations would involve a Registration event. A custom

metric can involve any event, such as an event you need to create yourself or have created previously for use in

ATG Scenarios. It may also involve existing events that are not currently used for metrics. Using any such events

requires you to create custom metrics.

Logging resources describe what information generated from the test should be saved and later, evaluated into

metrics. Some of this data can describe the users in your test, such as their profile and participation group IDs.

Other information can be generated from an event itself, such as the amount of a user’s order. The log holds raw

data about every user involved in a test.

The reporting mechanism manipulates the log data, which usually involves adding up some number of rows

in a table or adding the values in certain columns in the logging database table, and displaying the results in

Page 113: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

6 Customizing Metrics for ATG Campaign Optimizer Tests 107

the Results tab of the ATG Campaign Optimizer user interface. One metric reports how many users participated

in the test, broken down by group. Another more complicated metric might describe how many users in each

group registered for the site. Although these examples use some of the same data, such as the group ID and

profile IDs, the way they are tallied by the ReportGeneratorService produce different results, each one its

own metric.

Metrics Checklist

This chapter is written for users who want to create new metrics or want to add additional reporting

functionality to existing events. Here’s a check list of tasks that you need to complete when you are working

with custom metrics and cross references to procedures that walk you through these tasks.

To create a new metric:

1. If your metric requires a new event, create it now by following instructions provided in the Adding Custom

Events section of the ATG Personalization Programming Guide for instructions. Otherwise, skip this step.

2. Create a new item descriptor and database table for logging data. See Adding New Logging Content to a

Repository and Database (page 108).

3. Add new properties to an existing reporting item descriptor for your metric . Also add new columns to the

existing reporting table or a new reporting table. See Adding New Reporting Content to a Repository and

Database (page 110).

4. Add a report display label to your resource bundle. Create a new resource bundle, if necessary. See Defining

Resource Bundles (page 111).

5. Create a data collection object, mapper, dataset, and queue. See Creating Recording Devices (page 111).

6. Configure a metric handler component to define logging and evaluate log data for your metric. If you are

using an event that already has a metric handler component, configure that one. Otherwise, create a new

metric handler component and configure it to create your metric. See Creating a Metric Handler (page 112).

7. If your metric requires computations that involve data from more than one metric handler component to

compile the report, extend the report property mapper. See Extending the Report Property Mapper (page

118).

8. Configure a Metric info component. If you created a new resource bundle, create a new Metric info

component. See Configuring a Metric Info Component (page 119).

9. Configure other components to use your metric handler and Metric info components. See Directing

Components to Use Your Logging and Reporting Resources (page 120).

To add metrics for an event that is already used in tests:

1. Add new properties to an existing logging item descriptor for your metric and add new columns to the

existing logging database table. See Adding New Logging Content to a Repository and Database (page

108).

2. Add new properties to an existing reporting item descriptor for your metric . Also add new columns to the

existing reporting table or a new reporting table. See Adding New Reporting Content to a Repository and

Database (page 110).

Page 114: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

108 6 Customizing Metrics for ATG Campaign Optimizer Tests

3. Create a new resource bundle and add a report display label to it. See Defining Resource Bundles (page

111).

4. Copy the existing mapper file used by the event from the /atg/registry/data/mapper directory and

add data-listener tags to support the new metric. Add the mapper file to your configuration layer so that it

overrides the existing mapper file. If you don’t have one, add it to the <ATG10dir>/home/localconfig/

atg/registry/data/mapper directory . For information on mappers, see the Mapper XML Definition

Language of the ATG Personalization Programming Guide.

5. Update the properties in the metric handler component that are relevant for your metric. For a list of metric

handler components, see Configuring Data Logging (page 20). You can find a description for the metric

handler properties in About MetricHandler (page 113).

6. If your metric requires computations that involve data from more than one metric handler component to

compile the report, extend the report property mapper. See Extending the Report Property Mapper (page

118).

7. Create a new metric info component and update it with information about your metric. See Configuring a

Metric Info Component (page 119).

8. Configure the Report Manager to use your metric info component. See Directing Components to Use Your

Logging and Reporting Resources (page 120).

Updating Your Repositories and Database

In order to use a metric in a test, you need to define where data gathered by the test will be stored. There are

two kinds of data generated by tests: raw log data produced by the recorders in the tests and report data that

result when log data is evaluated. To support your metric, you need to add or modify the item descriptors for the

logging and reporting repositories so that they map to new tables and columns in the database that you create

to hold test data.

You need to make adjustments to two repository definitions:

• /atg/abtest/reporting/ABTestLogRepository.xml (logging) and

• /atg/abtest/reporting/ABTestReportRepository.xml (reporting)

When you add properties to a repository, either by adding properties to an existing item descriptor or creating

a new item descriptor, you save your additions in an XML file. This file specifies the XML-combine tag and is

added to the CONFIGPATH so that it is appended to the parent repository definition file. For information about

repositories, see the ATG Repository Guide. To learn about XML-combine, see the XML File Combination section of

the ATG Platform Programming Guide.

You can find a list of all ATG Campaign Optimizer database tables in Appendix B, ATG Campaign Optimizer

Database Tables (page 41). For instructions on modifying your database configuration, see the documentation

provided from your database vendor.

Adding New Logging Content to a Repository and Database

To log additional data, you need to decide what kind of data you want to capture and how that data will be

stored.

Page 115: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

6 Customizing Metrics for ATG Campaign Optimizer Tests 109

Determining What Data to Log

You also need to decide what kind of data about the event you want to log. In a sense, you are defining the

building blocks for your metric by determining which data points to capture. Those data points will be used to

generate your metric. In order to track a data point, you need to add it to the appropriate item descriptor as a

property and define a column for it in the relevant database table.

There are some data that are common to most metrics, while other data is only applicable for certain ones.

Here’s a list of data that you should log:

• Time stamp: Capturing a time stamp identifies when a logged activity occurs. The Report Generator

Service requires you to log a time stamp for your test data. You may choose to have a primary key that’s a

combination of profile ID and timestamp, if this does not cause a delay in performance for your ATG instance.

The data type for time stamp should be timestamp in the item descriptor and database.

• Dataset: Every event needs a dataset in order to map the event that generates the data to the data in

the database. In rare cases, a log holds information about two datasets, each from a different event. The

Participant Assigned to a Test Group event uses two datasets to track each group it defines. The data type for

dataset should be string in the item descriptor and varchar(40) in the database.

• Group ID: All tests organize users into at least two groups: one that views the site as is (control group) and

one or more other groups, each of which represents a unique site experience. Creating groups allows you

to derive reliable statistics you can use to judge the efficacy of the parts of your site. You are required to log

a group ID. The data type for group ID should be string in the item descriptor and varchar(40) in the

database.

• Test ID: Providing a test ID is required by ATG Campaign Optimizer in order to derive meaningful statistic

about test results. The data type for test ID should be string in the item descriptor and varchar(40) in the

database.

• Profile ID: One way to identify the number of times a user passes through a test is to track each user’s ID. Other

benefits to gathering profile IDs is that it gives you access to the user’s profile so tests that log profile IDs can

provide a richer context about the test participants. You may choose to use a profile ID as part of a primary

key, if you are creating a new table for your metric. The data type for profile ID should be string in the item

descriptor and varchar(40) in the database.

• Currency code: Sites that support multiple locales need to record the currency used for monetary data.

Currency code captures the ISO 4127 currency code used for any currency values recorded for an event. The

data type for currency code should be string in the item descriptor and varchar(40) in the database.

Keep in mind that each column holding data that’s a number needing to be tallied in a report, such as

revenueOrdered, should be identified as such in the metric handler component. The metric handler

component includes the currencySumProperties, doubleSumProperties, and integerSumProperties

properties to identify each property used for a metric of the specified type. See About MetricHandler (page

113) for more information on these properties.

Where to Store Metric Data

Will you need a new item descriptor or can you add properties to an existing one? Do you need to create a new

table or can you add columns to an existing table? It depends on the metric you are working with.

When adding new metrics for existing events, you should add new properties to the existing log item descriptor

and add new columns to the existing log database for that table. For example, you may currently monitor user

page visits, but would like to also know the state of residence for those users. You can create a new property

for the pageVisitLogData item descriptor in ABTestLogRepository that defines state as a property,

information for which is stored in a new state column in the abl_page_visit database table. The resultant

Page 116: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

110 6 Customizing Metrics for ATG Campaign Optimizer Tests

report might calculate the number of page visits per user organized by state: 18 for Mississippi, 806 for Texas,

and so on.

For new metrics added to events that aren’t currently used by ATG Campaign Optimizer tests, you should create

a new log item descriptor and database table. A custom metric could track information about users who register

for a site. Information such as profile ID, group ID, test ID, and time stamp could be logged in a database table

called abl_registration with columns for holding profile, group, test, and time values. This database table,

like all tables that store logging data for ATG Campaign Optimizer tests, must be accessible by the runtime and

reporting modules and should define an index for the test_id column. The corresponding item descriptor,

called RegistrationLogData, would define the four pieces of information as properties. In such cases, you

would also need to create a dataset, data collection object, queue, and mapper for your metric. See Creating

Recording Devices (page 111) for instructions.

Ensuring Optimal Performance

Every item descriptor defined in ABTestLogRepository.xml should use the following attribute in order to

avoid performance degradation in the ReportGeneratorService:

<attribute name="defaultUncachedItemQueries" value="true"/>

Adding New Reporting Content to a Repository and Database

Metric are values created by computing values in the log database tables and storing those values in the

reporting database tables. You need to define reporting resources that hold these computed values.

Once you have determined the metrics you want to display in the ATG Campaign Optimizer Results tab, you can

define properties/database columns that hold the relevant data. There are three pieces of data that must exist as

reporting properties/columns:

1. The group ID associates the logging and reporting data together so it must be represented in both the

logging and reporting data structures. The group ID is already defined in the reporting schema, so you only

need to add this column if you are creating a new reporting table.

2. The ABTestReportRepository has an item descriptor called testReportGroup that holds properties that

require some simple mathematical computation, such as addition or subtraction. For example, number of

users is represented as a property here. Be sure to add a property for your metric in the testReportGroup

item descriptor and provide a corresponding database column.

3. Each custom metric should append a property or several properties to an item descriptor in

ABTestReportRepository. It’s a good idea to hold all data for a test group in one auxiliary database

table for optimal ReportGeneratorService performance, but you can use multiple tables if that’s more

convenient. The reporting database table must be accessible by the management and reporting modules.

You may find that your metric requires computations that use data from multiple metric handlers. Use the report

property mapper to handle these computations and for others, such as those that calculate averages, that are

quick to compute. The report property mapper calculates its values when a user requests to view the Results tab

and discards these values afterwards. Although log data for such metrics is kept in the ABTestLogRepository,

the reporting data is not persistent and so it is not held in ABTestReportRepository.See Extending the

Report Property Mapper (page 118) for information.

For example, if you want to see a total number of times test users view a Member Benefits page, you would

define a property called MemeberBenefitsPageVisits in ABTestReportRepository testReportGroup

item descriptor and provide a similar column name to a database table that holds page visit information.

Similarly, MemeberBenefitsLog is added as a table to the logging database table and an item descriptor to

Page 117: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

6 Customizing Metrics for ATG Campaign Optimizer Tests 111

ABTestLogRepository. Each time a report is generated, a total count is calculated based on information in the

log database.

MemberBenefitsPageVisits holds a singular value, but you want to know how many times in total

a page is viewed. You need to indicate that some value needs to be tallied. To do this, you set the

metric handler generatedCountProperty property to the property the property you added to the

MemeberBenefitsPageVisits property in the testReportGroup item descriptor. The metric handler

component also provides properties for adding property values together. See About MetricHandler (page 113)

for more information.

Creating Additional Resources

You need to create resources that define how your metric is named in the ATG Campaign Optimizer user

interface. You also need to create recording devices that determine how your metric’s data is logged in the

database.

Defining Resource Bundles

You need to make your resource bundle reflect the appropriate naming for your metric. If your application does

not already have a resource bundle, create one now. You can use as many resource bundles as you like. If you

decide to use more than one resource bundle, it’s a good idea to keep all information for a given metric in the

same resource bundle and direct the metric handler and metric info components to use it.

1. In a resource bundle, set the segmentNameResourceKey key to a unique name that identifies your metric.

You will need to save this key to the metric handler segmentNameResourceKey property. Set the resource

value to the name that will represent the segment in scenarios that uses your metric.

2. In a resource bundle, add a testResults.rows.propertyName key where propertyName represents the

metric as it is defined in the ABTestReportRepository testReportGroup item descriptor. Add a key and

set this value to the label that will be displayed for the metric in the Results tab.

3. Add the resource bundle to the ATG CLASSPATH. For instructions, see the Application Module Manifest File

section of the ATG Platform Programming Guide.

Creating Recording Devices

To save data for your metric to the database, you need to create and configure components that collect the

data for logging (data collection object), minimize the performance impediment caused by committing data to

the database (queue), bundle data for an event (dataset), and map properties to database columns (mapper).

Every metric requires a unique instance of the four components. Although this section describes how to create

recording devices, you need not create the recorder itself because ATG Campaign Optimizer has already created

it for you. Follow these steps:

1. Create a data collection object by following the instructions in the Creating a New Data Collection Object

section of the ATG Personalization Programming Guide.

To view a data collection object (also called a logger) defined for an existing metric, navigate to /atg/

abtest/logging/ContentViewedSQLLogger in the ACC Pages and Components > Components by Path

task area.

Page 118: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

112 6 Customizing Metrics for ATG Campaign Optimizer Tests

2. Create a queue by following the instructions in the Queues section of the ATG Platform Programming Guide. Be

sure to set the datasetLogger property to your data collection object.

To view a queue defined for an existing metric, navigate to /atg/abtest/logging/

ContentViewedLoggerQueue in the ACC Pages and Components > Components by Path task area.

3. Create a dataset in <ATG10dir>\home\localconfig\atg\registry\data\datasets by following

the instructions in the Creating a New Dataset for a Custom Recorder section of the ATG Personalization

Programming Guide. When deciding how many events to store, consider that a larger portion ensures a more

representative sampling, but a smaller portion decreases the performance impact. In general, log all events

for metrics that are summed values and a smaller amount for metrics that are average values. Factors that

affect your decision include the frequency of logging, necessity of comprehensive data, and the length of

time your test runs (fewer overall test participants increases the significance of each participant’s results).

Note: The majority of metrics involve one dataset, but it may be necessary to create two if the table for a

metric holds two groups of data as is the case in the ParticipantAssignedToTestGroup metric. The goal

of this metric is to assign users into groups. Each dataset represents one group.

To view the raw XML for a dataset that is defined for an existing metric, unjar <ATG10dir>

\CampaignOptimizer10.1.2\ABTest\runtime\

config\config.jar and navigate to atg\registry\data\datasets\contentviewed.xml.

4. Create a mapper in <ATG10dir>\home\localconfig\atg\registry\data\mappers by following the

instructions in the Creating the New Mapper section of the ATG Personalization Programming Guide. Also, see

the Mapper XML Definition Language section in the same book for more information. Be sure to enclose the

path to the queue in the <data-listener> tags.

To view a mapper defined for an existing metric, unjar <ATG10dir>\CampaignOptimizer10.1.2\ABTest

\runtime\config\

config.jar and navigate to atg\registry\data\mappers\contentviewed.xml.

Defining Your Metric

Every metric involves an event representing some user activity, for which data is logged and later generated into

reports. ATG Campaign Optimizer relies on a metric handler component to describe the data logged for an event

and reporting logic used to evaluate it. For example, a metric handler listens for an event and designates the

dataset used to log information about it. The metric handler also identifies the log properties that hold integer,

double or monetary numbers, the sum of which need to be reflected in the Results tab.

Metrics that require values from more than one metric handler component are handled by the report property

mapper component, which produces temporary reporting values when the Results tab displays. The properties

defined in metric handler and report property mapper for calculating report data are represented in metric info,

the component responsible for specifying the items to display in the Results tab reports.

Creating a Metric Handler

Each event used in a test relies on a metric handler component to describe how the information generated

by the event is logged and compiled into reports. Because each event is unique, it has unique reporting and

logging requirements so there’s one metric handler component per event. Keep in mind that one metric handler

can represent multiple metrics, in fact all metrics that derive values from a given event should use the same

metric handler.

Page 119: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

6 Customizing Metrics for ATG Campaign Optimizer Tests 113

ATG Campaign Optimizer comes with several metric handler components by default. For a listing, see

Configuring Data Logging (page 20). If your metric uses an event that already has a metric handler, configure

that metric handler for your metric. Otherwise, create a new metric handler component and configure it

accordingly:

1. Create a metric handler component from one of the following classes:

• Use atg.abtest.metrics.MetricHandler for events when you want to limit those events limited by

conditions. A Register event is a good example of an event that doesn’t use conditions.

• Use atg.abtest.metrics.EventConditionMetricHandler for events (except Form Submission and

Page Visit) that use a condition. For example, a custom event that tracks how many people upgrade from a

free site membership to a paid site membership would use a Register event with an upgrade condition.

• Use atg.abtest.metrics.ConditionalFormSubmissionMetricHandler for Form Submission events

when you want to track the submissions of a specific form.

• Use atg.abtest.metrics.ConditionalPageVisitMetricHandler for Page Visit events when you

want to monitor visits to a specific page.

2. Configure the properties in your metric handler component provided by the MetricHandler class. See

About MetricHandler (page 113) for a list of properties.

3. For components that don’t implement the MetricHandler class directly, you need to configure class-specific

properties as well. See the section for your component’s class below.

About MetricHandler

The base class, atg.abtest.metrics.MetricHandler, determines the data that should be logged for a given

event. By default, it supports the tracking of data that is common to all tests, such as when a test starts and ends

as well as when new or transient users are assigned to a group.

ATG Campaign Optimizer comes with MetricHandler components, each of which facilitates reporting for a

different event type. When you create tests that use events supported by default, ATG Campaign Optimizer

automatically uses the appropriate metric handler component and configures it accordingly. For more

information about MetricHandler components, see Configuring Data Logging (page 20).

Use MetricHandler when your metric when the event it uses isn’t limited by a condition. Configure an instance

of MetricHandler with information that’s tailored to your event. Here’s a quick summary of properties by

subject matter:

• These properties are required: datasetPath, eventJMSType, logDataItemDescriptorName,

segmentNameResourceBundle, and segmentNameResourceKey.

• If you want to combine information about two datasets in the same log table, see datasetPropertyName

and subtractionDatasetPath.

• If you record monetary values for your event, see currencySumProperties,

logCurrencyCodePropertyName, reportCurrencyCodePropertyName, and targetCurrency.

• For other number values that require calculation, see doublesumProperties and integerSumProperties.

• If you want to count the number of times an event occurs, see generatedCountProperty,

uniqueCountGeneratedProperty, and uniqueCountLogProperty.

Note that this isn’t a complete list of properties supplied by MetricHandler, but rather a listing of properties

for which you are encouraged to supply values:

Page 120: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

114 6 Customizing Metrics for ATG Campaign Optimizer Tests

Property Description

currencySumProperties A map made up of the following:

- A key set to a currency property that needs to be

added up. This property you specify here is defined in the

logDataItemDescriptorName item descriptor of the

ABTestLogRepository.

- A value set to the ABTestReportRepository property that

holds, for the property specified in the key, the total amount

gathered for all users in a test group.

When you specify a value for this property, you need to

provide values to logCurrencyCodePropertyName,

reportCurrencyCodePropertyName, and targetCurrency.

datasetPath The path to the dataset used to log the particular event.

(Required)

datasetPropertyName The property in ABTestLogRepository that

identifies the datasets used by the item descriptor

in the logDataItemDescriptorName property.

You need to provide a value to this property only

if you specify generatedCountProperty or

uniqueCountGeneratedProperty.

doubleSumProperties A map made up of the following:

- A key set to a property of type double that needs to be

added up. This property you specify here is defined in the

logDataItemDescriptorName item descriptor of the

ABTestLogRepository.

- A value set to the ABTestReportRepository property that

holds, for the property specified in the key, the total for all

users in a test group.

eventJMSType The type of JMS event to be logged. (Required)

generatedCountProperty The property defined in the testReportGroup item

descriptor that will hold the total number of events of this type

logged for one test group.

When you provide a value to this property, you need to supply

a value to datasetPropertyName as well. If you use two

datasets and you want to subtract the results from one dataset,

add the name of the dataset you want to subtract to the

subtractionDatasetPath property.

Page 121: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

6 Customizing Metrics for ATG Campaign Optimizer Tests 115

Property Description

integerSumProperties A map made up of the following:

- A key set to a property of type integer that needs to

be added up. This property you specify here is defined in

the logDataItemDescriptorName item descriptor of the

ABTestLogRepository.

- A value set to the ABTestReportRepository property that

holds, for the property specified in the key, the total for all

users in a test group.

logCurrencyCodePropertyName The property in the ABTestLogRepository that holds the

ISO 4217 currency code for all currency values in this logged

entry.

logDataItemDescriptorName The item descriptor for the log that holds data about this

event. (Required)

recordEventAction The scenario action to use to record the event.

Omitting a value to this property causes the default,

recordABTestEvent, to be used.

renderLoggingAction A Boolean property that determines if a logging action

will be included in test scenarios. Omitting a value to this

property causes the default, true, to be used. See Turning off

Logging (page 21) for more details.

reportCurrencyCodePropertyName The property in the ABTestReportRepository that holds

the ISO 4217 currency code used for all currency values in the

report. The reportCurrencyCodePropertyName has the

same value as MetricHandler.targetCurrency.

segmentNameResourceBundle The resource bundle that specifies a segment name used in

scenarios that record this event. (Required)

segmentNameResourceKey The resource bundle segmentNameResourceKey key that

identifies the segment name that acts as a label for scenario

segments that record this event. (Required)

subtractionDatasetPath The property in the ABTestLogRepository that identifies a

dataset with log entries that should be subtracted from the

total set (identified in the datasetPath property). Set this

property only when you set generatedCountProperty.

targetCurrency The ISO 4217 currency code used for all report monetary values

computed by this metric handler.

Page 122: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

116 6 Customizing Metrics for ATG Campaign Optimizer Tests

Property Description

uniqueCountGeneratedProperty The property in the ABTestReportRepository that holds the

tally generated for the uniqueCountLogProperty value.

When you provide a value to this property, you need

to supply values to datasetPropertyName and

uniqueCountLogProperty.

uniqueCountLogProperty A property in the ABTestLogRepository for which ATG

Campaign Optimizer will tally the total number of unique

values. Use this property when you want a total count that

doesn’t involve all rows in the database. For example, to

determine how many times a user visited a page per session,

you’d set this property to session ID.

About EventConditionMetricHandler

The atg.abtest.metrics.EventConditionMetricHandler class extends the MetricHandler class to

allow you to define scenario conditions for your event. For example, rather than tracking the total number of

purchased orders with MetricHander, you can use EventConditionMetricHandler to monitor how often

users register for a certain kind of membership, such as free or paid. The EventConditionMetricHandler class

generates test scenarios that log data only when an event satisfies a condition you define.

To collect data for the event using EventConditionMetricHandler, create a component of this

class in the ACC and provide values to the base MetricHandler properties as well as to the following

EventConditionMetricHandler-specific properties:

Property Description

eventPropertyName A property for the event. Although an event may have several properties

available, EventConditionMetricHandler can handle one condition per

event. For example, the ProfileUpdate event contains old profile values and

new profile values, among other properties. This means you could define your

metric handler to log an event if a profile contains a certain value or is changed to

include a specific new one. (Required)

To locate the property name for standard ATG events, see the section for

your event in the Using Scenario Events chapter of the ATG Personalization

Programming Guide.

For commerce events, see Appendix C: ATG Commerce Messages of the ATG

Commerce Programming Guide.

constantType Data type for the value in constantValue. When no value is provided to this

property, the default, java.lang.String, is used.

constantValue The value that is compared to the property indicated in the eventPropetyName.

(Required if the operator specified in filterOperator is binary.)

Page 123: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

6 Customizing Metrics for ATG Campaign Optimizer Tests 117

Property Description

filterOperator The operator used to evaluate the event property value. (Required)

Options include the following: isNull, isNotNull, isTrue, isFalse,

eq (equals), ne (not equals), lt (less than), le (less than or equal

to), gt (greater than), ge (greater than or equal to), contains,

notContains, containsIgnoreCase, startsWith, notStartsWith,

startsWithIgnoreCase, notStartsWithIgnoreCase, endsWith,

notEndsWith, endsWithIgnoreCase, notEndsWithIgnoreCase, includes,

and notIncludes.

The operator is considered to be unary if it appears in the list defined in

unaryOperators. If you specify a unary operator, you shouldn’t specify a

constantValue or constantType.

unaryOperators An array of single operand operator strings used to evaluate the

constantValue. Options include: isNull, isNotNull, isTrue, and isFalse.

Set this property unless the condition you want to use is a custom, unary

condition. In this case, override the default values in this property by setting it to

your custom condition. This means that filterOperator and unaryOperators

will have the same value.

About ConditionalFormSubmissionMetricHandler

The atg.abtest.metrics.ConditionalFormSubmissionMetricHandler class extends

EventConditionMetricHandler to provide a preconfigured class for FormSubmission events. You should

use this class to configure logging and reporting when you want a test to record when a specific form page is

submitted.

Note: Pages that include the form need to be configured to generate events. See the Form Submission Event

section of the ATG Personalization Programming Guide for instructions.

When you use this class, create a component and define values for the relevant properties as described in About

MetricHandler (page 113). The only property provided by ContidionalFormSubmissionMetricHandler

that you need to set is constantValue. Set constantValue to the form name for which information will be

logged when it is submitted.

The following properties are provided with these default values:

Property Default Value

eventJMSType atg.das.FormSubmission

eventPropertyName formName

filterConstruct event-property-filter

filterOperator eq

Page 124: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

118 6 Customizing Metrics for ATG Campaign Optimizer Tests

About ConditionalPageVisitMetricHandler

The atg.abtest.metrics.ConditionalPageVisitMetricHandler class extends

EventConditionMetricHandler to support PageVisit events that use a condition. You should use this class

when you want visits to a particular page to be tracked (the particular page being the condition). ATG Campaign

Optimizer includes a MetricHandler component called PageVisitMetricHandler that supports PageVisit

events without conditions: it tracks the total number of pages viewed by test participants.

When you use this class, create a component and define values for the relevant properties as described in About

MetricHandler (page 113). The only property provided by ContidionalPageVisitMetricHandler that you

need to set is constantValue. Set constantValue to the form name for which information will be logged

when it is submitted.

The following properties are provided with these default values:

Property Default Value

eventJMSType Atg.dps.PageVisit

eventPropertyName scenarioPathInfo

filterOperator Eq

Extending the Report Property Mapper

Most computations are handled by a metric handler, the remainder are calculated by the report property

mapper. The report property mapper is able to compute values that involve more than one metric handler.

For example, to determine the average number of orders submitted per session, you rely on a metric handler

components to add up the total number of submitted orders (OrderSubmittedMetricHandler) and sessions

(SessionMetricHandler), and configure the report property mapper to divide the submitted order total by

the session total.

Unlike a metric handler, the report property mapper executes when a user requests the Results tab in the ATG

Campaign Optimizer UI. Be aware that complex computations may delay the Results tab display so design your

report property mapper to evaluate simple calculations in order to ensure optimal performance. The metrics

calculated by the report property mapper are not saved to the database and, therefore, are discarded after they

are generated.

Averages are a good example of computations that should be handled by a report property mapper, even when

averages involve values managed by one metric handler. It is more efficient to calculate averages when they

are needed because they are quick to compute so saving them to the database would consume more resources

than is worthwhile.

To modify the report property mapper to perform a calculation for your metric, complete the following tasks:

1. Extend the existing Property Mapper class by creating a subclass of

atg.abtest.web.reporting.PropertyMapper. If you are running ATG Commerce, subclass

atg.abtest.web.commerce.reporting.CommercePropertyMapper instead. Add your class to the

CLASSPATH.

2. Code your subclass to perform the necessary calculation. See Average Order Price Sample Code (page 119)

below.

3. Create a new properties file for the report property mapper component and include your new class as such:

Page 125: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

6 Customizing Metrics for ATG Campaign Optimizer Tests 119

$class=packageName.classNameUpdate

where packageName is the package and classNameUpdate is the class name.

4. Save your new properties file as <ATG10dir>/home/localconfig/atg/

abtest/web/reporting/PropertyMapper.properties.

Note: Be sure to add your property to the metric info component metricIds property so that it appears in the

report. See Configuring a Metric Info Component (page 119) for details.

Average Order Price Sample Code

Here’s the code used by ATG Campaign Optimizer for Commerce to implement the average order price metric.

This code accesses the price total (revenue) for all orders and the total number of orders. Then, it divides the

order total by the price total to produce the average revenue.

public Object getPropertyValue(RepositoryItem pItem, String pPropertyName) {

if (pPropertyName.equals("avgRevenuePerOrder")) {

// Average revenue per order = revenue ordered / orders

Double revenueOrdered = (Double) pItem.getPropertyValue("revenueOrdered"); Integer orders = (Integer) pItem.getPropertyValue("orders"); if (revenueOrdered == null || orders == null || orders.intValue() == 0) return null; return new Double(revenueOrdered.doubleValue() / orders.doubleValue());}else { return super.getPropertyValue(pItem, pPropertyName); } }}

Configuring a Metric Info Component

The atg.abtest.web.reporting.MetricInfo class determines how your metrics are displayed in the

Results tab. Create an instance of Metric info for each resource bundle you’ve created. There should be one

Metric info component for each resource bundle you use. Provide a value to the following metric info properties:

Property Description

resourceBundle The name of the resource bundle that holds resources associated with properties

listed in metricIds. Each item in the metricIds property uses a resource

bundle to provide a label that identifies the metric as a report in the Results tab.

See Defining Resource Bundles (page 111) for instructions.

metricIds The names of the properties defined in the ABTestReportRepository that

hold values you’d like displayed in the report. Also include property names

defined in the report property mapper for calculated values that should appear

in the report. The order in which items are included in this property indicates the

order they appear in the report.

Page 126: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

120 6 Customizing Metrics for ATG Campaign Optimizer Tests

Property Description

currencyMetricIds The subset of properties listed in the metricIds property that hold monetary

values. This property causes the appropriate currency symbol to appear in the

Results tab for values of the listed properties. The currency code specified in the

ABTestReportRepository determines the currency code symbol used here.

Directing Components to Use Your Logging and Reporting

Resources

To implement your custom metric, you need to register it with the following ATG Components:

1. To permit event logging for your metric in test scenarios, add the name of your metric handler component to

/atg/abtest/management/TestManager.metricHandlers.

2. To enable reporting for your metric, add the name of your metric handler component to /atg/abtest/

reporting/ReportGeneratorService.metricHandlers.

3. To define the reporting display in the Results tab of ATG Campaign Optimizer , add the name of your Metric

info component to /atg/abtest/web/reporting/ReportManager.metricInfos.

Page 127: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Index 121

Index

Symbols% Change, 95

% Participants, 74

% Results, 95

AA/B Test Ended, 37

A/B Test is ready for deployment, 37

A/B Test Participant Unassigned, 37

A/B Test session ended, 38

A/B Test that was previously considered ready for

deployment is now not ready for deployment, 37

A/B Test, definition, 75

abl_content_viewed, 51

Dataset, 52

date_time, 52

group_id, 52

profile_id, 52

session_id, 52

test_id, 52

abl_ended, 50

Dataset , 51

date_time, 51

test_id, 51

abl_item_added, 61

amount, 62

currency, 62

Dataset, 61

date_time, 62

group_id, 62

itemid, 62

ordered, 62

profile_id, 61

quantity, 62

Session_id, 62

test_id, 62

abl_order_abandon, 63

amount, 64

currency, 64

dataset, 63

date_time, 64

group_id, 64

orderid, 64

profile_id, 63

test_id, 64

abl_order_submit, 62

amount, 63

currency, 63

dataset, 62

date_time, 63

group_id, 63

item_qty, 63

orderid, 63

profile_id, 62

session_id, 63

test_id, 63

abl_page_visit , 49, 50

dataset, 50

date_time, 50

profile_id, 50

Session_id, 50

test_id, 50

url, 50

abl_session, 52

Dataset, 52

date_time, 52

group_id, 53

profile_id, 52

session_id, 52

test_id, 52

abl_started , 50

dataset , 50

date_time, 50

test_id, 50

abl_trnsnt_abandon, 64

amount, 65

currency, 65

dataset, 64

date_time, 64

group_id, 65

orderid, 64

profile_id, 64

session_id, 64

test_id, 65

abl_user_group, 51

Dataset, 51

date_time, 51

group_id, 51

profile_id, 51

session_id, 51

test_id, 51

abr_control, 53

Id, 54

Page 128: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

122 Index

last_report, 54

abr_dcs_rpt_group, 65

converted_sessions, 66

Currency, 66

group_id, 65

Order, 65

revenue_ordered, 65

units_added, 65

units_ordered, 65

abr_dcsabd_rpt_gr, 66

group_id, 66

orders_abandon, 66

revenue_abandon, 66

trainsient_abandon, 66

tran_rev_abandon, 66

abr_report, 54

last_modified_date, 54

test_id, 54

test_state, 54

abr_report_group, 54

content_views, 55

group_id, 54

page_views, 55

Sessions, 54

test_id, 54

Users, 54

abt_elct_ctgs, 67

category_id, 67

element_id, 67

sequence_num, 67

abt_elem_ctgy_tmp, 67

catalog_id, 67

element_id, 67

exclude, 67

new_template, 67

old_template, 67

abt_elem_page, 59

element_id, 59

new_url, 59

old_url, 59

abt_elem_pg_frag, 60

element_id, 60

new_url, 60

old_url, 60

request_url, 60

abt_elem_prod_tmp, 68

catalog_id, 68

element_id, 68

exclude, 68

new_template, 68

old_template, 68

abt_elem_promo, 69

element_id, 69

promotion_id, 69

trigger_param, 69

trigger_type, 69

abt_elem_rep_slot, 60

element_id, 60

slot, 60

Targeter, 60

abt_element, 58

Element_id, 58

Type, 58

abt_elpt_ctgs, 69

category_id, 69

element_id, 69

sequence_num, 69

abt_elpt_prds, 68

element_id, 68

product_id, 68

sequence_num, 69

abt_elrs_item, 60

element_id, 61

item_id, 61

sequence_num, 61

abt_group, 57

control, 58

description, 58

fixed_percentage, 58

group_id, 58

name, 58

Percentage, 58

abt_group_elem, 59

element_id, 59

group_id, 59

sequence_num, 59

abt_markers , 48

creation_date, 49

marker_data, 49

marker_id, 48

marker_key, 49

marker_type, 49

marker_value, 49

profile_id, 49

Version, 49

abt_preview, 53

id, 53, 53

preview_id, 53

scenario_name, 53

test_id, 53

abt_test, 56

creation_date, 57

description, 57

enabled, 56

end_date, 56

modification_date, 57

Page 129: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Index 123

modifier_id, 57, 57

name, 56

owner_id, 57

participants, 57

preview_url, 57

report_only, 57

scenario_path, 57

scenario_root, 57

start_date, 56

test_id, 56

test_state, 56

web_app, 57

abt_test_group, 58

group_id, 59

sequence_num, 59

test_id, 58

abt_track, 55

end_date, 55

modification_time, 55

scenario_name, 55

start_date, 55

test_id, 55

test_state, 55

ABTestReportRepository, 110

Add test items to slot, 38

Add user to test group, 38

amount, 62, 63, 64, 65

asset registries, 15

asset_id, 47, 48, 48

asset_type, 46

assets

adding to custom registries, 18

Assets tab, 101

assets, definition, 76

ATG Business Control Center

logging in, 10

ATG Campaign Optimizer

modules, 9

server configuration, 6

Avg Items per Order, 96

Avg Value per Abandoned Persistent Order, 96

Avg Value per Abandoned Transient Order, 96

Avg Value per Item, 96

Avg Value per Order, 96

BBasic Info tab, 80

Business Control Center

user roles, 11

Ccache

/atg/dynamo/droplet/Cache, 25

changing size of, 25

heap space requirements, 25

caching

substitution caching, 23

CAF tables, 41, 46

caf_reg_asset, 47

caf_reg_folder, 46

caf_reg_pathasset, 48

caf_reg_repasset, 48

caf_reg_rootfolder, 47

caf_registry, 46

caf_reg_asset, 47

asset_id, 47

description, 47

name, 47

parent_folder_id, 47

parent_registry_id, 47

Type, 47

caf_reg_folder, 46

folder_id, 46

Name, 46

parent_folder_id, 47

caf_reg_pathasset, 48, 48, 48

asset_id, 48

caf_reg_repasset, 48

asset_id, 48

item_type, 48

repository, 48

repository_id, 48

caf_reg_rootfolder, 47

folder_id, 47

registry_id, 47

caf_registry, 46

asset_type, 46

description, 46

name, 46

registry_id, 46

campaign workflows, 32

catalog_id, 67, 68

catalogs, 16, 17

Category template request, 38

category template testing, 86

category.template, 26

category_id, 67, 69

categoryTemplates, 17

changes to commerce, 26

checked-in tests, definition, 75

CIM

Configuring ATG Campaign Optimizer, 5

CLASSPATH, 111

commerce changes, 26

commerce tables, 61

abl_item_added, 61

Page 130: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

124 Index

abl_order_abandon, 63

abl_order_submit, 62

abl_trnsnt_abandon, 64

abr_dcs_rpt_group, 65

abr_dcsabd_rpt_gr, 66

abt_elct_ctgs, 67

abt_elem_ctgy_tmp, 67

abt_elem_prod_tmp, 68

abt_elem_promo, 69

abt_elpt_ctgs, 69

abt_elpt_prds, 68

metrics, 44, 61

reporting, 44, 65

test definition, 45, 66

committing data, 111

ConditionalFormSubmissionMetricHandler, 117

eventJMSType, 117

eventPropertyName, 117

filterConstruct, 117

filterOperator, 117

ConditionalPageVisitMetricHandler, 118

EventJMSType, 118

eventPropertyName, 118

filterOperator, 118

configuration

logging, 20

metrics, 111

preview, 21

configuring registries, 14

constantType, 116

constantValue, 116

Content Viewed Log Data, 19

content_views, 55

ContentViewedMetricHandler, 20

control, 58

Conversion, 96

converted_sessions, 66

copying test elements, 89

copying tests, 90

core tables, 41, 45

creating

handlers, 113

metrics, 107

registries, 18

reports, 106

creation_date, 49, 57

currency, 62, 63, 64, 65

Currency, 66

currency code, 109

currencyMetricIds, 120

currencySumProperties, 114

custom metrics, 20, 105

implementation, 120

custom registries, 15, 16

Registry Administration UI, 17

SQL creation, 17

custom registry

adding assets, 18

Ddata collection objects, 111

data storage

metrics, 108, 109

database configuration

creating the ATG Campaign Optimizer schemas, 6

data sources, 6

importing the initial data, 7

Dataset, 50, 51, 51, 52, 52, 61

dataset, 50, 62, 63, 64, 109, 111

datasetPath, 114

datasetPropertyName , 114

date_time, 50, 50, 51, 51, 52, 52, 62, 63, 64, 64

debugging, 19

Default Preview URL, 80

Default System Preview URL, 74

defaultPreviewURL, 14

deploying

tests, 91

deployment

configuring, 30

definition, 76

deployment topology, defining, 30

description, 46, 47, 57, 58

Description, 74, 74, 80

designing metrics, 106

disabling logging, 21

doubleSumProperties, 114

Ee-mails

previewing, 89

editing

registries, 18

Element_id, 58

element_id, 59, 59, 60, 60, 61, 67, 67, 68, 68, 69, 69

enabled, 56

End Criteria, 73, 80

end_date, 55, 56

ending tests, 94

EventConditionMetricHandler, 116

constantType, 116

constantValue, 116

eventPropertyName, 116

filterOperator, 117

unaryOperators, 117

eventJMSType, 114, 117, 118

Page 131: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Index 125

eventPropertyName, 116, 117, 118

exclude, 67, 68

FfilterConstruct, 117

filterOperator, 117, 117, 118

fixed_percentage, 58

folder_id, 46, 47

GgeneratedCountProperty, 114

Give promotion in preview, 39

group ID, 109

group_id, 50, 51, 52, 53, 54, 58, 59, 59, 62, 63, 64, 65, 65, 66

Hhandlers, 112

ConditionalFormSubmissionMetricHandler, 117

ConditionalPagwVisitMetricHandler, 118

creating, 113

EventConditionMetricHandler, 116

MetricHandler, 113

heap space requirements, 25

History tab, 102

Iid, 53

Id, 54

installation

procedure, 4

integerSumProperties, 115

Internet Explorer, configuration tips, 10

item_id, 61

item_qty, 63

item_type, 48

ItemAddedToOrderMetricHandler, 20

itemid, 62

Items Added to Cart, 96

Items Added To Order, 19

Items Ordered, 96

Llast_modified_date, 54

last_report, 54

listing tests, 72

Lock Conflicts tab, 102

logCurrencyCodePropertyName, 115

logDataItemDescriptorName, 115

logging, 19

cache sizes, 25

configuration, 20

Content Viewed Log Data, 19

ContentViewedMetricHandler, 20

disabling, 21

ItemAddedToOrderMetricHandler, 20

Items Added to Order, 19

OrderAbandonedMetricHandler, 20

OrderSubmittedMetricHandler, 20

Page Visit Log Data, 19

PageVisitMetricHandler, 20

ParticipantAssignedToTestGroupMetricHandler, 20

Profile Cleanup Service, 23

Report Generator Service, 19, 22

Session Log Data, 19

SessionMetricHandler, 20

Submitted Orders, 20

Test Ended Log Data, 19

Test Start Log Data, 19

TestStartedMetricHandler, 20

TransientAbandonedMetricHandler, 20

UserLog Data, 19

view logs, 19

Mmapper, 111

marker_data, 49

marker_id , 48

marker_key, 49

marker_type, 49

marker_value , 49

markers table, 42

markers tables, 48

abt_markers , 48

MetricHandler, 113

metricHandler

calculations, 113

counting occurences, 113

currency, 113

currencySumProperties, 114

datasetPath, 114

datasetPropertyName, 114

doubleSumProperties, 114

eventJMSType, 114

generatedCountProperty, 114

integerSumProperties, 115

logCurrencyCodePropertyName, 115

logDataItemDescriptorName, 115

recordEventAction, 115

renderLoggingAction, 115

reportCurrencyCodePropertyName, 115

required properties, 113

segmentNameResourceBundle, 115

segmentNameResourceKey, 115

subtractionDatasetPath, 115

targetCurrency, 115

Page 132: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

126 Index

uniqueCountGeneratedProperty, 116

uniqueCountLogProperty, 116

metricIds, 119

MetricInfo, 119

currencyMetricIds, 120

metricIds, 119

resourceBundle, 119

metrics, 105

calculations, 118

checklist, 107

complex computations, 110

ConditionalFormSubmissionMetricHandler, 117

ConditionalPageVisitMetricHandler, 118

configuration, 111

creating, 107

creating handlers, 113

currency code, 109

custom, 20, 120

data, 109

data storage, 108, 109

dataset, 109

designing, 106

EventConditionMetricHandler, 116

group ID, 109

handlers, 112

MetricHandler, 113

MetricInfo, 119

performance tuning, 110

profile ID, 109

propertyName, 111

report property mapper, 118

reporting, 110

resource bundles, 111

segmentNameResourceKey, 111

tables, 49

test ID, 109

timestamp, 109

metrics tables, 42, 44, 61

abl_content_viewed, 51

abl_ended, 50

abl_item_added, 61

abl_order_abandon, 63

abl_order_submit, 62

abl_page_visit , 49

abl_session, 52

abl_started, 50

abl_trnsnt_abandon, 64

abl_user_group, 51

mime type filtering, 24

modification_date, 57

modification_time, 55

modifier_id, 57, 57

modules, 9

multisite, 3

multivariat test, definition, 75

Nname, 46, 47, 56, 58

Name, 46, 74, 74

new_template, 67, 68

new_url, 59, 60

newCategoryTemplates, 16, 17

newFragments, 15, 17

newPages, 15, 17

newProductTemplates, 16, 17

notes, adding, to tests, 102

Number of Test Groups, 74

Oold_template, 67, 68

old_url, 59, 60

oldCategoryTemplates, 16, 17

oldFragmentLocations, 15, 17

oldFragments, 15, 17

oldPages, 15, 17

oldProductTemplates, 16, 17

Operations menu, 71

Order, 65

OrderAbandonedMetricHandler, 20

orderid, 62, 63, 64, 64

orders_abandon, 66

OrderSubmittedMetricHandler, 20

owner_id, 57

PPage fragment request, 38

page fragment substitution, 30

conflicts, 30

page fragment tests, 85

page tests, 84

Page Visit Log Data, 19

page_views, 55

pages, 17, 17

PageVisitMetricHandler, 20

parent_folder_id, 47, 47

parent_registry_id, 47

ParticipantAssignedToTestGroupMetricHandler, 20

participants, 57

Participants, 73, 95

participants, adding, 80

Percentage, 58

performance tuning, 23

metrics, 110

mime type filtering, 24

page fragment substitution, 30

reducing events, 23

Page 133: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Index 127

slot substitution caching, 24

substitution caching, 23

test subject registry, 25

personalization, 14

preview, 21

Preview config layer

enabling, 8

preview profile repository, 21

preview table, 42, 53

abt_preview, 53

Preview tool

running, 89

preview_id, 53

preview_url, 57

previewScenarioRoot, 14

price location testing, 78

product recommendation strategy testing, 78

Product template request, 38

product template testing, 87

product.template, 26

product_id, 68

productTemplates, 17

Profile Cleanup Service, 23

profile ID, 109

profile_id, 49, 50, 51, 52, 52, 53, 61, 62, 63, 64

profileGroups, 15, 17

project

delete, 91

projects

definition, 76

displaying UI for, 99

using, with ATG Campaign Optimizer, 99

promotion testing, 77, 88

promotion_id, 69

promotions, 16, 17

promotionTriggerPages, 16, 17

propertyName, 111

Qquantity, 62

queue, 111

RRecord A/B Test event, 38

Record A/B Test Participant assigned to test group, 38

recordEventAction, 115

reducing events, 23

registries, 14

adding assets, 18

catalogs, 16, 17

categoryTemplates, 17

commerce, 16

configuration, 14

creating, 18

custom, 15, 16

editing, 18

newCategoryTemplates, 16, 17

newFragments, 15, 17

newPages, 15, 17

newProductTemplates, 16, 17

old pages, 15

oldCategoryTemplates, 16, 17

oldFragmentLocations, 15, 17

oldFragments, 15, 17

oldPages, 17

oldProductTemplates, 16, 17

pages, 17, 17

productTemplates, 17

profileGroups, 15, 17

promotions, 16, 17

promotionTriggerPages, 16, 17

Registry Administration UI, 17

slots, 15, 17

SQL creation, 17

structure, 15

Registry Administration UI, 17

registry_id, 46, 47

renderLoggingAction, 21, 115

renderLoggingEnabled, 21

Report Generator Service, 19, 22, 106

report property mapper, 110, 118

report_only, 57

reportCurrencyCodePropertyName, 115

reporting, 42

ABTestReportRepository, 110

reporting in metrics, 110

reporting tables, 44, 53, 65

abr_control, 53

abr_dcs_rpt_group, 65

abr_dcsabd_rpt_gr, 66

abr_report, 54

abr_report_group, 54

reports

creating, 106

repository, 48

repository content, 83

repository_id, 48

request_url, 60

resource bundles, 111

propertyName, 111

segmentNameResourceKey, 111

resourceBundle, 119

Results, 95

Avg Items per Order, 96

Avg Value per Abandoned Order, 96

Avg Value per Abandoned Transient Order, 96

Page 134: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

128 Index

Avg Value per Item, 96

Avg Value per Order, 96

commerce, 96

Conversion, 96

Items Added to Cart, 96

Items Ordered, 96

Participants, 95

Sessions, 95

Test Content Viewed, 95

Total Orders, 96

Total Pages Viewed, 96

Total Persistent Orders Abandoned, 96

Total Persistent Value Abandoned, 96

Total Transient Orders Abandoned, 96

Total Transient Value Abandoned, 96

Total Value, 96

revenue_abandon, 66

revenue_ordered, 65

runAssembler script, 7

Sscenario elements, 37

A/B Test Ended, 37

A/B Test is ready for deployment, 37

A/B Test Participant Unassigned, 37

A/B Test session ended, 38

A/B Test that was previously considered ready for

deployment is now not ready for deployment , 37

Add test items to slot, 38

Add user to test group, 38

Category template request, 38

commerce, 38

core elements, 37

Give promotion in preview, 39

Page fragment request, 38

Product template request, 38

Record A/B Test event, 38

Record A/B Test Participant assigned to test group, 38

Set even handled state to true, 38

Test Slot Item request, 37

track start of A/B test execution, 38

scenario_name, 53, 55

scenario_path, 57

scenario_root, 57

scenarioRoot, 13

segmentNameResourceBundle, 115

segmentNameResourceKey, 111, 115

segments

definition, 76

sequence_num, 59, 59, 61, 67, 69, 69

Session Log Data, 19

Session_id, 50, 62

session_id, 51, 52, 52, 63, 64

SessionMetricHandler, 20

Sessions, 54, 95

Set event handled state to true, 38

slot, 60

slot image testing, 77

slot substitution caching, 24

slots, 15, 17

SQL commands to create custom registries, 17

Staging config layer

enabling, 8

Start Date, 73, 80

start_date, 55, 56

starting ATG Campaign Optimizer, 7

stopping tests, 94

deployment time, 94

scheduled, 94

Submitted Orders, 20

substitution caching, 23

subtractionDatasetPath, 115

Summary, 73

% Participants, 74

Default System Preview URL, 74

Description, 74, 74

End Criteria, 73

Name, 74, 74

Number of Test Groups, 74

Participants, 73

Start Date, 73

Test Elements, 74

Test-Specific Preview URL, 74

Ttables, 41, 61

abl_content_viewed, 51

abl_ended, 50

abl_item_added, 61

abl_order_abandon, 63

abl_order_submit, 62

abl_page_visit , 49

abl_session, 52

abl_started, 50

abl_trnsnt_abandon, 64

abl_user_group, 51

abr_control, 53

abr_dcs_rpt_group, 65

abr_dcsabd_rpt_gr, 66

abr_report, 54

abr_report_group, 54

abt_elct_ctgs, 67

abt_elem_ctgy_tmp, 67

abt_elem_page, 59

abt_elem_pg_frag, 60

abt_elem_prod_tmp , 68

Page 135: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

Index 129

abt_elem_promo , 69

abt_elem_rep_slot, 60

abt_element, 58

abt_elpt_ctgs , 69

abt_elpt_prds , 68

abt_elrs_item, 60

abt_group, 57

abt_group_elem, 59

abt_markers , 48

abt_preview, 53

abt_test, 56

abt_test_group, 58

abt_track, 55

CAF tables, 41, 46

caf_reg_asset, 47

caf_reg_folder, 46

caf_reg_pathasset, 48

caf_reg_repasset, 48

caf_reg_rootfolder, 47

caf_registry, 46

core tables, 41, 45

markers table, 42

markers tables, 48

metrics, 44

metrics tables, 42, 49, 61

preview, 42

preview table, 53

reporting, 42, 44

reporting tables, 53, 65

test definition, 43, 45

test definition tables, 55, 66

tracking, 43

tracking table, 55

targetCurrency, 115

Targeter, 60

Tasks tab, 100

template substitution, 26

conflicts, 26

mechanism, 26

TemplateSubstituterPropertyDescriptor, 26

Test Content Viewed, 95

test definition tables, 43, 45, 55, 66

abt_elct_ctgs, 67

abt_elem_ctgy_tmp, 67

abt_elem_page, 59

abt_elem_pg_frag, 60

abt_elem_prod_tmp, 68

abt_elem_promo, 69

abt_elem_rep_slot, 60

abt_element, 58

abt_elpt_ctgs, 69

abt_elpt_prds, 68

abt_elrs_item, 60

abt_group, 57

abt_group_elem, 59

abt_test, 56

abt_test_group, 58

Test Elements, 74

Test Ended Log Data, 19

test groups, defining, 82

test ID, 109

Test Slot Item request, 37

Test Start Log Data, 19

test subject registry, 25

Test-Specific Preview URL, 74

test_id, 50, 50, 51, 51, 52, 52, 53, 54, 54, 55, 56, 58, 62, 63, 64,

65

test_state, 54, 55, 56

TestManager, 13

defaultPreviewURL, 14

previewScenarioRoot, 14

scenarioRoot, 13

tests, 72

adding internal notes to, 102

approving, 91

category templates, 86

commerce, 86

copying, 90

copying test elements, 89

creating new, 79

Default Preview URL, 80

deploying, 91

Description, 80

editing , 90

End Criteria, 80

page fragments, 85

pages, 84

participants, 82

product templates, 87

promotions, 88

repository content, 83

running, 91

Start Date, 80

stopping, 94

summary, 73

test groups, 82

viewing results, 94

TestStartedMetricHandler, 20

timestamp, 109

To Do List, 72

Total Orders, 96

Total Pages Viewed, 96

Total Persistent Orders Abandoned, 96

Total Persistent Value Abandoned, 96

Total Transient Orders Abandoned, 96

Total Transient Value Abandoned, 96

Page 136: ATG Campaign Optimizer User Guide - product version: 10.1 · ATG Campaign Optimizer lets you present different web site content to different customers simultaneously and measure the

130 Index

Total Value, 96

Track start of A/B test execution , 38

tracking table, 43, 55

abt_track, 55

tran_rev_abandon, 66

transient_abandon, 66

TransientAbandonedMetricHandler, 20

trigger_param, 69

trigger_type, 69

Type , 47, 58

UunaryOperators, 117

uniqueCountGeneratedProperty, 116

uniqueCountLogProperty, 116

units_added, 65

units_ordered, 65

url, 50

use cases

price location testing, 78

product recommendation strategy testing, 78

promotion testing, 77

slot image testing, 77

user accounts, creating, 11

User Log Data, 19

Users, 54

VVersion, 49

versioning, definition, 77

viewing test results, 94

viewing tests, 72

Wweb_app, 57

workflows, 32

default permissions, 36

for campaigns, 32

workflows, definition, 76