Send Profile Data

Developers can set up two ways for customers to send shopper profile attributes to Einstein: bulk upload and real-time activity tracking. You can use either method (or both) to send shopper profile data to Einstein.

When submitting data to Einstein, keep the following in mind:

  • Salesforce strongly recommends that you do not send personal identifiable information (PII) to Einstein other than the specified recommended user identifiers.
  • All collected data is stored internally for up to one year. At the one year mark, data is aged out and removed from all Einstein databases. To continue using this profile data, you must resend it to Einstein.
  • When Einstein receives newer values for existing shopper profile attributes, the newer values are appended to the existing values.
  • Einstein uses all profile data provided. New data is not valued any differently than existing data.

Bulk Upload

Salesforce offers a secure bulk upload endpoint for customers to upload any historical shopper profile data they have collected.

The bulk upload option is intended for:

  • Any shopper profile-related data that you have tracked and collected.
  • Any trusted third-party data that you want Einstein to use for added shopper personalization.

Authorization

Uploading data in bulk can have a major impact on Einstein data. For this reason, we allow only authorized users to upload large quantities of data. In addition, each upload API call must pass a required authorization header (bearer) access token obtained from Account Manager.

Note: To reduce load on the Account Manager server, avoid generating any new tokens until the current token expires. Refer to the API Specification for more information on bulk upload API calls.

Preparing Bulk Upload Data

To prepare bulk upload data for Einstein consumption, ensure the following:

  • The bulk file is a gzipped tab-separated values (TSV) file.
  • The TSV file is properly formatted and saved using UTF-8 character encoding.
  • The mimetype of the file is set correctly for use by the gzip application.
  • The header row must contain the login_id identification field, email_address identification field, or both.
  • You can add additional columns for every shopper profile attribute that you want to send.
  • Values are either strings or lists of strings. For a list of strings, make sure to separate values using the pipe (|) separator. For example, orange|yellow.
  • Empty columns are ignored. When Einstein encounters an empty column, it skips that column and continues processing the remaining user attributes data.

Bulk Upload User Identifiers

To help generate relevant product recommendations for each shopper, the Profile Connector API needs either of these user identifiers for shopper identification in bulk upload.

Field Description
login_id Shopper's login ID. In some cases this is the same as the email_address value.
email_address Shopper's full email address. For example, shopper1@somewhere.com.

Example Bulk Upload Data

Here is an example of shopper profile bulk upload TSV data with random column names:

login_id email_address gender colors brand_list
shopper1 shopper1@somewhere.com male orange|yellow brandA|brandB
shopper2 shopper2@somewhere.com female blue|black brandD
shopper3 shopper3@somewhere.com female red|black|violet brandB|brandE

Shopper Bulk Upload Endpoint Limitations

When performing shopper profile bulk upload, keep the following endpoint limitations in mind:

  • You can upload only one file at a time. However, you can upload multiple files, one after another.
  • The maximum allowed file size is 2 GB.

Uploading Shopper Profile Bulk Data to Einstein

After you prepare the shopper profile bulk data files, gzip each individual file and upload it to Einstein’s shopper profile bulk upload endpoint. For more information, refer to the Bulk Upload endpoint in the API Specification.

Real-Time Activity Tracking

You can use a new activity updateProfile tracking endpoint to call and send real-time shopper profile data updates and preferences. Capturing information that a shopper provides in your storefront in real time enables recommendations to reflect these changes immediately.

Usage

The real-time activity tracking option is intended for:

  • Capturing shopper preference activities in real time.
  • Making shopper profile updates in real time.

Refer to the Activities endpoint in the API Specification for more information on real-time activity tracking.

Real-Time User Identifiers

To avoid potential malicious activity, user identifier parameters must be non-sequential. The parameters should not include sequences, patterns, IP addresses, email addresses, names, or anything linked to a specific person. All user identifier parameters must comply with General Data Protection Regulation (GDPR) through hashing or other methods.

To help generate relevant product recommendations for each shopper, the Profile Connector API provides two user identifiers for shopper identification in real-time tracking.

  • cookieId (required) - Unique identifier of an anonymous shopper. Typically, the cookieId is the value of a first-party cookie.
    • When making API requests from a traditional Commerce Cloud storefront, pass the cqcid cookie value to match the automatic activity tracking on the traditional storefront. For more information, see Browser-Based Local Data Storage.
    • When using OCAPI or the Salesforce Commerce API, use the visit_id value from the guest login response to match automatic activities. For more information, see the OCAPI Customer Document.
  • userId (encouraged) - Unique identifier of a logged-in shopper. This parameter enables Einstein to link the same logged-in user across multiple devices.
    • When making API requests from a traditional Commerce Cloud storefront, use the cquid cookie value to match automatic activity tracking on the traditional storefront. For more information, see Browser-Based Local Data Storage.
    • When using OCAPI or the Salesforce Commerce API, use the hashed_login value from the registered login response to match automatic activities. For more information, see the OCAPI Customer Document.