Navigation
ℹ️

Infrastructure Update

Luigi's Box is updating its primary domain recommendations.

Our services are fully operational across both .com and .tech domains. To ensure the highest level of redundancy, we now recommend using the .tech domain for all integrations.

1. API Base URLs

Please update the base URLs for your specific services:

A. Search, Autocomplete, Product Listing, and Recommendations
SUPPORTED https://live.luigisbox.com
RECOMMENDED https://live.luigisbox.tech
B. Analytics
SUPPORTED https://api.luigisbox.com
RECOMMENDED https://api.luigisbox.tech

2. Frontend Script

Both script sources are valid, but we encourage updating to the .tech domain for consistency:

Supported
<script async src="https://scripts.luigisbox.com/LBX-123.js"></script>
Recommended
<script async src="https://scripts.luigisbox.tech/LBX-123.js"></script>

3. CSP & Firewalls

To support the recommended configuration, please ensure your Content Security Policy (CSP) includes the following:

script-src https://scripts.luigisbox.tech;
connect-src https://live.luigisbox.tech https://api.luigisbox.tech;

Support: support@luigisbox.net UPDATED: 01/07/2026

Recommender wrappers

You are reading about requirements for the integration done by the Luigi's Box team. You can safely skip this part of the documentation if you are integrating yourself using either API or Luigi's Box frontend libraries.

Recommenders will occupy a space on your website which must be prepared upfront. This space is denoted by wrappers - a specifically designated HTML elements in your website structure, which are just placeholders, waiting to be replaced by the real content generated by the recommenders.

These wrappers/placeholders are necessary to maintain a good user experience and avoid shifting contents of the website down, as new content generated by the recommenders appear. It is technically possible to integrate the recommenders even without wrappers, but this leads to "layout shifts". As the recommenders fill the space, the contents of the page move down. These shifts will worsen your Cumulative Layout Shift metric, which is part of Core Web Vitals and impacts your SEO score.

When the placeholders are present on the web, there are no layout shifts, becase the recommenders simply fill in the space previously occupied by the placeholders.

See the video below for a more detailed explanation.

Placeholders

To avoid the negative effects of layout shifts, we will ask you to create the wrapper elements for every recommender that we will be integrating.

The wrappers will be very simple, they will usually require adding a snippet of HTML code and respective CSS rules which indicate that the recommenders are loading.

<div id="lbx-recommender-homepage"></div>

Every wrapper must have a unique id which we can target. It is very important that every wrapper fills in the intended space and has a height set up. See the CSS below for an example.

#lbx-recommender-homepage {
  height: 200px;
}

The element below demonstrates the placeholder with the loading state. The loading state would disappear once the Luigi's Box recommender initializes and takes over.

You can build more complex wrappers by providing a loading state, see the example below for inspiration.

<div class="recommender-loading" id="lbx-recommender-homepage">
 <div class="spinner"></div>
</div>

And the respective CSS.

#lbx-recommender-homepage {
  height: 200px;
}
.recommender-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #bbb;
  background: #eee;
}
.spinner {
  display: inline-block;
  width: 80px;
  height: 80px;
}
.spinner:after {
  content: " ";
  display: block;
  width: 64px;
  height: 64px;
  margin: 8px;
  border-radius: 50%;
  border: 6px solid #fff;
  border-color: #000 transparent #000 transparent;
  animation: spinner 2.2s linear infinite;
}
@keyframes spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

Placeholder: