---
title: "Academy App"
canonical_url: "https://academy.laioutr.com/en/apps/nimstrata-ai-search-and-recommendations-google-retail"
locale: en
meta:
  "og:title": "Academy App"
---

[Go to home](https://academy.laioutr.com/en)

- [Apps](https://academy.laioutr.com/en/bereiche/apps)

- [Search and recommendations](https://academy.laioutr.com/en/leitfaeden/search-and-recommendations)

- [Nimstrata: AI search and recommendations via Google Retail API](https://academy.laioutr.com/en/apps/nimstrata-ai-search-and-recommendations-google-retail)

# Nimstrata: AI search and recommendations via Google Retail API

The Nimstrata app connects the storefront to the Google Retail API through Retail Connect: AI-powered search, category listings, search suggestions, recommendations and event tracking. It requires a Nimstrata project with a catalogue and the Shopify app in the same project.

## Before you start

<dl>

<dt>Plan</dt>
<dd>Laioutr Commerce (Growth or higher) and a Nimstrata account</dd>

<dt>Role</dt>
<dd>Developer role on the environment to save settings in Configuration</dd>

<dt>Duration</dt>
<dd>10 min</dd></dl>

### Prerequisites

- Nimstrata project with catalogue and serving configs
- Installed and configured Shopify app
- Categories and product IDs in Nimstrata match Shopify
- Consent banner, since the app sets a visitor cookie

Last reviewed on October 15, 2026

Provides AI-powered search, category listings, suggestions and recommendations from the Google Retail API via Nimstrata Retail Connect, and sends visitor events back so recommendations and personalisation can learn.

[Developer documentation](https://docs.laioutr.com/apps/app-docs/nimstrata)

## How it works

1. Set up project, catalogue and serving configsWhere: Nimstrata / Google Retail · Role: Developer · Duration: 60 min
2. Install and configure the Shopify appWhere: Cockpit, Apps and Configuration · Role: Developer · Duration: 15 min
3. Install the Nimstrata appWhere: Cockpit, Apps · Role: Developer · Duration: 2 min
4. Enter projectId and optional values, saveWhere: Cockpit, Configuration · Role: Developer · Duration: 5 min
5. Start a deploymentWhere: Cockpit, Deployments · Role: Developer · Duration: 5 min
6. Connect recommendation sections to templatesWhere: Studio · Role: Content manager · Duration: 15 min

## Configuration

| Field | Purpose | Where to find it | Required | Per environment |
| --- | --- | --- | --- | --- |
| `projectId` | Identifier of the Nimstrata project, used in all API calls and in the catalogue path. | Nimstrata account, project settings | Yes | Yes |
| `baseURL` | Address of the Nimstrata API. | Default https://storefront.retailconnect.app/v1; change only for a different address. | No | Yes |
| `catalogId` | Identifier of the catalogue in the project. | Default default\_catalog, otherwise from the Nimstrata project. | No | Yes |
| `serving` | Optional override of the serving configs for search (search), categories (byCategory) and recommendations (predict), including filter fields and sortings. | Serving configs from the Nimstrata or Google Retail project | No | Yes |

## Common errors

<dl>

<dt>Category pages stay empty.</dt>
<dd>**Cause:** The Shopify app is missing in the environment or the categories in Nimstrata do not match the Shopify collections.</dd>
<dd>**Fix:** Install and configure the Shopify app and align the categories in Nimstrata with the Shopify collections.</dd>

<dt>Recommendation sections show no products.</dt>
<dd>**Cause:** The selected serving config does not exist in the project, or no events have been recorded yet.</dd>
<dd>**Fix:** Create the serving config in Nimstrata or correct it in serving.predict, and generate events through the storefront.</dd>

<dt>Personalisation has no effect.</dt>
<dd>**Cause:** The cookie nimstrata-visitor-id is missing, for example because visitors did not consent.</dd>
<dd>**Fix:** Check the consent settings and test with consent given.</dd>

<dt>Changed settings have no effect.</dt>
<dd>**Cause:** The values are saved but not yet deployed.</dd>
<dd>**Fix:** Start a new deployment under Deployments.</dd></dl>

**Nimstrata** brings the Google Retail API into the storefront. The package `@laioutr-app/nimstrata` calls Nimstrata's Retail Connect API and provides AI-powered product search, product listings per category, search suggestions, recommendations and tracking of visitor events.

The app works together with the Shopify app: it translates category and product slugs into Shopify IDs, and Shopify supplies the full product data. For recommendations the app offers one template per serving config, such as "Home: on sale" or "Product page: others you may like". These templates appear when recommendation sections are connected.

Recommendations and personalisation learn from events. The storefront sends page views, product views, cart actions and purchases to Nimstrata. To attribute them, the app sets the cookie `nimstrata-visitor-id` for one year. The cookie therefore belongs in the consent banner and the privacy policy.

## Step by step

1. 1 ### Step 1: Prepare the Nimstrata project

   Set up project and catalogue in Nimstrata and create serving configs for search, categories and recommendations. Note the project ID.
2. 2 ### Step 2: Check the Shopify app

   Make sure the Shopify app is installed and configured in the same environment. Without Shopify, category and recommendation queries stay empty.
3. 3 ### Step 3: Install the app

   Open **Apps** in the project, find Nimstrata in the **Search** tab and select **Install**.
4. 4 ### Step 4: Enter the settings

   Open **Configuration** in the environment menu, select Nimstrata and enter `projectId`. Set `catalogId`, `baseURL` and `serving` only for different values, then select **Save settings**.
5. 5 ### Step 5: Start a deployment

   Start a new deployment with **Deploy** under **Deployments** so the settings take effect.
6. 6 ### Step 6: Connect recommendations

   In Studio, select a recommendation section on the home or product page and assign the matching Nimstrata template as its data source.

## Check the result

Search on the storefront, open a category and visit a product page: hits, category listing and recommendations show products with image and price. After consent, the browser holds the cookie `nimstrata-visitor-id`, and events arrive in Nimstrata.

## Frequently asked questions

How does the app differ from the AI Search & Discovery add-on?

The Nimstrata app connects the merchant's own Nimstrata project. AI Search & Discovery is a Laioutr add-on that provides search and merchandising as a package.

Does Nimstrata work without Shopify?

No. The app uses the Shopify app to resolve categories and products and to load product data.

Why are recommendations not very relevant at first?

The models learn from events. Recommendations become more precise once enough page views, product views and purchases have been recorded.

Which recommendation templates are available?

One template per serving config. Without custom values in `serving` the app's default templates apply; `serving.predict` defines custom ones.

## Related

- [Enter credentials and test the connection](https://academy.laioutr.com/en/artikel/enter-credentials-and-test-the-connection)5 min

  App credentials are entered per environment under Configuration, checked with Test connection and stored with Save settings. They take effect with the next deployment.
- [Set up search and the search results page](https://academy.laioutr.com/en/artikel/set-up-search-and-the-search-results-page)6 min

  Search consists of the search field with suggestions in the shop header and the search results page with search term, result count, filters and product grid. Suggestions and results come from the search or commerce app through Orchestr, so search quality depends on the connected search service.
- [Connect Shopify](https://academy.laioutr.com/en/apps/connect-shopify)10 min

  The Shopify app connects a Shopify store to Laioutr through the Storefront API, Customer Account API and Admin API. Products, collections, cart, menus, content and customer login come straight from Shopify.
- [Set up Cookiebot as consent banner](https://academy.laioutr.com/en/apps/set-up-cookiebot-consent-banner)7 min

  The Cookiebot app shows the Cookiebot banner in the storefront and reports the visitors' decision to the Laioutr consent store, which tracking, GTM and other apps follow. Only the Cookiebot domain group ID (CBID) is required.

## [Search and recommendations](https://academy.laioutr.com/en/leitfaeden/search-and-recommendations)

Search this guide

1. [Battery Included: connect search and recommendations](https://academy.laioutr.com/en/apps/battery-included-search-and-recommendations)8 min
2. [Nimstrata: AI search and recommendations via Google Retail API](https://academy.laioutr.com/en/apps/nimstrata-ai-search-and-recommendations-google-retail)10 min

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://academy.laioutr.com/#website",
      "@type": "WebSite",
      "inLanguage": "en",
      "name": "Default",
      "url": "https://academy.laioutr.com/",
      "translationOfWork": {
        "@id": "https://academy.laioutr.com/#website"
      }
    },
    {
      "@id": "https://academy.laioutr.com/en/apps/nimstrata-ai-search-and-recommendations-google-retail#webpage",
      "name": "Academy App",
      "url": "https://academy.laioutr.com/en/apps/nimstrata-ai-search-and-recommendations-google-retail",
      "@type": [
        "WebPage",
        "FAQPage"
      ],
      "breadcrumb": {
        "@id": "https://academy.laioutr.com/en/apps/nimstrata-ai-search-and-recommendations-google-retail#breadcrumb"
      },
      "isPartOf": {
        "@id": "https://academy.laioutr.com/#website"
      },
      "mainEntity": [
        {
          "@id": "https://academy.laioutr.com/en/apps/nimstrata-ai-search-and-recommendations-google-retail#/schema/question/1"
        },
        {
          "@id": "https://academy.laioutr.com/en/apps/nimstrata-ai-search-and-recommendations-google-retail#/schema/question/2"
        },
        {
          "@id": "https://academy.laioutr.com/en/apps/nimstrata-ai-search-and-recommendations-google-retail#/schema/question/3"
        },
        {
          "@id": "https://academy.laioutr.com/en/apps/nimstrata-ai-search-and-recommendations-google-retail#/schema/question/4"
        }
      ],
      "potentialAction": [
        {
          "@type": "ReadAction",
          "target": [
            "https://academy.laioutr.com/en/apps/nimstrata-ai-search-and-recommendations-google-retail"
          ]
        }
      ]
    },
    {
      "@id": "https://academy.laioutr.com/en/apps/nimstrata-ai-search-and-recommendations-google-retail#breadcrumb",
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "name": "Home",
          "item": "https://academy.laioutr.com/en",
          "position": 1
        },
        {
          "@type": "ListItem",
          "name": "Apps",
          "item": "https://academy.laioutr.com/en/bereiche/apps",
          "position": 2
        },
        {
          "@type": "ListItem",
          "name": "Search and recommendations",
          "item": "https://academy.laioutr.com/en/leitfaeden/search-and-recommendations",
          "position": 3
        },
        {
          "@type": "ListItem",
          "name": "Nimstrata: AI search and recommendations via Google Retail API",
          "item": "https://academy.laioutr.com/en/apps/nimstrata-ai-search-and-recommendations-google-retail",
          "position": 4
        }
      ]
    },
    {
      "@id": "https://academy.laioutr.com/en/apps/nimstrata-ai-search-and-recommendations-google-retail#/schema/question/1",
      "@type": "Question",
      "inLanguage": "en",
      "name": "How does the app differ from the AI Search & Discovery add-on?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "<p>The Nimstrata app connects the merchant's own Nimstrata project. AI Search &amp; Discovery is a Laioutr add-on that provides search and merchandising as a package.</p>"
      }
    },
    {
      "@id": "https://academy.laioutr.com/en/apps/nimstrata-ai-search-and-recommendations-google-retail#/schema/question/2",
      "@type": "Question",
      "inLanguage": "en",
      "name": "Does Nimstrata work without Shopify?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "<p>No. The app uses the Shopify app to resolve categories and products and to load product data.</p>"
      }
    },
    {
      "@id": "https://academy.laioutr.com/en/apps/nimstrata-ai-search-and-recommendations-google-retail#/schema/question/3",
      "@type": "Question",
      "inLanguage": "en",
      "name": "Why are recommendations not very relevant at first?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "<p>The models learn from events. Recommendations become more precise once enough page views, product views and purchases have been recorded.</p>"
      }
    },
    {
      "@id": "https://academy.laioutr.com/en/apps/nimstrata-ai-search-and-recommendations-google-retail#/schema/question/4",
      "@type": "Question",
      "inLanguage": "en",
      "name": "Which recommendation templates are available?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "<p>One template per serving config. Without custom values in <code>serving</code> the app's default templates apply; <code>serving.predict</code> defines custom ones.</p>"
      }
    }
  ]
}
```
