Crossroads ¶
Luigi's Box is a product discovery suite for e-commerce. This section will help you understand the full scope of the integration and help you choose the best way to integrate for your use case.
For successful integration, you need to integrate several different processes. We list the most used options for each process here and discuss its pros and cons. We are available at support@luigisbox.com if you need a consultation or feel that you have a special use case that is not covered here.
Analytics
Search analytics is the foundation of a successful integration. It provides data for the AI for all services (autocomplete, search, recommender) and on the other hand lets you see the impact that Luigi's Box has on your e-commerce store monetary performance. Analytics should be the first thing you integrate even before you start to integrate the actual product discovery services.
JSON+LD ¶
Recommended for robustness
By generating a simple descriptive standard JSON you will let Luigi's Box and other services understand the content on your website. In this JSON you will describe the search and/or recommendation results that your users see on the web.
You can find more details in its separate documentation here: JSON+LD Analytics
- Easy and fast to implement (based on the feedback from hundreds of customers
- Information about search/recommendation are contained within a single logical structure that you can generate alongside the user-visible UI
- The generated JSON is resilient to changes in HTML and CSS. You can change the visuals and design and data collection will work reliably.
- You have to include a tracking script weighting around 18kB.
- JSON+LD can only be used for web tracking (no mobile apps).
Events API ¶
For mobile and demanding web apps
The Events API is designed for more advanced use-cases such as mobile apps or for demanding websites which do not want to pull 3rd party script dependencies.
You can find more details in its separate documentation here: Events API
- Absolute control and customisation over what is being tracked.
- You depend on no 3rd party script, there's no extra weight added to your website or mobile app.
- Works for websites and mobile apps.
- Works reliably even after major redesigns and web/app changes.
- Usually requires more development than using JSON+LD.
Analytics implemented by Luigi's Box team ¶
For smaller businesses
For less demanding customers, or for customers without a dedicated development team, Luigi's Box team can implement the analytics tracking completely on our side, without any development effort on your side.
If you are interested in this option, contact us on support@luigisbox.com. The integration is usually done for free.
- Absolutely no development required on your side.
- Fast, you can start seeing results in analytics after 2 business days.
- Depends on the specific HTML structure, it can and will break after redesigns.
- You have to include a tracking script weighting around 30kB.
Data synchronization
Luigi’s Box needs to have up-to-date data about products, categories, brands and (optionally) articles. You can use feeds or API to synchronize the data. To help you decide, here are the main differences.
Content Updates API ¶
For real-time data synchronization
You will be pushing data to our servers. There is practically no delay in data synchronization. The communication is efficient, you are only sending updates to products when they change, there is a lot less data transfer between our systems.
Integrating via the API will probably take much more time on your side than generating the feeds. You’ll have to identify all the codepaths that trigger product change and react to them by updating the product in Luigi’s Box via API.
You can find more details in its separate documentation here: Content Updates API
- Real-time synchronization.
- Requires non-trivial development on your side.
Feeds ¶
For smaller businesses without dev team
We will periodically pull data from your servers: we will download a file (XML or JSON) and make its contents searchable. If there is a change to the product, we will not know about it until the feed is processed next time.
We can schedule feed processing at arbitrary intervals: most of our clients use 3 hours intervals, we have some clients where we process the feeds every 30 minutes. More frequent processing = higher costs on our side = higher price for the client. Exact pricing depends on the volume of the data, but for reference, for an average client, the extra price for processing every 30 minutes will be 50-100€
Keep in mind that it’s you who have to generate the feeds. If you ask for 30m processing, you will have to regenerate the feeds every 30 minutes and probably incur a higher cost on your side.
You can find more details in its separate documentation here: Feeds
- Relatively easy and fast to implement.
- Slow data synchronization, can lead to incorrect product data displayed in search.
Autocomplete
Luigi's Box widget ¶
Recommended
Easiest and most performant integration, where you simply configure the provided JavaScript widget.
You can find more details in its separate documentation here: Autocomplete widget
- Users get a visually appealing, fast, and mobile-optimized autocomplete layout.
- It requires (relatively straightforward) development on your side, but we can provide starter configuration.
- It can be tricky to integrate different product pricing levels.
Backend integration ¶
For rare use-cases
You can find more details in its separate documentation here: Autocomplete API
- If you have existing autocomplete/suggester, you can swap the API call on your backend.
- Since your backend has access to the database and currently signed in user, you can load correct product pricing, in case of different pricing levels.
- Autocomplete must be fast to serve its purpose. Proxying Luigi’s Box API calls via your backend adds extra latency.
- There’s no visual change to existing autocomplete box. Most of our clients want the existing autocomplete box to change and they usually want one of our existing layouts.
Frontend integration via your custom widget ¶
For demanding web apps
You can find more details in its separate documentation here: Autocomplete API
- You have full control but take no performance hit, since you are interacting with Luigi's Box API from the frontend directly.
- The development is not trivial.
Implemented by Luigi's Box team ¶
For smaller businesses without dev team
- There’s no development required on your side.
- We provide upgrades of the service. If there’s a new feature released which requires updates to the integration, we can just turn this feature on.
- There’s no control from your side. If you want to change anything, you have to contact our support.
- You have to coordinate HTML and CSS updates with us, otherwise the design and functionality will break.
Search & Recommender
Luigi's Box Libraries ¶
Recommended
You use Luigi's Box libraries - search.js and recco.js where you provide configuration and custom HTML templates.
- This method is relatively easy to implement. The libraries are designed for rapid development, integrate directly with Luigi's Box APIs and support the latest API features.
- We provide help and support, should you need it.
- Most of the advanced features that would have required development time are simply configurable.
- It requires (relatively straightforward) development on your side, but we can provide starter configuration.
- The libraries are written in vue.js and may not play nicely with web apps written in React.
Backend integration ¶
For demanding web and mobile apps
You will use Luigi’s Box API directly. You pass the API the user’s query + filters, or the recommendation context and get back the IDs of the products. You will then load the product information using the IDs from your database, take the filtering information from the API and render the search results page or recommender boxes.
You can find more details in its separate documentation here: Search API, Recommender API
- This method is relatively easy to implement. Nothing major in your rendering has to change, you are still working with the data structure as you have it stored in your database. You only change the API call to Luigi’s Box API and update the filters rendering.
- Nothing changes for the existing search results page visually. You benefit from the improved search and ranking and from the searchandizing features. There’s no visual change in the search results page.
- Once you integrate the search results page rendering, you can use the same code to render category listings and get additional source of revenue.
- This integration allows you to handle different product pricing levels. Since you are loading the data from your database and you know which user is signed in, you can render the correct product pricing. You don’t have to send different product prices via feeds or API to Luigi’s Box. Luigi’s Box doesn’t even have to know about different prices.
- If we release a new feature which requires updates to the API calls, you have to take care of the implementation (if you want to have access to this new feature).
Implemented by Luigi's Box team ¶
For smaller businesses without dev team
- There’s no development required on your side.
- We provide upgrades of the service. If there’s a new feature released which requires updates to the integration, we can just turn this feature on.
- There’s no control from your side. If you want to change anything, you have to contact our support.
- You have to coordinate HTML and CSS updates with us, otherwise the design and functionality will break.