> For the complete documentation index, see [llms.txt](https://docs.fact-finder.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fact-finder.com/oxid/sdk-v6.x/backend-configuration.md).

# Backend configuration

## Backend configuration

Once activated, open **Extensions → Modules →** FactFinder **Web Components | Omikron Data Quality GmbH → Settings**.

## Main settings

[![Main Settings](https://github.com/FACT-Finder-Web-Components/oxid-eshop-module/raw/release/6.x/docs/assets/main-settings.png)](https://github.com/FACT-Finder-Web-Components/oxid-eshop-module/blob/release/6.x/docs/assets/main-settings.png)

This section contains the configuration required for the module. Web Components and server-side communication use these values.

* **Server URL** — The FactFinder instance URL. Include a protocol, such as `https://`, and end with `fact-finder`.
* **Channel** — The channel that provides data. Configure one channel for every active application language.
* **Username for the FACT-Finder Import** — Your account username. Required for automatic imports.
* **Password for the FACT-Finder Import** — Your account password.
* **FACT-Finder API key** — Used to fetch FactFinder data. Required for Web Components.

## Buttons

[<img src="https://github.com/FACT-Finder-Web-Components/oxid-eshop-module/raw/release/6.x/docs/assets/configuration-buttons.png" alt="Buttons" data-size="line">](https://github.com/FACT-Finder-Web-Components/oxid-eshop-module/blob/release/6.x/docs/assets/configuration-buttons.png)

### Update Field Roles

Update field roles after changing them in FactFinder. By default, they match module-exported columns. If you rename a role column, such as `Master` or `ProductNumber`, update the roles.

### Export Feed

Export a feed manually. See [Export methods](/oxid/sdk-v6.x/export-methods.md) for details.

### Test Connection

Verify your FACT-Finder API key and the SDK connection. This test uses form data, so you do not need to save first. It uses the `de` channel value.

### Test FTP Connection

Test whether your shop can connect to the configured FTP/SFTP server. It uses request parameters, so you do not need to save first.

### Test Push Import

Verify your FACT-Finder username and password. This test uses form data, so you do not need to save first. It uses the `de` channel value.

## Advanced settings

[![Advanced Settings](https://github.com/FACT-Finder-Web-Components/oxid-eshop-module/raw/release/6.x/docs/assets/advanced-settings.png)](https://github.com/FACT-Finder-Web-Components/oxid-eshop-module/blob/release/6.x/docs/assets/advanced-settings.png)

* `Anonymize User ID?` — Send an anonymized user ID with tracking requests.
* `Use Proxy` — Send each Web Components request through the module controller. See [Proxy](#proxy).
* `How to count single click on "Add to cart" button?` — Choose how to count one **Add to cart** click.
* `Send the SID as userId when user not logged in?`
* `Atlas AI support` — Handles Atlas AI requirements automatically. It creates a dedicated user ID and persists it across sessions. Enabling it overwrites existing user IDs for logged-in users.
* `Add cart button for product list` — Shows **Add to cart** in product lists.

### Server-side rendering

This setting enables server-side rendering for `ff-record-list` on category and search pages. The initial HTML contains pre-rendered custom elements. This improves SEO because crawlers can scan product data.

See [Server Side Rendering](/webcomponents-overview/guides/advanced/server-side-rendering.md) in the Web Components documentation.

### Proxy

The proxy adds an OXID controller between Web Components and FactFinder. It lets you customize requests and responses. You can enrich incoming data with `EnrichProxyDataEvent` or implement fallback logic.

```
//src/Controller/SearchResultController.php:84
protected function fallback(): void
{
    // Implement fallback logic for communication errors.
    $this->showJsonAndExit('Error: Unable to process the request.');
}
```

Enable the proxy with an HTTP-server rewrite rule. OXID uses `cl` and `fnc` query parameters and does not route URL parts.

```apache
RewriteRule ^rest/v5/(.*)$ index.php?cl=search_result&fnc=proxy&$1 [L]
```

> **Note:** Routing requests through OXID reduces performance. Enable the proxy only when needed.

## Feature settings

[![Features Settings](https://github.com/FACT-Finder-Web-Components/oxid-eshop-module/raw/release/6.x/docs/assets/features-settings.png)](https://github.com/FACT-Finder-Web-Components/oxid-eshop-module/blob/release/6.x/docs/assets/features-settings.png)

* `Use FactFinder for category pages?` — Uses Web Components on category pages.
* `Category Path field name` — Defaults to `CategoryPath`. Change it when your FactFinder instance uses another category field.
* `Campaigns` — Enables product, feedback-text, and shopping-cart campaign elements.
* `Recommendations` — Enables `ff-recommendation` on product pages.
* `Similar products` — Enables `ff-similar-products` on product pages.
* `Pushed products` — Enables `ff-campaign-pushed-products` on cart pages.

### Category pages

The module keeps standard OXID routing to preserve category URLs and SEO. It sends custom parameters with the FactFinder search request. Opening a category page emits a search event.

## Feed settings

[![Feed Settings](https://github.com/FACT-Finder-Web-Components/oxid-eshop-module/raw/release/6.x/docs/assets/feed-settings.png)](https://github.com/FACT-Finder-Web-Components/oxid-eshop-module/blob/release/6.x/docs/assets/feed-settings.png)

Choose attributes to export. To export an attribute in a separate column, select it and set `Multi-Attribute` to `No`. With `Multi-Attribute` set to `Yes`, the attribute is added to `FilterAttributes`. Selection attributes always use `FilterAttributes`.

## Export settings

[![Export Settings](https://github.com/FACT-Finder-Web-Components/oxid-eshop-module/raw/release/6.x/docs/assets/export-settings.png)](https://github.com/FACT-Finder-Web-Components/oxid-eshop-module/blob/release/6.x/docs/assets/export-settings.png)

Configure these fields to export a feed file to your FTP server:

* FTP host, port, user, and password
* SSL-enabled, for secure FTP connections
* Automatic import of product, to import after upload
* Import Data, Suggest, and Recommendation
* Basic Auth user and password for HTTP exports
* Log path and export-on-error behavior

> **Note:** Automatic import requires an FTP server. Basic Auth protects HTTP exports.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.fact-finder.com/oxid/sdk-v6.x/backend-configuration.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
