Commerce Search v3 prerequisites

  • Updated

Before you can enable Commerce Search v3 for your Optimizely Configured Commerce instance, you must follow these important prerequisites.

Configured Commerce version

You must have one of the following Optimizely Configured Commerce versions:

Language tags

You must ensure all languages have a language tag. 

Add Language Tag.png

Note active websites and languages

You must note which Spire websites are active and what their active languages are. Include this information in your provisioning request.

Classic sites are not supported and cannot be provisioned.

Option 1 – Admin Console

  1. Go to Websites and note which sites are active. If the site is active, it has the Active toggle set to Yes in Website Details.
    Active websites.png
  2. Note each live language for the active sites (found under Website Details). Live languages are marked as On in the Is Live column of the Languages tab.
    Live languages.png
  3. Go to Administration > Localization > Languages to determine each live language's Language Tag. This is the first part of the language tag value.
    Language tag.png
  4. Include all active websites and their associated languages in your support request.

Option 2 – Query the database

  1. Gain access to the database by running the Generate Database Credentials action in Mission Control.
  2. Execute the following query:

    SELECT 
        ws.[Key] AS WebsiteKey,
        l.LanguageTag
    FROM 
        WebSiteLanguage wsl
    JOIN 
        Language l ON wsl.LanguageId = l.Id
    JOIN 
        Website ws ON wsl.WebSiteId = ws.Id
    WHERE 
        wsl.IsLive = 1
        AND ws.IsActive = 1;
  3. Include all active websites and their associated languages in your support request.

Unique email addresses

  1. Check for non-unique emails by running the following query on the Commerce database:

    -- NON-UNIQUE EMAILS COUNT
    SELECT COUNT(*) AS non_unique_emails_count
    FROM (
        SELECT email
        FROM UserProfile
        GROUP BY email
        HAVING COUNT(email) > 1
    ) r;
    • If the result is 0, all email addresses are unique.
    • If the result is greater than 0, there are duplicate email addresses.
  2. Calculate the percentage of non-unique emails. If duplicates exist, run the second query to determine the percentage of non-unique emails in the system:

    -- NON-UNIQUE EMAILS PERCENTAGE
    WITH CTE AS (
     SELECT COUNT(*) AS non_unique_emails_count
     FROM (
      SELECT email
      FROM UserProfile
      GROUP BY email
      HAVING COUNT(email) > 1
     ) r1
    ),
    CTE2 AS (
     SELECT COUNT(DISTINCT email) AS all_emails_count
     FROM UserProfile
    )
    SELECT 
     CTE.non_unique_emails_count, 
     CTE2.all_emails_count, 
     ROUND((CTE.non_unique_emails_count * 100.0) / CTE2.all_emails_count, 2) AS non_unique_percentage
    FROM CTE, CTE2;
  3. Determine the ODP configuration.
    1. If there are no duplicate emails (non_unique_emails_count = 0), go to the Admin Console and check the Use Email as UseName and Require Unique Email settings under Account Management > Website Security.
      • If they are both true, request ODP provisioning with B2bUserEmailUniqueness=true.
      • If they are both false, do one of the following:
        • If you want unique emails, update at least one of the security settings to true to ensure that emails continue to be unique. Request ODP provisioning with B2bUserEmailUniqueness=true.
        • If you want to support non-unique emails, request B2bUserEmailUniqueness=false.
    2. If there are duplicate emails (non_unique_emails_count > 0), check the percentage of duplicates and Admin Console settings.
      • If the percentage is less than 2% or very low and both settings are false:
         
        • If you want unique emails, update at least one of the security settings to true to ensure that emails continue to be unique. Request ODP provisioning with B2bUserEmailUniqueness=true.
        • If you want to support non-unique emails, request B2bUserEmailUniqueness=false.
      • If the percentage is greater than 2% or not very low, request ODP provisioning with B2bUserEmailUniqueness=false.

Provisioning

When you have completed the previous steps, you can submit a request for manual provisioning of the required Optimizely products and resources. Include the information about the active Spire websites, active languages, and whether your environment uses unique email addresses.