You are here:
Shopper Data with the B2C Commerce Integration
The B2C Commerce integration creates standard accounts and contacts to represent business shoppers or buyers. It identifies a business buyer by the presence of a company name in an order’s billing address. By default, it also creates standard accounts and contacts to represent individual shoppers.
Required Editions
| View supported editions. |
To represent individual shoppers with person accounts instead, configure the permission set to access Account records. See Configure Access to the Console App ..
If you’re representing individual shoppers with person accounts, don’t change the names or API names of the two default Account record types. The B2C Integration uses those types to represent shopper accounts.
By default, the integration identifies an existing shopper record by its name or email address. You can configure it to identify existing shoppers by applying your org’s duplicate and matching rules for Accounts, Contacts, and Person Accounts. For more information, see Manage Duplicate Records.
The integration can’t look up any encrypted fields on Salesforce objects. Encrypting any of the fields it uses to look up records causes order ingestion to fail. If you want to encrypt the Account Name, Account Person Email, or Contact Email field, then you must implement custom duplicate and matching rules that don’t use any encrypted fields. For more information on encryption restrictions, see General Shield Platform Encryption Considerations.
When the integration receives order data, it checks the billing address company name value. If the billing address contains a non-null company name, the integration considers the shopper to be a business buyer. Otherwise, it considers the shopper to be an individual. It then proceeds based on the shopper type and the current Person Accounts for Shoppers setting.
| Business Buyer | Individual Shopper When Using Standard Accounts | Individual Shopper When Using Person Accounts |
|---|---|---|
If B2C Integration Data Matching Rules is selected, use the org’s matching rules to identify an account or contact that matches the buyer information in the order data. If not selected, search for these records:
Associate buyer records with the new order according to the search results.
|
If B2C Integration Data Matching Rules is selected, use the org’s matching rules to identify an account or contact that matches the shopper information in the order data. If not selected, search for these records:
Associate shopper records with the new order according to the search results.
|
If B2C Integration Data Matching Rules is selected, use the org’s matching rules to identify a person account that matches the shopper information in the order data. If not selected, search for a person account record with a person email matching the shopper email in the order data.
|
The integration sets only the Account field on a contact when it creates the account and contact at the same time. If one of the records exists, setting that value without validation can break the integration because contacts can’t have duplicate Accounts and Business Phones. However, you can set the Account field on a contact manually or via customization as long as you check for a duplicate.
Changing the Person Accounts for Shoppers setting doesn’t affect existing shopper records. However, it can affect whether the integration recognizes existing individual shopper records that were stored when the setting was different. Before you change this setting on a production org, review these considerations:
| Person accounts for Shoppers | Result |
|---|---|
| On | The integration recognizes an individual shopper stored as a person account because it searches for an account by Name and a contact by Email. Thus, it recognizes a person account with a matching Name and a contact with a matching Email, normally the contact associated with the person account. |
| Off | The integration doesn’t recognize an individual shopper stored as a standard account and contact because it searches only for a person account by Person Name. A standard account doesn’t have a Person Name, and the integration doesn’t search for a contact in this case. |
Changing this setting can take up to an hour to take effect.

