Navigation

Integration Overview

Luigi's Box is a product discovery suite that relies on a feedback loop between your catalog data and user behavior.

To integrate successfully, you must connect three distinct systems:

  1. Analytics: Send us user behavior signals (Clicks, Purchases).
  2. Data Sync: Send us your product data (Catalog).
  3. Service Integration: Display our results (Search, Recommendations) to your users.

1. Analytics

The foundation of intelligent discovery.

We recommend implementing Analytics first. Even though your catalog might not be synced yet, starting analytics immediately allows the system to buffer user behavior data.

Important Critical Prerequisite: You must decide on your Object Identity now. If you plan to use SKUs in your product feed later, you must send those same SKUs in your analytics events now. The system will retrospectively link this data once the catalog is synced.

This is the ideal approach for most stores. It captures events you are likely already pushing to the dataLayer for Google Analytics (GA4).

Option B: Events API

Designed for mobile apps or custom websites that want to avoid 3rd-party scripts.

Option C: Managed Integration

If you lack a development team, Luigi's Box can hook into your existing HTML structure.

  • Pros: Zero dev effort.
  • Cons: Brittle. Breaks if you redesign your HTML.
  • Contact support for this option.

2. Data Synchronization

Keep your product catalog up to date.

You need to choose a method to keep your database in sync with Luigi's Box.

flowchart LR subgraph Sources [Your Store] A[Supported Platform
Shopify, Shoptet...] B[Custom Backend] C[Legacy System] end subgraph LB [Luigi's Box Index] D[(Catalog)] end A -->|Platform Connector| D B -->|Content Updates API| D C -->|XML Feed Pull| D style D fill:#bbf,stroke:#333

Option A: Platform Connectors (Best for supported platforms)

If you run on a supported platform, use our native plugin. This is the most reliable method.

Supported: Shopify, Shoptet, Shopware, Commercetools, WooCommerce, Prestashop, Contentspeed, BSShop, Creativesites, WPJ.

Option B: Content Updates API (Real-time)

Push data changes to our servers immediately as they happen in your backend.

Option C: XML/JSON Feeds

We periodically download and process a static file from your server.

  • Pros: Easy to implement (just generate a file).
  • Cons: Slow. Updates only appear after the next scheduled fetch (e.g., every 3 hours).
  • Read the Feeds Guide

3. Service Integration

Displaying results to the customer.

You can integrate our services on the Frontend (Browser) or Backend (Server).

flowchart TD subgraph FE [Frontend Integration] User1[User] <-->|JS Library| LB1(Luigi's Box API) end subgraph BE [Backend Integration] User2[User] <-->|HTML| Server[Your Server] Server <-->|API Call| LB2(Luigi's Box API) end style FE fill:#e6f3ff,stroke:#333 style BE fill:#fff0e6,stroke:#333

Backend Integration

You call the Luigi's Box API from your server and render the HTML yourself.

  • Best for: Search Results, Product Listings (Categories).
  • Why: Keeps your URL structure and SEO control entirely on your side. Allows complex B2B pricing logic before rendering.

Frontend Integration

You use our JavaScript libraries (Autocomplete.js, Search.js) to render results in the browser.

  • Best for: Autocomplete, Recommendations.
  • Why: Extremely fast implementation. Visuals are handled by the library, and we can deploy new features remotely.

Summary of Recommendations

For a typical e-commerce store, we recommend the following "Hybrid" setup:

Service Recommended Integration Why?
Analytics Frontend Use the DataLayer collector to leverage your existing GA events.
Autocomplete Frontend Use autocomplete.js for a fast, beautiful overlay that requires minimal coding.
Search Backend Ensures the search results page (SERP) looks exactly like the rest of your site and retains SEO benefits.
Listings Backend Same as Search—ensures consistency for category and brand pages.
Recommenders Frontend Flexible placement anywhere on the site without impacting server performance.