--- title: "Integrating Yotpo with SalesForce Commerce Cloud" slug: "integrating-yotpo-with-salesforce-commerce-cloud" tags: ["Salesforce Commerce Cloud", "Reviews ", "Loyalty and Referrals"] updated: 2024-11-11T11:27:10Z published: 2024-11-11T11:27:10Z canonical: "support.yotpo.com/integrating-yotpo-with-salesforce-commerce-cloud" excludeFromSearch: true excludeFromExternalSearch: true --- > ## Documentation Index > Fetch the complete documentation index at: https://support.yotpo.com/llms.txt > Use this file to discover all available pages before exploring further. # Integrating Yotpo Reviews with Salesforce Commerce Cloud Products Reviews ###### Supported plans Free, Starter, Pro, Premium, Enterprise ###### eCommerce Platform Salesforce Commerce Cloud Yotpo’s suite of integrated solutions for user-generated content marketing helps commerce companies accelerate growth by enabling advocacy and maximizing customer lifetime value. With Yotpo, brands can effectively leverage social proof to increase trust and sales and make better business decisions based on real customer feedback. This document provides a technical overview and instructions for installing and using Yotpo's Salesforce Commerce Link Cartridge, enabling you to integrate various Yotpo features within a Salesforce Commerce storefront. Merchants using Yotpo's Salesforce Commerce Link Cartridge can access the following features: - Product Review Widget - Star Rating Widget - Automatic Review Request Emails ## Functional Overview Following is the list of features implemented in the Yotpo Link cartridge integration: - **Product Widgets** - Product Review Widget - Star Rating Widget - **Automatic Review Request Emails** - Order Export - **Analytics** - Purchase conversion tracking Important: For the storefront functionality to work properly, the **Purchasers Feed Export Generation** integration must be set up within your Salesforce Business Manager. #### Privacy and Payment - Masked Order Information and Aggregate Sales Information may be captured as part of purchase tracking implementation on the site - No customer-specific profile data or sensitive information will be stored related to Yotpo LINK cartridge - The Yotpo LINK cartridge itself is available free of charge. See the Limitations & Constraints section below for details regarding potential costs involved with enabling Yotpo to start collecting reviews on your behalf - In using the Yotpo LINK cartridge, you agree to Yotpo's [Terms of Service](https://www.yotpo.com/terms-of-service/) #### Limitations and constraints - To use the Salesforce Commerce Link Cartridge, you must be subscribed to an eligible Yotpo premium plan. - Use of the Yotpo LINK cartridge by itself does not grant nor enable the use of Yotpo product offerings. You must first enter a contractual agreement with Yotpo for Yotpo to start collecting reviews on behalf of your business. - To learn more, please reach out to Yotpo Sales at: [sales@yotpo.com](http://sales@yotpo.com) ## Use cases | Feature | Scenario | Result | | --- | --- | --- | | Product Review Widget | The merchant implements Product Review Widget on a page or pages in the store. | The user will be able to see the Product Review Widget on those store pages. | | Star Rating Widget | The merchant adds the Star Rating widget on Product or Category Landing Page in the store. | The user will be able to see a Star Rating Widget on those store pages. | | Automatic Review Requests (post-purchase review request emails) | The merchant schedules the job that sends the order data to the Yotpo API. | The user’s customers will receive review request emails according to the Yotpo account configuration. | ## Setup and configuration The Yotpo LINK integration makes use of the following cartridges: | Cartridge | Description | Service | | --- | --- | --- | | **int_yotpo_pipelines** | Pipeline Version | Yotpo Reviews | | **int_yotpo** | Controller Version | Yotpo Reviews | | **int_yotpo_sfra** | SFRA Version | Yotpo Reviews | #### Cartridge registration 1. Navigate to the following path: - **Administration** > **Manage Sites** > **Select Relevant Site** > **Settings** ![](https://cdn.document360.io/f3c2ab59-fe4c-4f93-9614-2872f40e8aa7/Images/Documentation/3ab98ed7-7fb3-42d5-8aa6-d32b46fdaff2.gif?sv=2026-02-06&spr=https&st=2026-10-31T18%3A16%3A04Z&se=2026-10-31T19%3A16%3A04Z&sr=c&sp=r&sig=WTBJ1JD%2Fmr201CqXB9iUErJAMDc3RlKKrI5NtULMnS8%3D) 2. Add cartridge names to the **Cartridges** path as demonstrated in each expandable section below: **Pipeline Version - int_yotpo_pipelines** ![](https://cdn.document360.io/f3c2ab59-fe4c-4f93-9614-2872f40e8aa7/Images/Documentation/db7e027d-96d4-4fc7-b97d-d12120d866d1.png?sv=2026-02-06&spr=https&st=2026-10-31T18%3A16%3A04Z&se=2026-10-31T19%3A16%3A04Z&sr=c&sp=r&sig=WTBJ1JD%2Fmr201CqXB9iUErJAMDc3RlKKrI5NtULMnS8%3D) **Controller Version - int_yotpo** ![](https://cdn.document360.io/f3c2ab59-fe4c-4f93-9614-2872f40e8aa7/Images/Documentation/fc3b1f19-8213-415b-91a9-3848b1e28fef.png?sv=2026-02-06&spr=https&st=2026-10-31T18%3A16%3A04Z&se=2026-10-31T19%3A16%3A04Z&sr=c&sp=r&sig=WTBJ1JD%2Fmr201CqXB9iUErJAMDc3RlKKrI5NtULMnS8%3D) **SFRA Version - int_yotpo_sfr** ![](https://cdn.document360.io/f3c2ab59-fe4c-4f93-9614-2872f40e8aa7/Images/Documentation/cbd882d4-5ca5-474c-9d13-9cd5a49fe5af.png?sv=2026-02-06&spr=https&st=2026-10-31T18%3A16%3A04Z&se=2026-10-31T19%3A16%3A04Z&sr=c&sp=r&sig=WTBJ1JD%2Fmr201CqXB9iUErJAMDc3RlKKrI5NtULMnS8%3D) #### SiteGenesis Controller Cartridge configuration The Yotpo cartridge relies on a “guard” script from SiteGenesis Controller cartridge if the integration is being implemented with controller version. The default name used is: **app_storefront_controllers** If the controller cartridge name differs from the default name, change; **exports.SITEGENESIS_CARTRIDGE_NAME = "app_storefront_controllers";** In **int_yotpo/cartridge/scripts/yotpo/utils/Constants.js** #### Import Yotpo metadata services and jobs schedules 1. Retrieve the metadata.zip file from the Yotpo cartridge’s Metadata folder: 2. Navigate to **Administration** > **Site Development** > **Site Import & Export** ![](https://cdn.document360.io/f3c2ab59-fe4c-4f93-9614-2872f40e8aa7/Images/Documentation/5f17fad1-dee0-4fb1-b0bd-86ccadf17e88.gif?sv=2026-02-06&spr=https&st=2026-10-31T18%3A16%3A04Z&se=2026-10-31T19%3A16%3A04Z&sr=c&sp=r&sig=WTBJ1JD%2Fmr201CqXB9iUErJAMDc3RlKKrI5NtULMnS8%3D) 3. Select the **metadata.zip** file and 4. Click on **Import** and complete the import process through the interface 1. The Jobs, Services, Site Preferences, and Custom Objects will be imported including Yotpo Configurations and Yotpo Jobs Configurations. 2. The details on job schedules and services are described in sections 3.3 and 3.4 respectively. 3. The details on Yotpo Custom Preferences are described in section 5.2.1. For further details on configuring custom objects see sections 5.2.2 and 5.2.3. #### Job details | Job | Description | | --- | --- | | **ExportOrders** | This job is for Controller version SiteGenesis or SFRA. This job transfers the purchase feed to Yotpo. | | **ExportOrdersPipeline** | This job is for Pipeline version SiteGenesis. This job transfers the purchase feed to Yotpo. | Note: Only one is required, make sure to delete the one not required. Make sure to configure the correct site for each job schedule in the Sites tab of each job schedule. #### Services details Navigate to **Administration** > **Services** After successfully importing services, the following will be added: | Name | Profile | Credentials | | --- | --- | --- | | int_yotpo.https.post.auth.api | int_yotpo.rest.api.profile | int_yotpo.https.post.auth.api.cred | | int_yotpo.https.post.export.purchase.api | int_yotpo.rest.api.profile | int_yotpo.https.post.export.purchase.api.cred | | int_yotpo.http.post.import.reviews.api | int_yotpo.rest.api.profile | int_yotpo.http.post.import.reviews.api.cred | #### Authentication service Navigate to **Administration** > **Operations** > **Services** > Click on the **Credentials** tab ![](https://cdn.document360.io/f3c2ab59-fe4c-4f93-9614-2872f40e8aa7/Images/Documentation/6c7faf5a-dc8e-4177-8972-d486981fdc38.png?sv=2026-02-06&spr=https&st=2026-10-31T18%3A16%3A04Z&se=2026-10-31T19%3A16%3A04Z&sr=c&sp=r&sig=WTBJ1JD%2Fmr201CqXB9iUErJAMDc3RlKKrI5NtULMnS8%3D) The URL for the authentication token API could be set in **int_yotpo.https.post.auth.api.cred** ![](https://cdn.document360.io/f3c2ab59-fe4c-4f93-9614-2872f40e8aa7/Images/Documentation/a2a19b22-c0aa-4c9f-b573-22ebdeecfac7.png?sv=2026-02-06&spr=https&st=2026-10-31T18%3A16%3A04Z&se=2026-10-31T19%3A16%3A04Z&sr=c&sp=r&sig=WTBJ1JD%2Fmr201CqXB9iUErJAMDc3RlKKrI5NtULMnS8%3D) Please note: Username and Password are not required. #### Export purchase service The URL for Export Post API could be set in **int_yotpo.https.post.export.purchase.api.cred** ![](https://cdn.document360.io/f3c2ab59-fe4c-4f93-9614-2872f40e8aa7/Images/Documentation/dc03ee0b-3749-4588-b7a3-620834ace050.png?sv=2026-02-06&spr=https&st=2026-10-31T18%3A16%3A04Z&se=2026-10-31T19%3A16%3A04Z&sr=c&sp=r&sig=WTBJ1JD%2Fmr201CqXB9iUErJAMDc3RlKKrI5NtULMnS8%3D) Please note: Username and Password are not required. The **[appKey]** parameter will be dynamically replaced in the code when making a service call. #### Import review service URL for importing review could be set in **int_yotpo.http.post.import.reviews.api.cred** ![](https://cdn.document360.io/f3c2ab59-fe4c-4f93-9614-2872f40e8aa7/Images/Documentation/c36aa562-7767-4ba1-acc3-9d8c1ec50d51.png?sv=2026-02-06&spr=https&st=2026-10-31T18%3A16%3A04Z&se=2026-10-31T19%3A16%3A04Z&sr=c&sp=r&sig=WTBJ1JD%2Fmr201CqXB9iUErJAMDc3RlKKrI5NtULMnS8%3D) ## Custom code pipelines and controllers **Adding Yotpo JavaScript** For widgets and conversion tracking to work, Yotpo's JavaScript must be included in storefront header file i.e. **htmlhead.isml**: ```javascript ``` **Adding Yotpo Modules** In order to add widgets and tracking modules make sure the Yotpo module modules are added on the top of each template. Copy the below code snippet: ```javascript ``` **Adding Product Review Widget** Product Review Widget can be added to any product page in your store. To add the Product Review Widget include the following Yotpo widget definition code snippet to the desired page *e.g. at the end of product details block in* ***productcontent.isml*** **Pipelines Version** ```javascript ``` **Controllers Version** ```javascript ``` **yotporeviewspage** is set to 1, but this can set to any arbitrary value to fetch specific review page. isreview should be set to true for loading reviews. Yotpo reviews are fetched from Yotpo in real-time and response is rendered by **yotporeviewsresponse.isml**. The page is cached for 24 hours for performance concerns, which can be adjusted in the template. ![](https://cdn.document360.io/f3c2ab59-fe4c-4f93-9614-2872f40e8aa7/Images/Documentation/aae0ef25-fbbc-4125-b95c-10db187279a7.png?sv=2026-02-06&spr=https&st=2026-10-31T18%3A16%3A04Z&se=2026-10-31T19%3A16%3A04Z&sr=c&sp=r&sig=WTBJ1JD%2Fmr201CqXB9iUErJAMDc3RlKKrI5NtULMnS8%3D) #### Adding the Star Rating widget on product pages The Star Rating Widget can be added to a product page template. To add Star Rating Widget include the following Yotpo widget definition code snippet to the desired page *e.g. after product ID in* ***productcontent.isml*** ```javascript ``` ![](https://cdn.document360.io/f3c2ab59-fe4c-4f93-9614-2872f40e8aa7/Images/Documentation/49308871-36d1-417c-93c9-3b7233714550.png?sv=2026-02-06&spr=https&st=2026-10-31T18%3A16%3A04Z&se=2026-10-31T19%3A16%3A04Z&sr=c&sp=r&sig=WTBJ1JD%2Fmr201CqXB9iUErJAMDc3RlKKrI5NtULMnS8%3D) #### Adding the Star Rating widget to category pages To add Star Rating Widget on Category/Search page, include following code snippet at top of the page *e.g in* ***categoryproducthits.isml*** ```javascript ``` And then add the following code snippet in the box below, to the desired page *e.g in* ***producttile.isml*** *after or before the following code snippet*. ```javascript ``` ![](https://cdn.document360.io/f3c2ab59-fe4c-4f93-9614-2872f40e8aa7/Images/Documentation/7be0907d-9a73-47a8-a6f6-6abf9bfe372c.png?sv=2026-02-06&spr=https&st=2026-10-31T18%3A16%3A04Z&se=2026-10-31T19%3A16%3A04Z&sr=c&sp=r&sig=WTBJ1JD%2Fmr201CqXB9iUErJAMDc3RlKKrI5NtULMnS8%3D) #### Adding purchase conversion tracking Conversion Tracking should be added in “confirmation page” in your store. In order to enable Conversion Tracking include following code snippet to the confirmation page *i.e. at the end of* ***confirmation.isml*** ```javascript ``` #### Adding Conversion Tracking widget Conversion Tracking should be added in **confirmation page** in your store. In order to enable Conversion Tracking, override any of order confirmation template *e.g.* ***confirmation.isml*** and include following code snippet; ```javascript ``` #### Custom Code SFRA The SFRA overridden templates resides in **int_yotpo_sfra**. SFRA architecture doesn’t allow extending template functionality therefore complete templates are overridden. It is highly recommended to copy the specific code only, if other cartridges have customised their functionality. The details of default overridden templates are described below. #### Adding Yotpo JavaScript For widgets and conversion tracking to work, Yotpo's dynamic JavaScript must be included in SFRA storefront header file *i.e.* ***htmlhead.isml*** ```javascript ``` See default overridden templates in the cartridge for reference: - **/int_yotpo_sfra/cartridge/templates/default/common/htmlHead.isml** #### Adding Product Review Widget Product reviews can be added to any product page in your store. To add product reviews, override the desired template and include the following code snippet in *e.g.* ***descriptionAndDetails.isml*** ```javascript ``` - See default overridden templates in the cartridge for reference: **/int_yotpo_sfra/cartridge/templates/default/product/components/descriptionAndDetails.isml** #### Adding Product Ratings Widget (Category and PDP) Product ratings can be added to any product page/tile in your store. To add product ratings override the desired template and include the following code snippet in *e.g.* ***productRating.isml*** for Product Details Page and **ratings.isml** for Category/Search pages. ```javascript ``` See default overridden templates in the cartridge for reference: - **/int_yotpo_sfra/cartridge/templates/default/product/components/productRating.isml** - **/int_yotpo_sfra/cartridge/templates/default/product/components/ratings.isml** #### Adding Conversion Tracking Widget Conversion Tracking should be added in **confirmation page** in your store. In order to enable Conversion Tracking override any of order confirmation template *e.g.* ***confirmation.isml*** and include following code snippet; ```javascript ``` See default overridden templates in the cartridge for reference: - **/int_yotpo_sfra/cartridge/templates/default/checkout/confirmation/confirmation.isml** #### Testing To see a demo of product reviews and Star Rating visit the following pages: - [http://yotpo01-tech-prtnr-eu01-dw.demandware.net/s/SiteGenesis/en_US/womens/clothing/tops/25518058.html](http://yotpo01-tech-prtnr-eu01-dw.demandware.net/s/SiteGenesis/en_US/womens/clothing/tops/25518058.html) - [http://yotpo01-tech-prtnr-eu01-dw.demandware.net/s/MobileFirst/black-single-pleat-athletic-fit-wool-suit/750518699578.html](http://yotpo01-tech-prtnr-eu01-dw.demandware.net/s/SiteGenesis/en_US/womens/clothing/tops/25518058.html) ## Data storage #### Order Custom Attributes | ID | Name | Type | | --- | --- | --- | | userAgent | User Agent | String | | userIPAddress | User IP Address | String | | YotpoAttributes | Yotpo Attributes | ------- | ## Availability Yotpo services are based on a high-availability infrastructure and have 99.9% uptime. If Yotpo endpoints go down and your pages are unable to get reviews from our servers, the Yotpo reviews and Star Rating will simply not show, it won’t degrade or break your page in any way. Need help? Contact [Yotpo Support](https://my.yotpo.com/contact_support) regarding this LINK cartridge. ## User guide ### Roles and responsibilities Yotpo Export Orders job should be scheduled to run at least once daily. Make sure **enablePurchaseFeed**, **enableReviews**, and **enableBottomLine** is enabled in: **Merchant Tools** > **Custom Objects** > **Custom Objects Editor** > **Yotpo Configurations** for a specific locale to make ratings, reviews, or conversation tracking work. ![](https://cdn.document360.io/f3c2ab59-fe4c-4f93-9614-2872f40e8aa7/Images/Documentation/71799510-26e0-4684-bfc5-b6389c9f3f2d.gif?sv=2026-02-06&spr=https&st=2026-10-31T18%3A16%3A04Z&se=2026-10-31T19%3A16%3A04Z&sr=c&sp=r&sig=WTBJ1JD%2Fmr201CqXB9iUErJAMDc3RlKKrI5NtULMnS8%3D) ## Business Manager ### Yotpo Site Preferences The Yotpo LINK cartridge consists of the following configuration properties in: - **Site** > **Site Preferences** > **Custom Preferences** > **Yotpo Configs** ![](https://cdn.document360.io/f3c2ab59-fe4c-4f93-9614-2872f40e8aa7/Images/Documentation/5a52cef0-aa8c-4db0-bd32-3818e50fe79b.png?sv=2026-02-06&spr=https&st=2026-10-31T18%3A16%3A04Z&se=2026-10-31T19%3A16%3A04Z&sr=c&sp=r&sig=WTBJ1JD%2Fmr201CqXB9iUErJAMDc3RlKKrI5NtULMnS8%3D) --- | Custom Attribute Name | Function | | --- | --- | | **Yotpo Cartridge Enabled** | Enables/disables the Yotpo cartridge | | **Yotpo Static Content URL** | The base URL to load static content from Yotpo | | **Yotpo Conversion Tracking Pixel URL** | Conversion tracking pixel URL | | **Import Reviews Realtime** | Designates whether reviews are imported in real-time | | **Product Information From Master** | Makes production information configurable whether the information will be exported from master or from variants. | | **Export Group ID in Order** | Used to make the logic configurable that whether the master product if will be exported as JSON or not. | | **Yotpo Orders Batch Size** | This attribute contains batch size for the number of orders that should be processed at one time, while exporting purchase feed. | | **Yotpo Info Log Enabled** | The flag controls the info log level in whole Yotpo cartridge. By default, the info log will be disabled, therefore to enable the checkbox should be checked. | | **Yotpo Debug Log Enabled** | The flag controls the debug log level in whole Yotpo cartridge. By default, the debug log will be disabled, therefore to enable the checkbox should be checked. | Note: The default values are already set; therefore, you don’t need to change anything unless needed. ### Setting up yotpoConfiguration 1. Navigate to **Merchant Tools** > **Custom Objects** > **Custom Object Editor** 2. Select **yotpoConfigurations** 3. Click **New** ![](https://cdn.document360.io/f3c2ab59-fe4c-4f93-9614-2872f40e8aa7/Images/Documentation/f5697ab5-a5b4-46c1-a640-ee295fd04f88.png?sv=2026-02-06&spr=https&st=2026-10-31T18%3A16%3A04Z&se=2026-10-31T19%3A16%3A04Z&sr=c&sp=r&sig=WTBJ1JD%2Fmr201CqXB9iUErJAMDc3RlKKrI5NtULMnS8%3D) 4. Configure the your values in the relevant fields: 1. Refer to the table below if you need help. ![](https://cdn.document360.io/f3c2ab59-fe4c-4f93-9614-2872f40e8aa7/Images/Documentation/7605d903-6612-4718-9ff3-04e55ed35138.png?sv=2026-02-06&spr=https&st=2026-10-31T18%3A16%3A04Z&se=2026-10-31T19%3A16%3A04Z&sr=c&sp=r&sig=WTBJ1JD%2Fmr201CqXB9iUErJAMDc3RlKKrI5NtULMnS8%3D) | Custom Attribute Name | Function | | --- | --- | | **localeID** | The Locale ID represents a specific account on Yotpo. This locale ID should always be entered from the selected Locales configured at Administration > Global Preferences > Locales | | **App Key** | An App key that can be used for a specific account on Yotpo | | **Client Secret Key** | A Client Secret Key which contains information for a specific account on Yotpo | | **Enable Bottomline** | A flag used to indicate whether the star ratings are enabled or disabled for the specific Locale. | | **Enable Purchase Feed** | A flag used to indicate whether the purchase feed is enabled or disabled for the specific Locale. | | **Enable Reviews** | A flag used to enable or disable the reviews for the specific Locale. | | **uToken Authentication Code** | A token which retrieved from Yotpo Authentication call response. It remains valid for some hours before it expires. If once expires it is updated by the Yotpo authentication process automatically. | ### Set up the yotpoJobsConfiguration Select **yotpoJobsConfigurations** and press New as shown in the screenshot below: ![](https://cdn.document360.io/f3c2ab59-fe4c-4f93-9614-2872f40e8aa7/Images/Documentation/f5985b97-2ae5-4538-ac0f-e6c13c0b993e.png?sv=2026-02-06&spr=https&st=2026-10-31T18%3A16%3A04Z&se=2026-10-31T19%3A16%3A04Z&sr=c&sp=r&sig=WTBJ1JD%2Fmr201CqXB9iUErJAMDc3RlKKrI5NtULMnS8%3D) | Custom Attribute Name | Function | | --- | --- | | **Order Feed Job Last Execution Date Time** | This attribute used to store the order feed job last execution date time. This is automatically updated by Export Orders process, however initially it should be set to some specific date in the past. | | **ID** | The Id of the custom object, which should always be “1”. |