> For the complete documentation index, see [llms.txt](https://fredhopper.gitbook.io/product-discovery/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fredhopper.gitbook.io/product-discovery/getting-started/fhr-integration-checklist.md).

# FHR Integration Checklist

The FHR Integration Checklist walks you through each step of the integration process for Fredhopper, ensuring you've the right information and resources for a smooth onboarding without delays.

## Overview

{% stepper %}
{% step %}
[**Prepare for integration**](#prepare-for-integration-1)

Make sure that all prerequisites are met before starting the hands-on implementation work to ensure a smooth integration process without delays.
{% endstep %}

{% step %}
[**Connect and sync product data**](#connect-and-sync-product-data-1)

Successfully send your product data to Fredhopper or allow for your Rezolve AI Technical Consultant to retrieve the relevant data from your provider.
{% endstep %}

{% step %}
[**Connect and sync analytics data**](#connect-and-sync-analytics-data-1)

Successfully send your product data to Fredhopper or allow for the relevant data to be pulled from Google Analytics v4 or another provider.
{% endstep %}

{% step %}
[**Provide data for Suggest+**](#provide-data-for-suggest-1)

Provide all necessary data to enable type-ahead search suggestions that help users quickly find relevant keywords, products, and categories.
{% endstep %}

{% step %}
[**Verify Merchandising Studio readiness**](#verify-merchandising-studio-readiness-1)

Ensure that relevant business use cases are configured in the [Merchandising Studio](#user-content-fn-1)[^1] so you can run query tests during front-end integration.
{% endstep %}

{% step %}
[**Implement the front-end**](#implement-the-front-end-1)

Realize the Fredhopper front-end integration depending on your defined use cases.
{% endstep %}

{% step %}
[**Set up front-end tracking**](#set-up-front-end-tracking-1)

Monitor customer activity on your application, view detailed analytics on your Insights dashboard, and track data required for AI-based Fredhopper functionalities.
{% endstep %}

{% step %}
[**Set up A/B testing**](#set-up-a-b-testing-1)

Ready your front-end for A/B testing and enable merchandisers to test the effect of their Merchandising Studio configurations.
{% endstep %}

{% step %}
[**Activate additional functionalities**](#activate-additional-functionalities-1)

Configure and activate additional features included in your purchase, such as AI Search or AI Scores.
{% endstep %}

{% step %}
[**Test and validate your integration**](#test-and-validate-your-integration-1)

Make sure everything is working properly so you can launch with confidence.
{% endstep %}
{% endstepper %}

***

## Prepare for integration

Make sure that all prerequisites are met before before starting the hands-on implementation work to ensure a smooth integration process without delays.

### Tasks to complete

* Ensure you've a solid understanding of your own business use cases:
  * Which parts of your application will be powered by Fredhopper
  * What should the parts powered by Fredhopper look like
  * Based on which attributes are products likely to be promoted
* Familiarize yourself with the general functionalities of Fredhopper depending on the details of the purchase.
* As you read through the documentation, take note of any questions you might have to discuss them in the kick-off meeting or during the requirements gathering phase with your Rezolve AI Technical Consultant.

{% hint style="info" %}
Your Rezolve AI Technical Consultant will discuss your use cases and define all requirements with you during the initial sessions.
{% endhint %}

{% hint style="info" %}
You can always contact your Rezolve AI Technical Consultant with any questions that may come up during the integration process.
{% endhint %}

***

## Connect and sync product data

Successfully send your product data to Fredhopper, ensuring it's properly formatted and structured for a seamless ingestion.

### Before you begin

* Understand which method you will be using to transfer data from your sources to Fredhopper, i.e. the Items API or full flat files (in either CSV or JSON format).

{% hint style="info" %}
Your Rezolve AI Technical Consultant will have advised you on which method to use to integrate your product data.
{% endhint %}

* Ahead of the Data Integration Session with your Rezolve AI Technical Consultant, familiarize yourself with the ideal data format for the chosen method.
* Understand which attributes have to be included in the product data feed and ensure that you've taken a look at the Data Definition Sheet provided by your Rezolve AI Technical Consultant.

{% hint style="info" %}
Your Rezolve AI Technical Consultant will help you understand which attributes are used where depending on the discussed business use cases and will provide the Data Definition Sheet.
{% endhint %}

* Prepare your environment to process your product data.

### Tasks to complete

{% tabs %}
{% tab title="Items API" %}

* Follow instructions provided in the [step by step guide](/product-discovery/sending-and-managing-product-data/what-is-the-items-api/step-by-step-guide-for-fredhopper-customers.md).
  {% endtab %}

{% tab title="CSV flat files" %}

1. Export your data from your data source.
2. [Format your data](/product-discovery/sending-and-managing-product-data/flatfiles/item-data-structure.md).
3. Create the [CSV files required for a full product data feed](/product-discovery/sending-and-managing-product-data/flatfiles/fullprodfeed/full-feed-csv-data-format.md).
4. [Start sending your data](/product-discovery/sending-and-managing-product-data/flatfiles/uploading-prod-data.md).
   {% endtab %}

{% tab title="JSON flat files" %}

1. Export your data from your data source.
2. [Format your data](/product-discovery/sending-and-managing-product-data/flatfiles/item-data-structure.md).
3. Create the [JSON files required for a full product data feed](/product-discovery/sending-and-managing-product-data/flatfiles/fullprodfeed/full-feed-json-data-format.md).
4. [Start sending your data](/product-discovery/sending-and-managing-product-data/flatfiles/uploading-prod-data.md).
   {% endtab %}
   {% endtabs %}

{% hint style="warning" %}
While only the full data feed is a strict requirement to go live, we recommend also already preparing for [incremental data updates](/product-discovery/sending-and-managing-product-data/flatfiles/incrementalprodfeed.md) at this stage (if this process is relevant to your integration).
{% endhint %}

### Test your work

{% tabs %}
{% tab title="Items API" %}

* Process the receipt responses when sending items to check whether they have been received successfully.
* Use the [Feedback API](/product-discovery/sending-and-managing-product-data/what-is-the-items-api/feedback-api.md) to check the summary of updates.
  {% endtab %}

{% tab title="CSV flat files" %}

* Check the [Data Quality Report](/product-discovery/sending-and-managing-product-data/flatfiles/uploading-prod-data.md#fulldata-csv-stepsix-checkthedataqualityreport) for warnings or rejected items.

{% hint style="success" %}
Follow the [formatting guidelines](/product-discovery/sending-and-managing-product-data/flatfiles/fullprodfeed/full-feed-csv-data-format.md) and ensure that you:

* Send products with variants (if applicable).
* Send IDs in lowercase letters only.
* Provide values for all localized attributes.
  {% endhint %}
  {% endtab %}

{% tab title="JSON flat files" %}

* Check the [Data Quality Report](/product-discovery/sending-and-managing-product-data/flatfiles/uploading-prod-data.md#fulldata-csv-stepsix-checkthedataqualityreport) for warnings or rejected items.

{% hint style="success" %}
Follow the [formatting guidelines](/product-discovery/sending-and-managing-product-data/flatfiles/fullprodfeed/full-feed-json-data-format.md) and ensure that you:

* Send products with variants (if applicable).
* Send IDs in lowercase letters only.
* Provide values for all localized attributes.
  {% endhint %}
  {% endtab %}
  {% endtabs %}

***

## Connect and sync analytics data

Successfully send your product data to Fredhopper or allow for the relevant data to be pulled from Google Analytics v4 or another provider.

### Before you begin

* You must have at least partially finished the [product data integration](#connect-and-sync-product-data-1).

{% hint style="info" %}
Which parts of the product data integration are necessary to start the analytics data integration depends on the chosen method. Your Rezolve AI Technical Consultant will provide more detailed information on the prerequisites.
{% endhint %}

### Tasks to complete

{% tabs %}
{% tab title="GA v4" %}

* To ensure that your Rezolve AI Technical Consultant has access to GA v4, follow [the step by step instructions for sending analytics data using GA v4](/product-discovery/sending-and-managing-analytics-data/sending-analytics-data-using-google-analytics-v4.md).

{% hint style="info" %}
If you have any questions, reach out to your Rezolve AI Technical Consultant.
{% endhint %}
{% endtab %}

{% tab title="Other providers" %}

* Provide the required search term and product analytics data, following [the step by step instructions for sending data using other providers](/product-discovery/sending-and-managing-analytics-data/sending-analytics-data-using-other-providers.md).

{% hint style="info" %}
You have any questions, reach out to your Rezolve AI Technical Consultant.
{% endhint %}
{% endtab %}
{% endtabs %}

***

## Provide data for Suggest+

Provide all necessary data to enable [type-ahead search suggestions](https://support.rezolve.com/hc/en-us/articles/31233893014685-Introducing-Suggest) that help users quickly find relevant keywords, products, and categories.

### Before you begin

* You must have successfully performed the [product data integration](#connect-and-sync-product-data-1).
* You must have successfully performed the [analytics data integration](#connect-and-sync-analytics-data-1).
* Specify your preferred format for providing the necessary data, i.e. CSV files or Google Sheets.
* Optional: Have a block- and a promote-list ready at hand. These lists are usually provided by your merchandising team.

### Tasks to complete

{% tabs %}
{% tab title="CSV Files" %}

* Optional: Ensure that the [block- and the promote-list](/product-discovery/sending-and-managing-product-data/flatfiles/searchsuggest/suggest-service-data-format.md) are in the required format.

{% hint style="info" %}
Your Rezolve AI Technical Consultant will discuss the specific format required for your integration with you.
{% endhint %}

* [Provide the data and trigger the upload.](/product-discovery/sending-and-managing-product-data/flatfiles/searchsuggest/suggest-data-uploads.md)
  {% endtab %}

{% tab title="Google Sheets" %}

* Optional: Ensure that the block- and the promote-list are in the required format.

{% hint style="info" %}
Your Rezolve AI Technical Consultant will discusse the specific format required for your integration with you.
{% endhint %}

* Grant your Rezolve AI Technical Consultant access to the Google Sheets containing the required information.
  {% endtab %}
  {% endtabs %}

### Test your work

* Test your implementation using searches representing actual customer behavior. For more information see [Testing your Suggest+ implementation](https://support.rezolve.com/hc/en-us/articles/33393367159709-Testing-your-Suggest-Integration).

***

## Verify Merchandising Studio readiness

Ensure that relevant business cases are configured in the [Merchandising Studio](https://support.rezolve.com/hc/en-us/articles/11135762348829-Getting-Started-with-Fredhopper) so you can run query tests during front-end integration.

### Tasks to complete

* Prepare for using [SSO for your Merchandising Studio by configuring Keycloak](/product-discovery/fhr-merchandising-studio-sso-setup/configuring-microsoft-entra-id-for-sso-access.md).
* Coordinate with your merchandisers and your Rezolve AI Technical Consultant to ensure that multiple representative use cases have been successfully set up in the Merchandising Studio. The baseline setup usually includes a [ranking rule](https://support.rezolve.com/hc/en-us/articles/11135645097629-How-to-Create-a-New-Ranking-Rule), a [facet rule](https://support.rezolve.com/hc/en-us/articles/11135714492317-Getting-Started-with-Facets), and a [redirect rule](https://support.rezolve.com/hc/en-us/search/click?data=BAh7DjoHaWRsKwidUzG4IAo6D2FjY291bnRfaWRpA22EpToJdHlwZUkiDGFydGljbGUGOgZFVDoIdXJsSSJiaHR0cHM6Ly9zdXBwb3J0LmNyb3ducGVhay5jb20vaGMvZW4tdXMvYXJ0aWNsZXMvMTExMzU2NDU0NzE2NDUtR2V0dGluZy1TdGFydGVkLXdpdGgtUmVkaXJlY3RzBjsIVDoOc2VhcmNoX2lkSSIpNjE2ZWU1NzMtZTZlYy00ZjZmLWJiZDgtZmU1ODA4ZjllYmM1BjsIRjoJcmFua2kIOgtsb2NhbGVJIgplbi11cwY7CFQ6CnF1ZXJ5SSINcmVkaXJlY3QGOwhUOhJyZXN1bHRzX2NvdW50aV0%3D--ec5909b44cba6e858a81725174c44fa5638dcc7f) (if redirects are used).

***

## Implement the front-end

Implement the Fredhopper front-end integration depending on your defined use cases.

### Before you begin

* You should have at least finalized the data structure as part of your [product data integration](#connect-and-sync-product-data-1).
* Understand which components of your application are powered by Fredhopper.
* Specify your preferred method for the front-end implementation, i.e. REST/XML or REST/JSON.
* Relevant [business use cases should already be set up](#verify-merchandising-studio-readiness-1) in the Merchandising Studio to test your front-end implementation once ready.

### Tasks to complete

1. Understand the [FHR Query API](/product-discovery/building-the-front-end-experience-with-fhr/what-is-the-query-api.md), the [FHR Query Language ](/product-discovery/building-the-front-end-experience-with-fhr/fredhopper-query-language.md)and the [Query Response](/product-discovery/building-the-front-end-experience-with-fhr/sending-queries.md).
2. Start trying out and sending [queries](/product-discovery/building-the-front-end-experience-with-fhr/understanding-the-fhr-query-response/fredhopper-query-and-response-samples.md), for example:

* a PLP[^2] request
* an SLP[^3] request
* a [PDP ](#user-content-fn-4)[^4]request
* a homepage request
* a landing page request

{% hint style="success" %}
Ensure that the queries you experiment with closely represent the final business use cases discussed with your Rezolve AI Technical Consultant during the [preparation phase](#prepare-for-integration-1).
{% endhint %}

3. Implement the query response into your front-end application following the [Integration Best Practices](/product-discovery/building-the-front-end-experience-with-fhr/best-practice/integration-best-practices.md).

### Test your work

* Compare the results returned to the results shown in the [FHR Preview Page](https://support.rezolve.com/hc/en-us/articles/11135762348829-Getting-Started-with-Fredhopper). If the results do not match, take a look at the actual query to ensure FHR is queried correctly. If you still can't pinpoint the issue, reach out to your Rezolve AI Technical Consultant for help.

***

## Set up front-end tracking

Monitor customer activity on your application, view detailed analytics on your [Insights dashboard](https://support.rezolve.com/hc/en-us/articles/24387515850781-First-Insights-An-introduction), and track data required for AI-based Fredhopper functionalities, such as [AI Scores](/product-discovery/ai-scores-for-fhr/ai-scores.md).

### Before you begin

* Inform your Rezolve AI Technical Consultant about how many tracker keys you require. This will depend on whether/how many countries you want to track separately. Your Rezolve AI Technical Consultant will provide the keys accordingly.

### Tasks to complete

* Set up the front-end tracker according to the [instructions provided](/product-discovery/tracking-and-sending-events/sending-events.md).

### Test your work

* Check sent activity events with a browser development tool.
* [View your customer activity data](https://support.rezolve.com/hc/en-us/articles/24917593831709-Inside-Insights-A-user-guide) in your Insights dashboard.

***

## Set up A/B testing

Ready your front-end for A/B testing and enable merchandisers to test the effect of their Merchandising Studio configurations.

### Before you begin

* You must have successfully implemented the [front-end tracker](#set-up-front-end-tracking-1).
* Specify whether you will be using the caching and non-caching integration solution for A/B testing.

### Tasks to complete

{% tabs %}
{% tab title="Caching" %}

* Choose between the manual and the Java SDK integration and follow the [instructions](/product-discovery/a-b-testing-for-fhr/integration-steps-for-a-caching-solution.md) accordingly.

{% hint style="success" %}
Rezolve AI provides code examples for various programming languages in the [A/B testing documentation](/product-discovery/a-b-testing-for-fhr/fhr-a-b-testing.md).
{% endhint %}
{% endtab %}

{% tab title="Non-Caching" %}

* [Add the session ID parameter](/product-discovery/a-b-testing-for-fhr/integration-steps-for-a-non-caching-solution.md#adding-the-session-id-parameter) to the FHR query sent.
* Disable caching on all pages that use FHR where you plan to test a configuration.
  {% endtab %}
  {% endtabs %}

### Test your work

* [Set up an A/B test](https://support.rezolve.com/hc/en-us/sections/11135329921693-A-B-Testing) in the Merchandising Studio.
* Check to see if different versions are applied in the front-end.
* [View the results in your Insights dashboard](https://support.rezolve.com/hc/en-us/articles/24917593831709-Inside-Insights-A-user-guide).

***

## Activate additional functionalities

Configure and activate additional functionalities included in your purchase.

{% hint style="warning" %}
Whether or not the steps described below are relevant to you depends on your purchase details. Please check your purchase details or contact your Rezolve AI Technical Consultant to determine whether the following information is relevant.
{% endhint %}

<details>

<summary>Enable AI Semantic Search</summary>

Turn on [AI Semantic Search](https://support.rezolve.com/hc/en-us/articles/28773633534493-Introducing-Fredhopper-AI-Semantic-Search) to help customers find what they’re looking for faster and easier.

**Before you begin**

* You should have successfully [implemented the front-end tracker](broken://spaces/ce81mRuhOwUovyUsn347/pages/prkbOpfzJm80EGveCpe0).
* Ensure that all [prerequisites](https://support.rezolve.com/hc/en-us/articles/31011722457757-Preparing-for-AI-Semantic-Search) are met.

{% hint style="info" %}
For further details reach out to your Rezolve AI Technical Consultant.
{% endhint %}

**Tasks to complete**

* Reach out to your Rezolve AI Technical Consultant with the relevant information. Your Technical Consultant will enable AI Search.

</details>

<details>

<summary>Enable AI Scores</summary>

Use [AI Scores](/product-discovery/ai-scores-for-fhr/ai-scores.md) to suggest relevant products and keep customers engaged utilizing cluster-based personalization.

**Before you begin**

* You must have [implement and deployed the front-end tracker](/product-discovery/tracking-and-sending-events/implementation-guide.md) three to six months prior to the go live of AI Scores.
* If front-end tracking has been in place less than three to six months, you must provide sales data from at least the past 3 months.

**Tasks to complete**

* Reach out to your Rezolve AI Technical Consultant with the [relevant data](/product-discovery/ai-scores-for-fhr/ai-scores.md). Your Technical Consultant will enable AI Scores for you.
* Implement the additional front-end integration logic to use AI Scores:
  * [Retrieve the AI Scores cluster.](/product-discovery/ai-scores-for-fhr/usage.md)
  * Add the relevant URL parameter to the FHR query.

{% hint style="info" %}
Your Rezolve AI Technical Consultant will specify the relevant URL parameter.
{% endhint %}

**Test your work**

* Check if the correct cluster is applied and added to the query.

</details>

***

## Test and validate your integration

Make sure everything is working properly so you can launch with confidence.

### Tasks to complete

* Ensure you test and check all items listed on the go-live checklist provided to you by your Rezolve AI Technical Consultant.

[^1]: Fredhopper Merchandising Studio provides onsite search, navigation, personalisation, merchandising, and recommendations capabilities that hook to a web store. When used as designed, this range of services and features enables businesses to better target shoppers to online stores and show them products and content that will likely increase conversion rates at different stages of the shopper journey.

[^2]: The product listing page (PLP), commonly known as a category page, is the page on the website that returns a list of products when a shopper navigates within the websites category structure.

[^3]: The search listing page (SLP) is the page on the website that returns a list of products when a shopper completes a search.

[^4]: The product detail page (PDP) is the page on the website that provides all the detailed information about one specific product.
