# FHR Integration Checklist

## 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 Crownpeak 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 Crownpeak Technical Consultant.

{% hint style="info" %}
Your Crownpeak 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 Crownpeak 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 Crownpeak 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 Crownpeak 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 Crownpeak Technical Consultant.

{% hint style="info" %}
Your Crownpeak 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 Crownpeak Technical Consultant will provide more detailed information on the prerequisites.
{% endhint %}

### Tasks to complete

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

* To ensure that your Crownpeak 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 Crownpeak 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 Crownpeak Technical Consultant.
{% endhint %}
{% endtab %}
{% endtabs %}

***

## Provide data for Suggest+

Provide all necessary data to enable [type-ahead search suggestions](https://support.crownpeak.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 Crownpeak 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 Crownpeak Technical Consultant will discusse the specific format required for your integration with you.
{% endhint %}

* Grant your Crownpeak 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.crownpeak.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.crownpeak.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 Crownpeak 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.crownpeak.com/hc/en-us/articles/11135645097629-How-to-Create-a-New-Ranking-Rule), a [facet rule](https://support.crownpeak.com/hc/en-us/articles/11135714492317-Getting-Started-with-Facets), and a [redirect rule](https://support.crownpeak.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 Crownpeak 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.crownpeak.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 Crownpeak Technical Consultant for help.

***

## Set up front-end tracking

Monitor customer activity on your application, view detailed analytics on your [Insights dashboard](https://support.crownpeak.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 Crownpeak Technical Consultant about how many tracker keys you require. This will depend on whether/how many countries you want to track separately. Your Crownpeak 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.crownpeak.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" %}
Crownpeak 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.crownpeak.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.crownpeak.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 Crownpeak 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.crownpeak.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.crownpeak.com/hc/en-us/articles/31011722457757-Preparing-for-AI-Semantic-Search) are met.

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

**Tasks to complete**

* Reach out to your Crownpeak 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 Crownpeak 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 Crownpeak 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 Crownpeak 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://crownpeak.gitbook.io/product-discovery/getting-started/fhr-integration-checklist.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
