Profiles
A profile is a set of characteristics that define any business-related item, such as a user, a company, or a context (date and time). For example, a user profile may include characteristics such as first name, last name, city, gender, age, and e-mail address. A company profile may include different characteristics, such as the company name, contact, city, and e-mail address. A context profile may include characteristics such as the date and time when a page is displayed, and the path the user takes to get to that page.
The following figure shows different types of profiles.
In Commerce Server, you use profiles to store information about business-related items. For example, you use profiles to collect data from users on your Web site. You can also enter data directly into the users and organizations profiles by using Business Desk.
The Commerce Server Profiling System consists of the Profiles resource, managed using Commerce Server Manager, and the Users modules, managed using Commerce Server Business Desk. Profile data is stored in the Profiles data store in Microsoft Active Directory™, SQL Server, both, or in any OLE DB-compliant data store. You can export data from the Profiles data store into the Data Warehouse, and then use Business Desk to analyze the profile data that is collected.
*** Note***
- Commerce Server does not include the Microsoft Site Server 3.0 Membership Directory. For information about migrating profile information from the Membership Directory to Commerce Server, see Migrating from Site Server 3.0.
Using Profiles in Web Site Management
Collecting and Storing Profiles
Using Profiles in Web Site Management
Profiles are essential to Web site management because they provide information about the users who visit your Web site and how they use it. You use profiles to analyze user data, and you use them to target content to users.
Using Commerce Server Business Desk, you can:
Determine what information to collect about users visiting your site.
Analyze profile information.
Create target expressions to match content to users.
Create advertising, discount, and direct mail campaigns to target specific user groups.
Deliver personalized direct mail messages to users.
For example, assume you have a site that sells sporting goods. The following workflow provides an example of how you can use Business Desk to analyze user activity and target content to users.
Your system administrator creates profile definitions for registered users and guest users.
After your site has been running for a period of time, you can analyze profile data to determine who is visiting your site:
Run reports to analyze who is visiting your site.
Run reports to analyze which products in your catalog are selling well, and which ones are not selling well.
Use the results of your analysis to create a campaign to target content to users:
Use the profiles to create target expressions and target groups.
Create a discount campaign to offer these specific users a discount.
After the discount has been in production for a period of time, analyze the results of the campaign.
Run reports to analyze the success of the campaign.
Run reports to find out whether this group of users increased their purchases of discounted items.
If your users did not increase their purchases of discounted items, create a direct mail campaign to deliver personalized messages offering the users a discount on a certain product.
For information about creating expressions and targeting content to users, see Targeting and Personalization.
Profile Structure
A Commerce Server profile consists of the following parts:
Profile definition. A description of the data to be collected for a given type of profile. You can have multiple profiles based on a single profile definition. For example, "User" is a profile definition, and "Address" is a profile definition. System administrators create profile definitions by using the Profiles resource in Commerce Server Manager.
Profile property. A characteristic that specifies the profile data to be collected when a user visits your Web site. For example, the First Name property specifies that the first name of the user should be collected. Use the Profile Designer module in Business Desk to create profile properties and add them to profile definitions.
Attribute. A characteristic that specifies information about the property such as the data type of the property (for example, number, string, decimal, and site term).
Profile. A single instance of a profile definition that contains data. Every profile is based on a single profile definition.
The following table shows a sample User profile definition, and then a single instance of the sample User profile definition with data for Sean Chai.
Profile definition: User | Profile: Sean Chai |
First name | Sean |
Last name | Chai |
City | Seattle |
Gender | M |
Age | 52 |
E-mail address | seanchai@microsoft.com |
Profile Definitions
Before system administrators create new profile definitions, they must first determine where the profile data will be stored in the database, and add the appropriate table and columns for the data. For example, assume the business manager requests a new profile definition named Music, and wants to store the following profile properties: First Concert, Last Concert, Favorite CD, and two more properties that are not yet determined. You determine that the best place to store this data is in a new table name Music, in a new SQL Server database named Arts. To create the Music profile definition, you do the following:
Use SQL Server Enterprise Manager to:
Create the SQL Server database named Arts.
Create the Music table in the Arts database, and add columns for the five data members that are to be stored there.
Use the Profiles resource to:
Map to the new data source, Arts. You only need to perform this step once. After you have mapped a new data source to the Profiles resource, you do not need to do so again.
Create a data object named Music and map it to the Music table in the Arts database.
Create data members named First Concert, Last Concert, Favorite CD, Placeholder1, and Placeholder2, and map them to the appropriate columns in the Music table.
The following figure illustrates how elements in a SQL Server database, the Profiles resource, and a profile definition map to each other.
Enterprise Manager
Profile Resource
SQL Server Database
Data Source
Profile Definition
Table
Column
Data Object
Property
Attributes
Data Member
Arts
Database
Arts Data
Source
Music Profile Definition
Music Table
Music Object
First Concert Property
First Concert Column
First Concert Column
Single
Value Required
For detailed instructions about using the Profiles resource to extend your profiles schema, see Running the Profiles Resource.
After you create the profile definition and the properties, the business manager can use the Profile Designer module in Business Desk to add First Concert, Last Concert, and Favorite CD to the definition. To perform this step, the business manager maps these properties to the data members you created, so you need to provide the data member names. If you want to map the properties to the data members, you can do so using Commerce Server Manager.
At a later date, when the business manager determines other information to collect using the Music profile definition, the business manager can use the Profile Designer module to create two new properties and map them to the placeholder data members you created in the Music table.
The Commerce Server Solution Sites include the following sample profile definitions: Addresses, BlanketPOs (purchase orders), Organization, User Object, and Target Context. In the User Object, five unnamed properties are included so you can add properties to the User profile definition without extending your database. For a list of properties included with each profile definition, see Sample Profile Definitions.
Profile Properties
After the system administrator creates the profile definition, you can add profile properties to it by using the Profile Designer module in Business Desk. Profile properties determine what information is collected in a profile. For example, the User profile definition could contain the following properties: first name, last name, city, gender, age, and e-mail address.
The following figure shows the parts of a sample User profile definition.
Attributes
Each profile property has attributes. Attributes provide information about the property such as the data type of the property (for example, number, string, decimal, and site term), whether the property is single-valued (for example, only one First Name is allowed) or multi-valued, and whether the profile property is indexed, that is, whether a user visiting the Web site can perform a search using this property.
A site term is a data type that you create. It is a list of specific values that are pertinent to your site. You use a site term to assign this list of values to a property as an attribute. For example, you could create a site term named Gender, and define the following possible values: Female, Male, and Unknown. When you create a profile property named Gender and assign it the data type "site term," only one of the possible values can be assigned to the profile. You create Site Terms by using the Site Terms Editor module in Business Desk, and then you assign them to the profile definition by using the Profile Designer module.
You apply site terms to profile properties, establishing common words that you can use throughout Commerce Server, for example, to match the user preferences to content. For more information about how profiles are used to deliver content, see Targeting and Personalization.
Collecting and Storing Profiles
Profile data is collected at a Commerce site in two ways. Users visiting your site provide profile data about themselves; this is called explicitprofiling. For example, when users purchase products from your site, they typically provide their name, mailing address, phone number, and e-mail address. This information is used to populate their user profile.
You can also collect data through implicitprofiling. In implicit profiling, the actions of all users (anonymous and registered) are recorded in Web log files as the users interact with your Web site. For example, Web log files record the links that anonymous users click, what products they search for, the length of their sessions, and how long they visit a given Web page. Even though the users are anonymous — you do not know their names, e-mail addresses, or other information — how they use your site is still important information. For example, a click history provides a path through the Web pages visited; you can use this information to determine a particular set of interests. For information about how cookies are used in Commerce Server, see Cookies and Authentication.
Another form of implicit profiling is performed by the Commerce Server Predictor resource. If some information about a user is missing—for example, the Music Preference associated with a user—this information can be guessed by the Predictor resource based on the aggregate properties of the user population who visits your site and the CDs they purchase. For information about the prediction feature, see Prediction and Data Mining.
All the information that is collected during a specific user session is collected in a single profile, that is, one instance of a profile definition.
When profile data is initially collected, it is first stored in the Commerce Server databases and the Web server logs. The system administrator imports the profile data into the Data Warehouse on a regular basis. After the profiles are imported into the Data Warehouse, you can use Business Desk to analyze user data, and then use the results of your analysis to update your Web site or apply values to user profile properties.
Analyzing User Data
You can analyze user data in reports, or in segment models. For information about analyzing segment models, see Analyzing Population Segments.
The following table lists the reports included with Commerce Server that you use to analyze user data.
Report | Description |
Distinct Users and Visits by Week | Determine whether a few people are visiting your site many times, or if many people are visiting your site at the same time. |
Distinct Users by Day | Determine how many unique users visit your site on a particular day. |
New Registered Users | Identify new registered users. This data can be used to create special promotional campaigns. For example, you can export the report to List Manager, and then send these users a direct mail promotion. |
Registered User Properties | Review information provided by registered users. This data can be used to create special promotional campaigns. For example, you target advertisements or discounts to users who have certain properties. |
Registered Users by Date Registered | Review the registration behavior of your users. |
User Days to Register | Track the average number of days it takes guest users to register on your site. |
User Registration Rate | Determine how successful you have been in convincing guest users to register on your site. |
User Trends | Determine how successful you have been in attracting repeat visitors. |
For a list of all Commerce Server reports, see Commerce Server Reports. For information about running reports, see Running Reports.
Sample Profile Definitions
Commerce Server Solution Sites include sample profile definitions. If your site developer used a Solution Site to build your site, you should have the five profile definitions listed in the following table.
Profile Definition | Properties (data type) | Description |
Address | Address ID (string) | Address identifier |
ID (string) | Organization/User Identifier | |
Last Name (string) | User last name | |
First Name (string) | User first name | |
Address Name (string) | Name for this address | |
Address Type (number) | Address/Ship to address/Bill to address | |
Description (string) | Description for this address | |
Address Line 1 (string) | First line of address | |
Address Line 2 (string) | Second line of address | |
City (string) | City name | |
Region Code (string) | State, region, or province code | |
State Name (string) | State, region, or province name | |
Postal Code (string) | Postal code | |
Country Code (string) | Country International Standards Organization (ISO) code | |
Country Name (string) | Country name | |
Telephone Number (string) | Telephone number at this address | |
Telephone Extension (string) | Telephone number extension at this address | |
Locale ID (number) | Locale in which to render the address form | |
Changed by (string) | Name of person who last changed this profile | |
Date last changed (date/time) | Date this profile was last changed | |
Date created (date/time) | Date this profile was created | |
BlanketPOs | Purchase Order ID (string) | Globally unique identifier (GUID) referring to the Blanket Purchase Order |
Organization ID (string) | Organization ID | |
PO Number (string) | Blanket purchase order number | |
Description (string) | Description of purchase order | |
Changed by (string) | Name of person who last changed this profile | |
Date last changed (date/time) | Date this profile was last changed | |
Date created (date/time) | Date this profile was created | |
Organization | Organization ID (string) | Organization ID |
Name (string) | Name of the organization | |
Trading partner number (string) | Trading partner number | |
Administrative contact (string) | GUID for the administrative contact | |
Receiver (string) | User ID of the person to receive products shipped from the supplier | |
Organization catalog set (string) | Organization catalog set | |
Changed by (string) | Name of person who last changed this profile | |
Purchasing manager (string) | User ID of the purchasing manager of the buying organization | |
Date last changed (date/time) | Date this profile was last changed | |
Date created (date/time) | Date this profile was created | |
User Object | User ID (string) | User ID |
Logon name (string) | Logon name | |
User password (password) | User password | |
E-mail (string) | User e-mail address | |
User type (number) | User type | |
User title (string) | User title | |
Last name (string) | Last name of user | |
First name (string) | First name of user | |
Telephone number (string) | Telephone number for user | |
Telephone extension (string) | Telephone number extension for user | |
Fax number (string) | Fax number for user | |
Fax extension (string) | Fax number extension for user | |
Changed by (string) | Name of person who last changed this profile | |
Organization ID (string) | Organization ID | |
Account status (number) | Account status | |
User catalog set (string) | User catalog set | |
Date registered (date/time) | Date the user registered | |
Campaign History (string) | Campaign history | |
Partner service role flags (number) | Partner service role | |
Date last changed (date/time) | Date this profile was last changed | |
Date created (date/time) | Date this profile was created | |
Targeting Context | Page Group (string) | Name of the page group (for example, Sports pages) |
See Also
Migrating from Site Server 3.0