- Optimizely Web Experimentation
- Optimizely Personalization
You must have Optimizely Personalization for this feature.
A Dynamic Customer Profile (DCP) is a single, actionable view of your customer built from a combination of first- and third-party customer data. You can deliver consistent, personalized web and mobile experiences for your most valuable customers and measure the impact of those experiences.
The following list shows examples of the data sources that you can connect to Optimizely Web Experimentation and Optimizely Personalization through DCP:
-
Customer Relationship Management (CRM) software
-
Email Service Providers (ESP)
-
Data Warehouses
-
Analytics platforms
-
Point-of-Sale Systems
-
Data Management Platforms (DMP)
For example, use DCP and behavioral targeting to create a personalized experience based on a visitor’s browsing behavior during a session, frequent flyer account information, favorite airports, and average purchase amount.
Other first- and third-party data that you can leverage through DCP include:
Key Terms
This section defines key terms to help you get started.
Attributes
Attributes describe what you know about your individual customers, such as their favorite products, lifetime value scores, VIP or loyalty memberships, gender, and other historical data. These attributes help you create tailored experiences for every known customer on your site.
Data source
A data source such as your CRM, ESP, data warehouse, or DMP stores individual customer attributes under corresponding customer IDs. To use these attributes to personalize your customers’ experiences on your site, create a DCP table and corresponding table attributes.
DCP table
A DCP table stores records extracted from your data sources and makes them available for targeting. Each row in the table represents a customer, and each column represents an attribute describing customers.
DCP table attribute
You can think of table attributes as the column headers in a DCP table. Each attribute represents a discrete piece of information in the customer records extracted from your data source.
DCP service
Optimizely's DCP service collects and handles the data you use to deliver personalized messaging. The third-party data that you send to Optimizely Web Experimentation is stored here.
Optimizely Personalization uses an aliasing
method to connect the attributes kept in different tables to a single User ID. This single ID lets Optimizely deliver customized experiences based on your data on individual customers across different tables. See aliasing in the developer documentation.
Create a DCP service
First, create a DCP service in Optimizely Personalization to set up Dynamic Customer Profiles. A DCP Service collects, stores, and processes customer data for personalized messaging.
- Go to Account Settings.
- Select the Dynamic Customer Profiles tab.
- Name your new DCP Service and click Create DCP Service.
You can associate each Optimizely Web account only with one DCP Service, so you do not see the option to create a DCP Service if one already exists.
- Link the projects that should be able to target based on data stored in this DCP Service. You can add multiple projects to the same service at any time.
Create a DCP table
Create a table to store records extracted from your data source:
- Go to Audiences.
- Select the Attributes tab and click Create New Table. A preview displays of the steps required.
- Click Create New Table.
- Enter the Table Name and identify how your web page stores the customer IDs for use in this table: in a cookie, js variable, query param, or optimizely end user id cookie.
In the example above, the customer IDs for the table are stored in a JS variable called locator_name
. When using the JS variable option, ensure that the variable is global. You cannot refer to embedded properties using dot notation, such as object.locator_name
.
Optimizely syncs the IDs in your new data source with Optimizely Web Experimentation User IDs, so you do not have to manage identities. As your visitor data updates, Optimizely's DCP Service automatically connects and adds this information to your customer profiles.
Sometimes, customer IDs are stored in multiple locations. For example, IDs may be stored in cookies on some pages and as JavaScript variables on others. In this situation, use the Optimizely REST APIs to alias this information. See also Customer profiles (DCP).
Define table attributes
Identify the customer attributes (text, Boolean value, number, or date) you want Optimizely to store in this table. Define this value type in the drop-down menu.
Check the Content-enabled box next to any values you want to display directly in the browser. For example, if you want to show a visitor “gold” level membership as part of a personalized experience on your site, check the Content-enabled box for the membershipLevel attribute.
In the example, membershipLevel
and purchasedLast60
are attributes you use in Optimizely Web Experimentation. Membership level value is also available for display in the browser.
Attribute names are case sensitive, so membershipLevel
and MembershipLevel
register as different attributes.
Upload your data
See the Web Experimentation developer documentation to learn how to upload data.
Create an audience
Create an audience using the customer attributes you added to your DCP table:
- Go to Audiences and click Create New Audience.
- Name the audience (such as Platinum buyers) in the Audience Builder.
- Expand the list of External Attributes and find the table you just created. To use a table attribute as an audience condition, drag and drop it into Audience Conditions. Use logical conditions to create your new Audience. The following images show the
membershipLevel
andpurchaseLast60
atttributes. - Click Save Audience.
See Target audiences using the Audience Builder.
Build a campaign or create an experiment
You can create a personalization campaign or experiment with your new dynamic customer profiles.
To add 1-to-1 personalization to your campaigns, see exposing content attributes with DCP.
Please sign in to leave a comment.